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/AZStd
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
..
Algorithms.cpp Code/Framework/AzCore 5 years ago
Allocators.cpp Added a max_size function to all AZStd container style allocator functions (#4106) 5 years ago
Any.cpp Android fixes 5 years ago
Atomics.cpp Modernization + AZStd::function compare fix. (#3680) 5 years ago
Bitset.cpp Modernization + AZStd::function compare fix. (#3680) 5 years ago
ChronoTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ConcurrentAllocators.cpp Added a max_size function to all AZStd container style allocator functions (#4106) 5 years ago
ConcurrentContainers.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
CreateDestroy.cpp Converted the AZStd implementations of unintialized construct to use std (#2843) 5 years ago
DequeAndSimilar.cpp Fixed the emplace function implementations for stack and queue (#2657) 5 years ago
Examples.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
FunctionalBasic.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
FunctorsBind.cpp Modernization + AZStd::function compare fix. (#3680) 5 years ago
Hashed.cpp Changes GTEST_OS_SUPPORTS_DEATH_TEST to the right define which is GTEST_HAS_DEATH_TEST 4 years ago
Invoke.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Iterators.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Lists.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ListsFixed.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
ListsIntrusive.cpp Code/Framework/AzCore 5 years ago
LockFreeQueues.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LockFreeStacks.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
LockTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Math.cpp Add AZStd::lerp math function, based on C++20 (#3468) 4 years ago
Numeric.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Optional.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
Ordered.cpp Changes GTEST_OS_SUPPORTS_DEATH_TEST to the right define which is GTEST_HAS_DEATH_TEST 4 years ago
Pair.cpp Code/Framework 5 years ago
Parallel.cpp Changes GTEST_OS_SUPPORTS_DEATH_TEST to the right define which is GTEST_HAS_DEATH_TEST 4 years ago
ScopedLockTests.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
SetsIntrusive.cpp Code/Framework/AzCore 5 years ago
SmartPtr.cpp Modernization + AZStd::function compare fix. (#3680) 5 years ago
String.cpp Implemented C++23 deleted nullptr_t constructor/assignment for AZStd string classes (#4158) 5 years ago
Tuple.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
TypeTraits.cpp Shorten copyright headers by splitting into 2 lines (#2213) 5 years ago
UserTypes.h remove unnecessary ALIGN macros 5 years ago
Variant.cpp more fixes for Code 5 years ago
VariantSerialization.cpp Cleanup SerializeContext.h pt.1 (#4264) 4 years ago
VectorAndArray.cpp Performance improvement for fixed_vector 4 years ago