Passes values by reference when sorting to reduce memory copying. The main saving on this is preventing copying of the large vector of files getting passed into the `sort` function and then copying each item in the vector in the for. This results in about a 27% performance gain reducing the full benchmark of the kubernetes benchmark by 7.89 sec Before | Name | Total | Average | Min | Max | | ---------------------------- | ------------- | ------------- | ------------- | ------------- | | ivy_match(file.lua) 1000000x | 02.351614 (s) | 00.000002 (s) | 00.000002 (s) | 00.000042 (s) | | ivy_files(kubernetes) 100x | 32.704256 (s) | 00.327043 (s) | 00.289397 (s) | 00.344413 (s) | After | Name | Total | Average | Min | Max | | ---------------------------- | ------------- | ------------- | ------------- | ------------- | | ivy_match(file.lua) 1000000x | 02.353386 (s) | 00.000002 (s) | 00.000002 (s) | 00.000049 (s) | | ivy_files(kubernetes) 100x | 24.809576 (s) | 00.248096 (s) | 00.203167 (s) | 00.270263 (s) | |
||
|---|---|---|
| .. | ||
| cli.cpp | ||
| file_scanner.hpp | ||
| fuzzy_match.cpp | ||
| fuzzy_match.hpp | ||
| lib.cpp | ||
| match.hpp | ||
| sorter.hpp | ||
| thread_pool.cpp | ||
| thread_pool.hpp | ||