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.
o3de/Code/Framework/AzCore/Tests
AMZN-koppersr 389f29f0e7 Performance improvement for fixed_vector
AZStd::fixed_vector had all its functions marked with constexpr, but this requires all member variables to be fully initialized. This meant that the internal array used to store elements always has to be fully initialized. This was done for trivial classes but not for non-trivial classes. As a result trivial classes always did a memset (or more optimized versions for smaller buffers) while the non-trivial version couldn't actually be stored in a constexpr variable. Since AZStd::fixed_vector is meant to be dynamic the choice was made to remove the constexpr from all non-static member functions in favor of avoiding the overhead of memset, which profiling showed was a considerable overhead depending on the reserved size. If a truly constexpr array is needed than AZStd::array is a better choice as that's designed to not by dynamic.

Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
4 years ago
..
AZStd Performance improvement for fixed_vector 4 years ago
AZTestShared Code/Framework fixes 4 years ago
Asset [SPEC-7644] ParallelDeepAssetReferences is failing intermittently (#5721) 4 years ago
Console Fixes debug console autocomplete issues (#4223) 4 years ago
Debug Remove old "Integ" functionality from tests (#4688) 4 years ago
EBus Removal and Replacement of the CryTimer (gEnv->pTimer) (#5409) 4 years ago
IO Update the FileIO Aliases (#4186) 4 years ago
Math Remove the legacy ViewSystem and some other tangentially related legacy code. (#5558) 4 years ago
Memory Changes GTEST_OS_SUPPORTS_DEATH_TEST to the right define which is GTEST_HAS_DEATH_TEST 4 years ago
Name Implemented C++23 deleted nullptr_t constructor/assignment for AZStd string classes (#4158) 4 years ago
Platform Remove old "Integ" functionality from tests (#4688) 4 years ago
RTTI Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Serialization/Json Support for importing Json files (#4609) 4 years ago
Settings Added anchor key parameter to the SettingsRegistry MergeSettings (#4650) 4 years ago
Streamer Modernization + AZStd::function compare fix. (#3680) 4 years ago
Time Removal and Replacement of the CryTimer (gEnv->pTimer) (#5409) 4 years ago
AssetJsonSerializerTests.cpp {lyn7283} added test for assetHint Json Serialzier callback logic (#4586) 4 years ago
AssetManager.cpp Cleanup SerializeContext.h pt.1 (#4264) 4 years ago
AssetSerializerTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
AzEnumTest.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
BehaviorContext.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
BehaviorContextFixture.h [LYN-8041] Enable relocation of the Project Game Release Layout (#5380) 4 years ago
Components.cpp [LYN-8041] Enable relocation of the Project Game Release Layout (#5380) 4 years ago
DLL.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
DLLMainTest.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Debug.cpp Removal and Replacement of the CryTimer (gEnv->pTimer) (#5409) 4 years ago
EBus.cpp Added a ThreadDispatch Policy to the EBus code (#4405) 4 years ago
EntityIdTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
EntityTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
EnumTests.cpp more fixes for Code 4 years ago
EventTests.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
FileIOBaseTestTypes.h Update the FileIO Aliases (#4186) 4 years ago
FixedWidthIntegers.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
GenericStreamMock.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
GenericStreamTests.cpp more fixes for Code 4 years ago
Geometry2DUtils.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
IPC.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Interface.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
IntersectPoint.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
JSON.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Jobs.cpp Fixes AzCore for MSVC 4 years ago
Main.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Memory.cpp Archive Component - Rewrite and additional work on Archive and Asset Bundler (#4332) 4 years ago
Module.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
ModuleTestBus.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
OrderedEventBenchmarks.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
OrderedEventTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Outcome.cpp remove unnecessary ALIGN macros 4 years ago
Patching.cpp More fixes 4 years ago
RemappableId.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Rtti.cpp more fixes for Code 4 years ago
Script.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
ScriptMath.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
ScriptProperty.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Serialization.cpp [LYN-8041] Enable relocation of the Project Game Release Layout (#5380) 4 years ago
SerializeContextFixture.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Slice.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
State.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
StatisticalProfiler.cpp [development] Revived the statistical profiler (#4378) 4 years ago
Statistics.cpp Modernization + AZStd::function compare fix. (#3680) 4 years ago
StreamerTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
StringFunc.cpp Remove old "Integ" functionality from tests (#4688) 4 years ago
SystemFile.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
TaskTests.cpp Part 2 of enabling Atom to use TaskGraph 4 years ago
TestCatalog.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
TestCatalog.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
TickBusTest.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
UUIDTests.cpp Squashed commit of Procedural Prefab work (#4481) 4 years ago
XML.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
azcoretestdll_files.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
azcoretests_files.cmake Support for importing Json files (#4609) 4 years ago
aztestshared_files.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago