minetest/src
sfan5 128ed87dd8 Reorder members of MapBlock for performance
Before and after as obtained via `pahole -C MapBlock bin/minetest`:
/* size: 336, cachelines: 6, members: 23 */
/* sum members: 329, holes: 4, sum holes: 7 */
vs.
/* size: 336, cachelines: 6, members: 23 */
/* sum members: 329, holes: 2, sum holes: 7 */

There is not much to be gained by packing but I made sure
to move the most important data (mainly for the client) into
the first cache line.
2023-12-16 12:51:42 +01:00
..
benchmark Elide MapBlock::contents_cached 2023-12-16 12:51:42 +01:00
client Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
content Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
database Replace PP with direct printing 2023-06-26 22:51:32 +02:00
gui Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
irrlicht_changes Replace all core::unicode::ustring with std::u32string (#13775) 2023-10-02 13:43:38 +02:00
mapgen Skip liquid updates in MapgenSinglenode if not applicable 2023-08-14 18:16:36 +02:00
network Allow setting custom third person front view camera offset (#13686) 2023-10-02 13:44:03 +02:00
script Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
server Remove usage of removed "PP" macro 2023-12-15 10:28:07 +01:00
threading Use MutexAutoLock for Thread::m_start_finished_mutex 2023-06-15 10:38:44 +02:00
unittest Inventory: prevent item loss when stacking oversized ItemStacks (#14072) 2023-12-15 10:24:04 +01:00
util Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
activeobject.h
activeobjectmgr.h ActiveObjectMgr fixes (#13560) 2023-10-09 17:13:04 +02:00
ban.cpp Add unittests on ActiveObject and BanManager class (#6866) 2018-01-01 18:48:52 +01:00
ban.h
chat_interface.h C++ modernize: Pragma once (#6264) 2017-08-17 22:19:39 +02:00
chat.cpp CSM: Fix duplicate player names (#13910) 2023-10-22 15:31:29 +02:00
chat.h CSM: Fix duplicate player names (#13910) 2023-10-22 15:31:29 +02:00
chatmessage.h
clientdynamicinfo.h Fix max_formspec_size not taking gui_scaling into account (#13493) 2023-07-07 21:42:43 +02:00
clientiface.cpp Improve readability and infos in verbose log (#13828) 2023-09-22 18:41:10 +02:00
clientiface.h Reduce server CPU consumed by occlusion culling. (#13260) 2023-03-05 21:33:41 -08:00
cmake_config_githash.h.in
cmake_config.h.in Use json forward-declarations 2023-04-27 18:50:33 +02:00
CMakeLists.txt Move unsupported language list into a separate file (#13865) 2023-10-05 17:29:02 +02:00
collision.cpp Avoid movement jitter (#13093) 2023-12-10 19:12:37 +01:00
collision.h
config.h Android build via CMake (#13528) 2023-05-26 15:21:23 +02:00
constants.h Avoid movement jitter (#13093) 2023-12-10 19:12:37 +01:00
content_mapnode.cpp
content_mapnode.h C++ modernize: Pragma once (#6264) 2017-08-17 22:19:39 +02:00
content_nodemeta.cpp (se)SerializeString: Include max length in the name 2020-10-01 09:52:59 +02:00
content_nodemeta.h
convert_json.cpp Use json forward-declarations 2023-04-27 18:50:33 +02:00
convert_json.h Use json forward-declarations 2023-04-27 18:50:33 +02:00
craftdef.cpp
craftdef.h Throw Hocroft-Karp onto shapeless recipes 2023-04-14 21:10:09 +02:00
daynightratio.h Make natural night light as bright as MT 0.4.16 (#9053) 2019-10-18 21:54:44 +01:00
debug.cpp Show better description to users when std::bad_alloc happens 2023-09-13 13:58:59 +02:00
debug.h Show better description to users when std::bad_alloc happens 2023-09-13 13:58:59 +02:00
defaultsettings.cpp Add sound volume when unfocused setting (#14083) 2023-12-10 19:11:39 +01:00
defaultsettings.h
dummygamedef.h
dummymap.h Add lighting test and benchmark (#12802) 2022-09-26 06:49:08 -04:00
emerge.cpp Replace PP with direct printing 2023-06-26 22:51:32 +02:00
emerge.h
environment.cpp Reduce exposure of various internals (#12885) 2022-11-03 17:35:31 +01:00
environment.h
exceptions.h
face_position_cache.cpp
face_position_cache.h C++ modernize: Pragma once (#6264) 2017-08-17 22:19:39 +02:00
filesys.cpp Try to fix safeWriteToFile producing empty files on Windows (#14085) 2023-12-13 13:15:37 +01:00
filesys.h Use nicer syntax for nested namespace definitions 2023-06-15 10:38:44 +02:00
gamedef.h Use nicer syntax for nested namespace definitions 2023-06-15 10:38:44 +02:00
gameparams.h
gettext.cpp Auto-detect locale on Android (#13561) 2023-06-05 12:02:10 +02:00
gettext.h
gettime.h
httpfetch.cpp Log timeout when a httpfetch times out 2023-10-05 17:29:49 +02:00
httpfetch.h Enforce minimum for curl(_file_download)_timeout 2023-10-05 17:29:49 +02:00
hud.cpp
hud.h Add chat HUD flag (#13189) 2023-02-20 21:00:37 +01:00
inventory.cpp Inventory: prevent item loss when stacking oversized ItemStacks (#14072) 2023-12-15 10:24:04 +01:00
inventory.h Inventory mouse shortcut improvements (#13146) 2023-06-05 12:00:32 +02:00
inventorymanager.cpp Inventory: Fix deleted inventory being used for regaining locked lists 2023-10-27 18:47:07 +02:00
inventorymanager.h Convert spaces to tabs (#13506) 2023-05-26 15:13:57 +02:00
irr_aabb3d.h
irr_ptr.h Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
irr_v2d.h
irr_v3d.h
irrlichttypes_bloated.h
irrlichttypes_extrabloated.h Use true pitch/yaw/roll rotations without loss of precision by pgimeno (#8019) 2019-02-07 21:26:06 +00:00
irrlichttypes.h Remove dead code behind Irrlicht version checks 2023-02-18 16:46:51 +01:00
itemdef.cpp Improve readability and infos in verbose log (#13828) 2023-09-22 18:41:10 +02:00
itemdef.h Allow place_param2 = 0 node placement predictions (#13787) 2023-09-13 13:57:57 +02:00
itemgroup.h
itemstackmetadata.cpp
itemstackmetadata.h Avoid duplication of mod metadata in memory (#12562) 2022-09-26 17:03:43 -04:00
json-forwards.h Use json forward-declarations 2023-04-27 18:50:33 +02:00
light.cpp Fix light overflow of u8 if light is saturated at 255 (#10305) 2020-08-23 15:39:55 +02:00
light.h
lighting.cpp Convert spaces to tabs (#13506) 2023-05-26 15:13:57 +02:00
lighting.h Convert spaces to tabs (#13506) 2023-05-26 15:13:57 +02:00
log.cpp Replace the old STATIC_ASSERT macro with static_assert 2023-06-15 10:38:44 +02:00
log.h
main.cpp Get rid of parent pointer in MapBlock 2023-12-16 12:51:42 +01:00
map_settings_manager.cpp Minor script api fixes/cleanups 2023-06-23 09:05:26 +02:00
map_settings_manager.h Minor script api fixes/cleanups 2023-06-23 09:05:26 +02:00
map.cpp Get rid of parent pointer in MapBlock 2023-12-16 12:51:42 +01:00
map.h Move implementations of some LuaVoxelManip functions to l_mapgen 2023-08-14 18:16:36 +02:00
mapblock.cpp Get rid of parent pointer in MapBlock 2023-12-16 12:51:42 +01:00
mapblock.h Reorder members of MapBlock for performance 2023-12-16 12:51:42 +01:00
mapnode.cpp Fix crash on handling wallmounted nodes with invalid param2 (#13487) 2023-05-18 20:31:04 +02:00
mapnode.h Embed data directly in mapblocks 2022-10-09 13:43:48 -04:00
mapsector.cpp Get rid of parent pointer in MapBlock 2023-12-16 12:51:42 +01:00
mapsector.h Use unique_ptrs for MapSector::m_blocks 2023-06-05 20:43:33 +02:00
metadata.cpp
metadata.h
modchannels.cpp Move the codebase to C++14 2022-02-26 14:39:41 +01:00
modchannels.h Add session_t typedef + remove unused functions (#6470) 2017-09-27 19:47:36 +02:00
modifiedstate.h Reduce size of some MapBlock members 2023-12-16 12:51:42 +01:00
mtevent.h
nameidmapping.cpp (se)SerializeString: Include max length in the name 2020-10-01 09:52:59 +02:00
nameidmapping.h
nodedef.cpp Remove use_texture_alpha compatibility code for nodeboxes & meshes (#13929) 2023-12-13 13:15:59 +01:00
nodedef.h Remove use_texture_alpha compatibility code for nodeboxes & meshes (#13929) 2023-12-13 13:15:59 +01:00
nodemetadata.cpp Inventory: Don't throw resize lock exception in destructor (#13894) 2023-10-22 15:30:11 +02:00
nodemetadata.h Avoid duplication of mod metadata in memory (#12562) 2022-09-26 17:03:43 -04:00
nodetimer.cpp Code modernization: src/n*, src/o* (#6280) 2017-08-19 11:30:46 +02:00
nodetimer.h Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
noise.cpp Inline triLinearInterpolationNoEase and triLinearInterpolation (#12421) 2022-06-11 20:01:30 +02:00
noise.h
objdef.cpp Allow ObjDefManager instances to be cloned 2020-05-05 19:26:59 +02:00
objdef.h
object_properties.cpp Replace PP with direct printing 2023-06-26 22:51:32 +02:00
object_properties.h Replace Optional with std::optional 2023-06-15 10:38:44 +02:00
particles.cpp Particle spawner: Move definitions to source 2023-04-08 17:23:17 +02:00
particles.h Replace PP with direct printing 2023-06-26 22:51:32 +02:00
pathfinder.cpp Replace PP with direct printing 2023-06-26 22:51:32 +02:00
pathfinder.h
player.cpp
player.h Allow setting custom third person front view camera offset (#13686) 2023-10-02 13:44:03 +02:00
porting_android.cpp Auto-detect locale on Android (#13561) 2023-06-05 12:02:10 +02:00
porting_android.h Auto-detect locale on Android (#13561) 2023-06-05 12:02:10 +02:00
porting.cpp Fix Windows architecture reporting in sysinfo 2023-12-15 10:23:52 +01:00
porting.h Improve clock_gettime usage 2023-12-15 10:23:19 +01:00
profiler.cpp Add MAX profiler option 2023-04-14 00:09:48 +01:00
profiler.h Add MAX profiler option 2023-04-14 00:09:48 +01:00
raycast.cpp Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
raycast.h
reflowscan.cpp
reflowscan.h Node definition manager refactor (#7016) 2018-02-10 21:04:16 +01:00
remoteplayer.cpp Fix consistency of sky sun/moon texture behaviour 2022-01-22 11:18:34 -05:00
remoteplayer.h
rollback_interface.cpp Replace PP with direct printing 2023-06-26 22:51:32 +02:00
rollback_interface.h
rollback.cpp
rollback.h
serialization.cpp Convert spaces to tabs (#13506) 2023-05-26 15:13:57 +02:00
serialization.h Switch MapBlock compression to zstd (#10788) 2021-08-31 17:32:31 -07:00
server.cpp Avoid movement jitter (#13093) 2023-12-10 19:12:37 +01:00
server.h Server: avoid re-use of recent ParticleSpawner and Sound IDs (#14045) 2023-11-29 21:10:19 +01:00
serverenvironment.cpp Elide MapBlock::contents_cached 2023-12-16 12:51:42 +01:00
serverenvironment.h Server: avoid re-use of recent ParticleSpawner and Sound IDs (#14045) 2023-11-29 21:10:19 +01:00
serverlist.cpp Print announce error response (#11878) 2022-01-01 22:44:56 +01:00
serverlist.h Use json forward-declarations 2023-04-27 18:50:33 +02:00
settings_translation_file.cpp Update from builtin/settingtypes.txt 2023-12-03 18:47:50 +01:00
settings.cpp Add ability to override item images using meta (#12614) 2023-04-17 19:44:41 +01:00
settings.h
skyparams.h Allow the server to control fog_distance and fog_start via the sky-api (#13448) 2023-06-30 19:11:17 -07:00
sound.h Sound refactor and improvements (#12764) 2023-06-16 20:15:21 +02:00
staticobject.cpp
staticobject.h Reduce exposure of various internals (#12885) 2022-11-03 17:35:31 +01:00
terminal_chat_console.cpp CSM: Fix duplicate player names (#13910) 2023-10-22 15:31:29 +02:00
terminal_chat_console.h CSM: Fix duplicate player names (#13910) 2023-10-22 15:31:29 +02:00
texture_override.cpp Remove trailing whitespace (#13505) 2023-05-18 20:34:18 +02:00
texture_override.h Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
tileanimation.cpp
tileanimation.h Allow looped animation to be used safely with old clients 2022-09-10 12:21:29 +02:00
tool.cpp Use json forward-declarations 2023-04-27 18:50:33 +02:00
tool.h Use json forward-declarations 2023-04-27 18:50:33 +02:00
translation.cpp Update my name 2022-06-16 21:38:32 +02:00
translation.h
unsupported_language_list.txt Move unsupported language list into a separate file (#13865) 2023-10-05 17:29:02 +02:00
version.cpp Android build via CMake (#13528) 2023-05-26 15:21:23 +02:00
version.h
voxel.cpp Optimize lighting calculation (#12797) 2022-10-09 10:50:26 -04:00
voxel.h Replace PP with direct printing 2023-06-26 22:51:32 +02:00
voxelalgorithms.cpp Handle blit_back_with_light with empty area 2023-07-13 20:42:39 +02:00
voxelalgorithms.h