mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-12-25 01:01:04 +00:00
1f7b1f1bf7
We replace the std::vector in the Operand class by a new class that does a small size optimization. This helps improve compile time on Windows. Tested on three sets of shaders. Trying various values for the small vector. The optimal value for the operand class was 2. However, for the Instruction class, using an std::vector was optimal. Size of "0" means that an std::vector was used. Instruction size 0 4 8 Operand Size 0 489 544 684 1 593 487 2 469 570 4 473 8 505 This is a single thread run of ~120 shaders. For the multithreaded run the results were the similar. The basline time was ~62sec. The optimal configuration was an 2 for the OperandData and an std::vector for the OperandList with a compile time of ~38sec. Similar expiriments were done with other sets of shaders. The compile time still improved, but not as much. Contributes to https://github.com/KhronosGroup/SPIRV-Tools/issues/1609. |
||
---|---|---|
.. | ||
bit_stream.cpp | ||
bit_stream.h | ||
bit_vector.cpp | ||
bit_vector.h | ||
bitutils.h | ||
hex_float.h | ||
huffman_codec.h | ||
ilist_node.h | ||
ilist.h | ||
move_to_front.h | ||
parse_number.cpp | ||
parse_number.h | ||
small_vector.h | ||
string_utils.cpp | ||
string_utils.h | ||
timer.cpp | ||
timer.h |