1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-28 18:45:33 +00:00
openmw-tes3mp/apps/openmw
elsid 1e2aae8095
Use stable sort+unique to collect RefIDs for ESMStore records counting
The idea is to avoid std::map lookup for each CellRef. Instead generate a
sequence of added and removed RefNums into a vector then order them by RefNum
using a stable sort that preserves relative order of elements with the same
RefNum. RefIDs are stored in a different vector to avoid std::string move ctor
calls when swapping elements while sorting. Reversed iteration over added and
removed RefNums for each unique RefNum is an equivalent to what map-based
algorithm produces. The main benefit from sorting a vector is a data locality
that means less cache misses for each access. Reduces ESMStore::countRecords
perf cycles by 25%.
2021-05-15 18:45:22 +02:00
..
mwbase Tone down actor's skip simulation flag to an optional skip collision 2021-05-01 14:22:30 +02:00
mwclass Trim down some internal includes 2021-04-30 19:39:26 +02:00
mwdialogue Trim down some internal includes 2021-04-30 19:39:26 +02:00
mwgui Fixing performance-faster-string-find issues 2021-05-10 22:44:07 -05:00
mwinput Trim even more 2021-04-30 20:11:41 +02:00
mwmechanics Disable shield animation when we launch a torch one (bug #6043) 2021-05-15 11:31:08 +04:00
mwphysics Merge branch 'barrier' into 'master' 2021-05-07 22:21:44 +00:00
mwrender Convert to lower case only when needed 2021-05-15 18:45:21 +02:00
mwscript Merge branch 'internal_includes_openmw' into 'master' 2021-05-07 10:53:25 +00:00
mwsound Fix MSVC's C4244 warnings 2021-05-12 10:34:40 +04:00
mwstate And done! 2021-04-30 20:49:22 +02:00
mwworld Use stable sort+unique to collect RefIDs for ESMStore records counting 2021-05-15 18:45:22 +02:00
android_main.cpp android: Switch to C++ 2019-04-28 18:21:31 -04:00
CMakeLists.txt Fix linking with -DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON 2021-03-06 21:17:52 +00:00
doc.hpp
engine.cpp Code review cleanup, add setting documentation 2021-04-13 11:09:35 -07:00
engine.hpp Remove unused forward declarations 2021-04-11 14:46:51 +02:00
main.cpp Implement instanced groundcover 2021-01-26 22:29:41 +04:00