You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw-tes3mp/components/misc
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%.
4 years ago
..
algorithm.hpp Use stable sort+unique to collect RefIDs for ESMStore records counting 4 years ago
barrier.hpp Do not store callback inside Misc::Barrier 4 years ago
budgetmeasurement.hpp Prevent physics death spiral by falling back to true delta time when needed 4 years ago
constants.hpp create constant and use constant in other parts of the code base 4 years ago
convert.hpp Add pathgrid to navmesh as off mesh connection 5 years ago
coordinateconverter.hpp Add pathgrid to navmesh as off mesh connection 5 years ago
endianness.hpp Add unit test for swapEndiannessInplace(). Part of Bug #5837 4 years ago
frameratelimiter.hpp Clean up MSVC warnings 4 years ago
guarded.hpp Wait until navmesh is generated for interior cells 4 years ago
hash.hpp clear up force shaders and make it less convoluted 4 years ago
helpviewer.cpp Add link to opencs documentation on readthedocs, available through 5 years ago
helpviewer.hpp Add link to opencs documentation on readthedocs, available through 5 years ago
mathutil.hpp Merge branch 'movement_refactoring' into 'master' 4 years ago
messageformatparser.cpp Implement 'g' flag 6 years ago
messageformatparser.hpp Implement 'g' flag 6 years ago
objectpool.hpp Use RAII for object ptr from pool 5 years ago
resourcehelpers.cpp Revert "Don't force DDS file usage (fixes #1392)" 7 years ago
resourcehelpers.hpp Add back resource handling workarounds to the gui code 10 years ago
rng.cpp Apply uniform random deviation to AI reaction timer 4 years ago
rng.hpp Apply uniform random deviation to AI reaction timer 4 years ago
stringops.hpp An attempt to fix the MSVC2017 build 5 years ago
thread.cpp Re-add dropped struct keyword to fix build. 4 years ago
thread.hpp Set idle priority for navmesh generation thread 4 years ago
timer.hpp Apply uniform random deviation to AI reaction timer 4 years ago
utf8stream.hpp Use utf8 lowercase function for journal index to avoid code duplication 7 years ago
weakcache.hpp Move WeakCache to components/misc 6 years ago