data-structure-typed 2.4.0 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/README.md +2 -3
- package/README_CN.md +0 -1
- package/dist/cjs/index.cjs +85 -30
- package/dist/cjs-legacy/index.cjs +85 -30
- package/dist/esm/index.mjs +85 -30
- package/dist/esm-legacy/index.mjs +85 -30
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +17 -6
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +13 -5
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +12 -5
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +15 -4
- package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +6 -1
- package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +6 -1
- package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +6 -1
- package/dist/umd/data-structure-typed.js +85 -29
- package/dist/umd/data-structure-typed.min.js +4 -4
- package/package.json +11 -5
- package/src/data-structures/binary-tree/tree-map.ts +35 -13
- package/src/data-structures/binary-tree/tree-multi-map.ts +41 -20
- package/src/data-structures/binary-tree/tree-multi-set.ts +17 -6
- package/src/data-structures/binary-tree/tree-set.ts +19 -6
- package/src/data-structures/trie/trie.ts +6 -8
- package/src/types/data-structures/binary-tree/tree-map.ts +7 -1
- package/src/types/data-structures/binary-tree/tree-multi-set.ts +7 -1
- package/src/types/data-structures/binary-tree/tree-set.ts +7 -1
- package/CMakeLists.txt +0 -52
- package/benchmark/report.html +0 -143
- package/benchmark/report.json +0 -1972
- package/build/CMakeCache.txt +0 -603
- package/build/CMakeFiles/4.0.3/CMakeCXXCompiler.cmake +0 -104
- package/build/CMakeFiles/4.0.3/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/build/CMakeFiles/4.0.3/CMakeSystem.cmake +0 -15
- package/build/CMakeFiles/4.0.3/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -920
- package/build/CMakeFiles/4.0.3/CompilerIdCXX/a.out +0 -0
- package/build/CMakeFiles/4.0.3/CompilerIdCXX/apple-sdk.cpp +0 -1
- package/build/CMakeFiles/CMakeConfigureLog.yaml +0 -2146
- package/build/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/CMakeFiles/InstallScripts.json +0 -9
- package/build/CMakeFiles/Makefile.cmake +0 -100
- package/build/CMakeFiles/Makefile2 +0 -720
- package/build/CMakeFiles/TargetDirectories.txt +0 -23
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp.o +0 -0
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp.o.d +0 -835
- package/build/CMakeFiles/avl-tree-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/avl-tree-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/avl-tree-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/avl-tree-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/avl-tree-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/avl-tree-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/avl-tree-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/avl-tree-benchmark.dir/test/performance/data-structures/binary-tree/avl-tree.test.cpp.o +0 -0
- package/build/CMakeFiles/avl-tree-benchmark.dir/test/performance/data-structures/binary-tree/avl-tree.test.cpp.o.d +0 -835
- package/build/CMakeFiles/cmake.check_cache +0 -1
- package/build/CMakeFiles/deque-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/deque-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/deque-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.internal +0 -791
- package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.make +0 -2362
- package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/deque-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/deque-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/deque-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/deque-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/deque-benchmark.dir/test/performance/data-structures/queue/deque.test.cpp.o +0 -0
- package/build/CMakeFiles/deque-benchmark.dir/test/performance/data-structures/queue/deque.test.cpp.o.d +0 -787
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.internal +0 -790
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.make +0 -2359
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp.o +0 -0
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp.o.d +0 -786
- package/build/CMakeFiles/hash-map-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/hash-map-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/hash-map-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.internal +0 -790
- package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.make +0 -2359
- package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/hash-map-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/hash-map-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/hash-map-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/hash-map-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/hash-map-benchmark.dir/test/performance/data-structures/hash/hash-map.test.cpp.o +0 -0
- package/build/CMakeFiles/hash-map-benchmark.dir/test/performance/data-structures/hash/hash-map.test.cpp.o.d +0 -786
- package/build/CMakeFiles/heap-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/heap-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/heap-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.internal +0 -843
- package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.make +0 -2518
- package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/heap-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/heap-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/heap-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/heap-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/heap-benchmark.dir/test/performance/data-structures/heap/heap.test.cpp.o +0 -0
- package/build/CMakeFiles/heap-benchmark.dir/test/performance/data-structures/heap/heap.test.cpp.o.d +0 -839
- package/build/CMakeFiles/priority-queue-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/priority-queue-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/priority-queue-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.internal +0 -793
- package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.make +0 -2368
- package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/priority-queue-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/priority-queue-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/priority-queue-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/priority-queue-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/priority-queue-benchmark.dir/test/performance/data-structures/priority-queue/priority-queue.test.cpp.o +0 -0
- package/build/CMakeFiles/priority-queue-benchmark.dir/test/performance/data-structures/priority-queue/priority-queue.test.cpp.o.d +0 -789
- package/build/CMakeFiles/progress.marks +0 -1
- package/build/CMakeFiles/queue-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/queue-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/queue-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.internal +0 -793
- package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.make +0 -2368
- package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/queue-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/queue-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/queue-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/queue-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/queue-benchmark.dir/test/performance/data-structures/queue/queue.test.cpp.o +0 -0
- package/build/CMakeFiles/queue-benchmark.dir/test/performance/data-structures/queue/queue.test.cpp.o.d +0 -789
- package/build/CMakeFiles/red-black-tree-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/red-black-tree-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/red-black-tree-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/red-black-tree-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/red-black-tree-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/red-black-tree-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/red-black-tree-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/red-black-tree-benchmark.dir/test/performance/data-structures/binary-tree/red-black-tree.test.cpp.o +0 -0
- package/build/CMakeFiles/red-black-tree-benchmark.dir/test/performance/data-structures/binary-tree/red-black-tree.test.cpp.o.d +0 -835
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.internal +0 -790
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.make +0 -2359
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/singly-linked-list.test.cpp.o +0 -0
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/singly-linked-list.test.cpp.o.d +0 -786
- package/build/CMakeFiles/stack-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/stack-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/stack-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.internal +0 -793
- package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.make +0 -2368
- package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/stack-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/stack-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/stack-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/stack-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/stack-benchmark.dir/test/performance/data-structures/stack/stack.test.cpp.o +0 -0
- package/build/CMakeFiles/stack-benchmark.dir/test/performance/data-structures/stack/stack.test.cpp.o.d +0 -789
- package/build/CMakeFiles/tree-map-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-map-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-map-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-map-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-map-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-map-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-map-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-map.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-map.test.cpp.o.d +0 -835
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp.o.d +0 -835
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp.o.d +0 -835
- package/build/CMakeFiles/tree-set-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-set-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-set-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-set-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-set-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-set-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-set-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-set.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-set.test.cpp.o.d +0 -835
- package/build/Makefile +0 -783
- package/build/_deps/benchmark-build/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/_deps/benchmark-build/CMakeFiles/progress.marks +0 -1
- package/build/_deps/benchmark-build/Makefile +0 -140
- package/build/_deps/benchmark-build/benchmark.pc +0 -12
- package/build/_deps/benchmark-build/benchmarkConfig.cmake +0 -14
- package/build/_deps/benchmark-build/benchmarkConfigVersion.cmake +0 -65
- package/build/_deps/benchmark-build/benchmarkTargets.cmake +0 -84
- package/build/_deps/benchmark-build/cmake_install.cmake +0 -50
- package/build/_deps/benchmark-build/src/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/DependInfo.cmake +0 -41
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark.cc.o.d +0 -875
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o.d +0 -802
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_name.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_name.cc.o.d +0 -772
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o.d +0 -841
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o.d +0 -833
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/build.make +0 -402
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/check.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/check.cc.o.d +0 -784
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/cmake_clean.cmake +0 -47
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/cmake_clean_target.cmake +0 -3
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/colorprint.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/colorprint.cc.o.d +0 -791
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o.d +0 -795
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.internal +0 -15519
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.make +0 -17500
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.ts +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/complexity.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/complexity.cc.o.d +0 -793
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/console_reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/console_reporter.cc.o.d +0 -802
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/counter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/counter.cc.o.d +0 -773
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o.d +0 -799
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/depend.make +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/flags.make +0 -10
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/json_reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/json_reporter.cc.o.d +0 -800
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/link.txt +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/perf_counters.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/perf_counters.cc.o.d +0 -807
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/progress.make +0 -21
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/reporter.cc.o.d +0 -798
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/statistics.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/statistics.cc.o.d +0 -800
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/string_util.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/string_util.cc.o.d +0 -795
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/sysinfo.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/sysinfo.cc.o.d +0 -933
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/timers.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/timers.cc.o.d +0 -904
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/DependInfo.cmake +0 -23
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/benchmark_main.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/benchmark_main.cc.o.d +0 -772
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/build.make +0 -114
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/cmake_clean.cmake +0 -11
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/cmake_clean_target.cmake +0 -3
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.internal +0 -776
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.make +0 -2317
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.ts +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/depend.make +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/flags.make +0 -10
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/link.txt +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/progress.make +0 -3
- package/build/_deps/benchmark-build/src/CMakeFiles/progress.marks +0 -1
- package/build/_deps/benchmark-build/src/Makefile +0 -710
- package/build/_deps/benchmark-build/src/cmake_install.cmake +0 -45
- package/build/_deps/benchmark-build/src/libbenchmark.a +0 -0
- package/build/_deps/benchmark-build/src/libbenchmark_main.a +0 -0
- package/build/_deps/benchmark-src/.clang-format +0 -5
- package/build/_deps/benchmark-src/.clang-tidy +0 -7
- package/build/_deps/benchmark-src/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
- package/build/_deps/benchmark-src/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/build/_deps/benchmark-src/.github/install_bazel.sh +0 -13
- package/build/_deps/benchmark-src/.github/libcxx-setup.sh +0 -26
- package/build/_deps/benchmark-src/.github/workflows/bazel.yml +0 -35
- package/build/_deps/benchmark-src/.github/workflows/build-and-test-min-cmake.yml +0 -46
- package/build/_deps/benchmark-src/.github/workflows/build-and-test-perfcounters.yml +0 -51
- package/build/_deps/benchmark-src/.github/workflows/build-and-test.yml +0 -114
- package/build/_deps/benchmark-src/.github/workflows/clang-format-lint.yml +0 -17
- package/build/_deps/benchmark-src/.github/workflows/clang-tidy.yml +0 -38
- package/build/_deps/benchmark-src/.github/workflows/doxygen.yml +0 -28
- package/build/_deps/benchmark-src/.github/workflows/pylint.yml +0 -28
- package/build/_deps/benchmark-src/.github/workflows/sanitizer.yml +0 -96
- package/build/_deps/benchmark-src/.github/workflows/test_bindings.yml +0 -29
- package/build/_deps/benchmark-src/.github/workflows/wheels.yml +0 -79
- package/build/_deps/benchmark-src/.travis.yml +0 -208
- package/build/_deps/benchmark-src/.ycm_extra_conf.py +0 -115
- package/build/_deps/benchmark-src/AUTHORS +0 -71
- package/build/_deps/benchmark-src/BUILD.bazel +0 -87
- package/build/_deps/benchmark-src/CMakeLists.txt +0 -340
- package/build/_deps/benchmark-src/CONTRIBUTING.md +0 -58
- package/build/_deps/benchmark-src/CONTRIBUTORS +0 -95
- package/build/_deps/benchmark-src/LICENSE +0 -202
- package/build/_deps/benchmark-src/MODULE.bazel +0 -24
- package/build/_deps/benchmark-src/README.md +0 -223
- package/build/_deps/benchmark-src/WORKSPACE +0 -22
- package/build/_deps/benchmark-src/WORKSPACE.bzlmod +0 -2
- package/build/_deps/benchmark-src/_config.yml +0 -2
- package/build/_deps/benchmark-src/appveyor.yml +0 -50
- package/build/_deps/benchmark-src/bazel/benchmark_deps.bzl +0 -65
- package/build/_deps/benchmark-src/bindings/python/BUILD +0 -3
- package/build/_deps/benchmark-src/bindings/python/build_defs.bzl +0 -25
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/BUILD +0 -40
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/__init__.py +0 -162
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/benchmark.cc +0 -184
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/example.py +0 -136
- package/build/_deps/benchmark-src/bindings/python/nanobind.BUILD +0 -17
- package/build/_deps/benchmark-src/bindings/python/python_headers.BUILD +0 -6
- package/build/_deps/benchmark-src/cmake/AddCXXCompilerFlag.cmake +0 -78
- package/build/_deps/benchmark-src/cmake/CXXFeatureCheck.cmake +0 -82
- package/build/_deps/benchmark-src/cmake/Config.cmake.in +0 -7
- package/build/_deps/benchmark-src/cmake/GetGitVersion.cmake +0 -58
- package/build/_deps/benchmark-src/cmake/GoogleTest.cmake +0 -58
- package/build/_deps/benchmark-src/cmake/GoogleTest.cmake.in +0 -59
- package/build/_deps/benchmark-src/cmake/benchmark.pc.in +0 -12
- package/build/_deps/benchmark-src/cmake/gnu_posix_regex.cpp +0 -12
- package/build/_deps/benchmark-src/cmake/llvm-toolchain.cmake +0 -8
- package/build/_deps/benchmark-src/cmake/posix_regex.cpp +0 -14
- package/build/_deps/benchmark-src/cmake/pthread_affinity.cpp +0 -16
- package/build/_deps/benchmark-src/cmake/split_list.cmake +0 -3
- package/build/_deps/benchmark-src/cmake/std_regex.cpp +0 -10
- package/build/_deps/benchmark-src/cmake/steady_clock.cpp +0 -7
- package/build/_deps/benchmark-src/cmake/thread_safety_attributes.cpp +0 -4
- package/build/_deps/benchmark-src/docs/AssemblyTests.md +0 -149
- package/build/_deps/benchmark-src/docs/_config.yml +0 -3
- package/build/_deps/benchmark-src/docs/assets/images/icon.png +0 -0
- package/build/_deps/benchmark-src/docs/assets/images/icon.xcf +0 -0
- package/build/_deps/benchmark-src/docs/assets/images/icon_black.png +0 -0
- package/build/_deps/benchmark-src/docs/assets/images/icon_black.xcf +0 -0
- package/build/_deps/benchmark-src/docs/dependencies.md +0 -13
- package/build/_deps/benchmark-src/docs/index.md +0 -12
- package/build/_deps/benchmark-src/docs/perf_counters.md +0 -35
- package/build/_deps/benchmark-src/docs/platform_specific_build_instructions.md +0 -48
- package/build/_deps/benchmark-src/docs/python_bindings.md +0 -34
- package/build/_deps/benchmark-src/docs/random_interleaving.md +0 -13
- package/build/_deps/benchmark-src/docs/reducing_variance.md +0 -100
- package/build/_deps/benchmark-src/docs/releasing.md +0 -41
- package/build/_deps/benchmark-src/docs/tools.md +0 -343
- package/build/_deps/benchmark-src/docs/user_guide.md +0 -1266
- package/build/_deps/benchmark-src/include/benchmark/benchmark.h +0 -1991
- package/build/_deps/benchmark-src/include/benchmark/export.h +0 -47
- package/build/_deps/benchmark-src/pyproject.toml +0 -50
- package/build/_deps/benchmark-src/setup.py +0 -113
- package/build/_deps/benchmark-src/src/CMakeLists.txt +0 -170
- package/build/_deps/benchmark-src/src/arraysize.h +0 -33
- package/build/_deps/benchmark-src/src/benchmark.cc +0 -779
- package/build/_deps/benchmark-src/src/benchmark_api_internal.cc +0 -118
- package/build/_deps/benchmark-src/src/benchmark_api_internal.h +0 -87
- package/build/_deps/benchmark-src/src/benchmark_main.cc +0 -18
- package/build/_deps/benchmark-src/src/benchmark_name.cc +0 -59
- package/build/_deps/benchmark-src/src/benchmark_register.cc +0 -520
- package/build/_deps/benchmark-src/src/benchmark_register.h +0 -109
- package/build/_deps/benchmark-src/src/benchmark_runner.cc +0 -497
- package/build/_deps/benchmark-src/src/benchmark_runner.h +0 -131
- package/build/_deps/benchmark-src/src/check.cc +0 -11
- package/build/_deps/benchmark-src/src/check.h +0 -106
- package/build/_deps/benchmark-src/src/colorprint.cc +0 -200
- package/build/_deps/benchmark-src/src/colorprint.h +0 -33
- package/build/_deps/benchmark-src/src/commandlineflags.cc +0 -298
- package/build/_deps/benchmark-src/src/commandlineflags.h +0 -133
- package/build/_deps/benchmark-src/src/complexity.cc +0 -244
- package/build/_deps/benchmark-src/src/complexity.h +0 -55
- package/build/_deps/benchmark-src/src/console_reporter.cc +0 -206
- package/build/_deps/benchmark-src/src/counter.cc +0 -80
- package/build/_deps/benchmark-src/src/counter.h +0 -32
- package/build/_deps/benchmark-src/src/csv_reporter.cc +0 -161
- package/build/_deps/benchmark-src/src/cycleclock.h +0 -230
- package/build/_deps/benchmark-src/src/internal_macros.h +0 -115
- package/build/_deps/benchmark-src/src/json_reporter.cc +0 -320
- package/build/_deps/benchmark-src/src/log.h +0 -88
- package/build/_deps/benchmark-src/src/mutex.h +0 -155
- package/build/_deps/benchmark-src/src/perf_counters.cc +0 -282
- package/build/_deps/benchmark-src/src/perf_counters.h +0 -200
- package/build/_deps/benchmark-src/src/re.h +0 -158
- package/build/_deps/benchmark-src/src/reporter.cc +0 -118
- package/build/_deps/benchmark-src/src/statistics.cc +0 -209
- package/build/_deps/benchmark-src/src/statistics.h +0 -44
- package/build/_deps/benchmark-src/src/string_util.cc +0 -254
- package/build/_deps/benchmark-src/src/string_util.h +0 -70
- package/build/_deps/benchmark-src/src/sysinfo.cc +0 -855
- package/build/_deps/benchmark-src/src/thread_manager.h +0 -63
- package/build/_deps/benchmark-src/src/thread_timer.h +0 -86
- package/build/_deps/benchmark-src/src/timers.cc +0 -272
- package/build/_deps/benchmark-src/src/timers.h +0 -48
- package/build/_deps/benchmark-src/test/AssemblyTests.cmake +0 -67
- package/build/_deps/benchmark-src/test/BUILD +0 -127
- package/build/_deps/benchmark-src/test/CMakeLists.txt +0 -309
- package/build/_deps/benchmark-src/test/args_product_test.cc +0 -77
- package/build/_deps/benchmark-src/test/basic_test.cc +0 -180
- package/build/_deps/benchmark-src/test/benchmark_gtest.cc +0 -169
- package/build/_deps/benchmark-src/test/benchmark_min_time_flag_iters_test.cc +0 -66
- package/build/_deps/benchmark-src/test/benchmark_min_time_flag_time_test.cc +0 -90
- package/build/_deps/benchmark-src/test/benchmark_name_gtest.cc +0 -82
- package/build/_deps/benchmark-src/test/benchmark_random_interleaving_gtest.cc +0 -126
- package/build/_deps/benchmark-src/test/benchmark_setup_teardown_test.cc +0 -157
- package/build/_deps/benchmark-src/test/benchmark_test.cc +0 -274
- package/build/_deps/benchmark-src/test/clobber_memory_assembly_test.cc +0 -64
- package/build/_deps/benchmark-src/test/commandlineflags_gtest.cc +0 -228
- package/build/_deps/benchmark-src/test/complexity_test.cc +0 -228
- package/build/_deps/benchmark-src/test/cxx03_test.cc +0 -62
- package/build/_deps/benchmark-src/test/diagnostics_test.cc +0 -91
- package/build/_deps/benchmark-src/test/display_aggregates_only_test.cc +0 -45
- package/build/_deps/benchmark-src/test/donotoptimize_assembly_test.cc +0 -201
- package/build/_deps/benchmark-src/test/donotoptimize_test.cc +0 -69
- package/build/_deps/benchmark-src/test/filter_test.cc +0 -117
- package/build/_deps/benchmark-src/test/fixture_test.cc +0 -51
- package/build/_deps/benchmark-src/test/internal_threading_test.cc +0 -185
- package/build/_deps/benchmark-src/test/link_main_test.cc +0 -9
- package/build/_deps/benchmark-src/test/map_test.cc +0 -59
- package/build/_deps/benchmark-src/test/memory_manager_test.cc +0 -47
- package/build/_deps/benchmark-src/test/min_time_parse_gtest.cc +0 -30
- package/build/_deps/benchmark-src/test/multiple_ranges_test.cc +0 -96
- package/build/_deps/benchmark-src/test/options_test.cc +0 -77
- package/build/_deps/benchmark-src/test/output_test.h +0 -211
- package/build/_deps/benchmark-src/test/output_test_helper.cc +0 -519
- package/build/_deps/benchmark-src/test/perf_counters_gtest.cc +0 -307
- package/build/_deps/benchmark-src/test/perf_counters_test.cc +0 -92
- package/build/_deps/benchmark-src/test/register_benchmark_test.cc +0 -196
- package/build/_deps/benchmark-src/test/repetitions_test.cc +0 -214
- package/build/_deps/benchmark-src/test/report_aggregates_only_test.cc +0 -41
- package/build/_deps/benchmark-src/test/reporter_output_test.cc +0 -1130
- package/build/_deps/benchmark-src/test/skip_with_error_test.cc +0 -199
- package/build/_deps/benchmark-src/test/spec_arg_test.cc +0 -105
- package/build/_deps/benchmark-src/test/spec_arg_verbosity_test.cc +0 -43
- package/build/_deps/benchmark-src/test/state_assembly_test.cc +0 -68
- package/build/_deps/benchmark-src/test/statistics_gtest.cc +0 -35
- package/build/_deps/benchmark-src/test/string_util_gtest.cc +0 -199
- package/build/_deps/benchmark-src/test/templated_fixture_test.cc +0 -28
- package/build/_deps/benchmark-src/test/time_unit_gtest.cc +0 -37
- package/build/_deps/benchmark-src/test/user_counters_tabular_test.cc +0 -558
- package/build/_deps/benchmark-src/test/user_counters_test.cc +0 -561
- package/build/_deps/benchmark-src/test/user_counters_thousands_test.cc +0 -186
- package/build/_deps/benchmark-src/tools/BUILD.bazel +0 -19
- package/build/_deps/benchmark-src/tools/compare.py +0 -432
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test1_run1.json +0 -127
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test1_run2.json +0 -127
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test2_run.json +0 -81
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test3_run0.json +0 -65
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test3_run1.json +0 -65
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run.json +0 -96
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run0.json +0 -21
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run1.json +0 -21
- package/build/_deps/benchmark-src/tools/gbench/__init__.py +0 -8
- package/build/_deps/benchmark-src/tools/gbench/report.py +0 -1201
- package/build/_deps/benchmark-src/tools/gbench/util.py +0 -203
- package/build/_deps/benchmark-src/tools/libpfm.BUILD.bazel +0 -22
- package/build/_deps/benchmark-src/tools/requirements.txt +0 -2
- package/build/_deps/benchmark-src/tools/strip_asm.py +0 -151
- package/build/_deps/benchmark-subbuild/CMakeCache.txt +0 -133
- package/build/_deps/benchmark-subbuild/CMakeFiles/4.0.3/CMakeSystem.cmake +0 -15
- package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeConfigureLog.yaml +0 -11
- package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeRuleHashes.txt +0 -11
- package/build/_deps/benchmark-subbuild/CMakeFiles/InstallScripts.json +0 -7
- package/build/_deps/benchmark-subbuild/CMakeFiles/Makefile.cmake +0 -52
- package/build/_deps/benchmark-subbuild/CMakeFiles/Makefile2 +0 -122
- package/build/_deps/benchmark-subbuild/CMakeFiles/TargetDirectories.txt +0 -3
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate-complete +0 -0
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/DependInfo.cmake +0 -22
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/Labels.json +0 -46
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/Labels.txt +0 -14
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/build.make +0 -162
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/cmake_clean.cmake +0 -17
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/compiler_depend.make +0 -2
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/compiler_depend.ts +0 -2
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/progress.make +0 -10
- package/build/_deps/benchmark-subbuild/CMakeFiles/cmake.check_cache +0 -1
- package/build/_deps/benchmark-subbuild/CMakeFiles/progress.marks +0 -1
- package/build/_deps/benchmark-subbuild/CMakeLists.txt +0 -42
- package/build/_deps/benchmark-subbuild/Makefile +0 -162
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-build +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-configure +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-done +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-download +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-gitclone-lastrun.txt +0 -15
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-gitinfo.txt +0 -15
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-install +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-mkdir +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-patch +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-patch-info.txt +0 -6
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-test +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-update-info.txt +0 -7
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-cfgcmd.txt +0 -1
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-gitclone.cmake +0 -87
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-gitupdate.cmake +0 -317
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-mkdirs.cmake +0 -27
- package/build/_deps/benchmark-subbuild/cmake_install.cmake +0 -56
- package/build/bin/avl-rb-range-search-benchmark +0 -0
- package/build/bin/avl-tree-benchmark +0 -0
- package/build/bin/deque-benchmark +0 -0
- package/build/bin/doubly-linked-list-benchmark +0 -0
- package/build/bin/hash-map-benchmark +0 -0
- package/build/bin/heap-benchmark +0 -0
- package/build/bin/priority-queue-benchmark +0 -0
- package/build/bin/queue-benchmark +0 -0
- package/build/bin/red-black-tree-benchmark +0 -0
- package/build/bin/singly-linked-list-benchmark +0 -0
- package/build/bin/stack-benchmark +0 -0
- package/build/bin/tree-map-benchmark +0 -0
- package/build/bin/tree-multi-map-benchmark +0 -0
- package/build/bin/tree-multi-set-benchmark +0 -0
- package/build/bin/tree-set-benchmark +0 -0
- package/build/cmake_install.cmake +0 -66
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs-legacy/index.cjs.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm-legacy/index.mjs.map +0 -1
- package/dist/umd/data-structure-typed.js.map +0 -1
- package/dist/umd/data-structure-typed.min.js.map +0 -1
- package/eslint.config.mjs +0 -73
- package/test/config.ts +0 -4
- package/test/integration/all-in-one.test.ts +0 -110
- package/test/integration/avl-tree.test.ts +0 -127
- package/test/integration/bst.test.ts +0 -385
- package/test/integration/compile.test.mjs +0 -159
- package/test/integration/compile.test.ts +0 -176
- package/test/integration/heap.test.js +0 -21
- package/test/integration/index.html +0 -462
- package/test/performance/benchmark-runner-enhanced.mjs +0 -818
- package/test/performance/cmake-benchmark-runner.mjs +0 -234
- package/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp +0 -112
- package/test/performance/data-structures/binary-tree/avl-rb-range-search.test.mjs +0 -51
- package/test/performance/data-structures/binary-tree/avl-tree.test.cpp +0 -181
- package/test/performance/data-structures/binary-tree/avl-tree.test.mjs +0 -138
- package/test/performance/data-structures/binary-tree/binary-tree-overall.test.mjs +0 -85
- package/test/performance/data-structures/binary-tree/binary-tree.test.mjs +0 -100
- package/test/performance/data-structures/binary-tree/bst.test.mjs +0 -61
- package/test/performance/data-structures/binary-tree/red-black-tree-cjs.test.mjs +0 -259
- package/test/performance/data-structures/binary-tree/red-black-tree.test.cpp +0 -213
- package/test/performance/data-structures/binary-tree/red-black-tree.test.mjs +0 -275
- package/test/performance/data-structures/binary-tree/tree-map.test.cpp +0 -129
- package/test/performance/data-structures/binary-tree/tree-map.test.mjs +0 -171
- package/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp +0 -205
- package/test/performance/data-structures/binary-tree/tree-multi-map.test.mjs +0 -106
- package/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp +0 -217
- package/test/performance/data-structures/binary-tree/tree-multi-set.test.mjs +0 -91
- package/test/performance/data-structures/binary-tree/tree-set.test.cpp +0 -127
- package/test/performance/data-structures/binary-tree/tree-set.test.mjs +0 -174
- package/test/performance/data-structures/comparison/comparison.test.mjs +0 -99
- package/test/performance/data-structures/graph/directed-graph.test.mjs +0 -38
- package/test/performance/data-structures/hash/hash-map.test.cpp +0 -183
- package/test/performance/data-structures/hash/hash-map.test.mjs +0 -187
- package/test/performance/data-structures/heap/heap.test.cpp +0 -61
- package/test/performance/data-structures/heap/heap.test.mjs +0 -31
- package/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp +0 -84
- package/test/performance/data-structures/linked-list/doubly-linked-list.test.mjs +0 -125
- package/test/performance/data-structures/linked-list/singly-linked-list.test.cpp +0 -77
- package/test/performance/data-structures/linked-list/singly-linked-list.test.mjs +0 -84
- package/test/performance/data-structures/priority-queue/max-priority-queue.test.mjs +0 -40
- package/test/performance/data-structures/priority-queue/priority-queue.test.cpp +0 -59
- package/test/performance/data-structures/priority-queue/priority-queue.test.mjs +0 -64
- package/test/performance/data-structures/queue/deque.test.cpp +0 -119
- package/test/performance/data-structures/queue/deque.test.mjs +0 -144
- package/test/performance/data-structures/queue/queue.test.cpp +0 -59
- package/test/performance/data-structures/queue/queue.test.mjs +0 -77
- package/test/performance/data-structures/stack/stack.test.cpp +0 -40
- package/test/performance/data-structures/stack/stack.test.mjs +0 -69
- package/test/performance/data-structures/trie/trie.test.mjs +0 -43
- package/test/performance/reportor-enhanced.mjs +0 -871
- package/test/performance/runner-config.json +0 -51
- package/test/types/index.ts +0 -1
- package/test/types/utils/big-o.ts +0 -1
- package/test/types/utils/index.ts +0 -2
- package/test/types/utils/json2html.ts +0 -5
- package/test/unit/data-structures/base/iterable-element-base.coverage.test.ts +0 -106
- package/test/unit/data-structures/base/iterable-element-base.more-branches.coverage.test.ts +0 -61
- package/test/unit/data-structures/base/linear-base.array.coverage.test.ts +0 -168
- package/test/unit/data-structures/base/linear-base.concat-else.coverage.test.ts +0 -82
- package/test/unit/data-structures/base/linear-base.coverage.test.ts +0 -72
- package/test/unit/data-structures/base/linear-base.more-branches.coverage.test.ts +0 -414
- package/test/unit/data-structures/binary-tree/avl-tree-node.familyPosition-root-left.coverage.test.ts +0 -17
- package/test/unit/data-structures/binary-tree/avl-tree.more-branches-2.coverage.test.ts +0 -99
- package/test/unit/data-structures/binary-tree/avl-tree.test.ts +0 -729
- package/test/unit/data-structures/binary-tree/binary-index-tree.test.ts +0 -345
- package/test/unit/data-structures/binary-tree/binary-indexed-tree.more-branches.coverage.test.ts +0 -18
- package/test/unit/data-structures/binary-tree/binary-tree.more-branches.coverage.test.ts +0 -56
- package/test/unit/data-structures/binary-tree/binary-tree.remaining-branches.coverage.test.ts +0 -232
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +0 -1912
- package/test/unit/data-structures/binary-tree/bst.bound-by-predicate.coverage.test.ts +0 -33
- package/test/unit/data-structures/binary-tree/bst.coverage.test.ts +0 -94
- package/test/unit/data-structures/binary-tree/bst.deletebykey.coverage.test.ts +0 -70
- package/test/unit/data-structures/binary-tree/bst.deletewhere.coverage.test.ts +0 -37
- package/test/unit/data-structures/binary-tree/bst.floor-lower-predicate.coverage.test.ts +0 -29
- package/test/unit/data-structures/binary-tree/bst.floor-setmany.coverage.test.ts +0 -72
- package/test/unit/data-structures/binary-tree/bst.getnode.range-ensure.coverage.test.ts +0 -22
- package/test/unit/data-structures/binary-tree/bst.misc-branches.coverage.test.ts +0 -100
- package/test/unit/data-structures/binary-tree/bst.more-branches-2.coverage.test.ts +0 -133
- package/test/unit/data-structures/binary-tree/bst.more-branches-3.coverage.test.ts +0 -45
- package/test/unit/data-structures/binary-tree/bst.more-branches-4.coverage.test.ts +0 -36
- package/test/unit/data-structures/binary-tree/bst.more-branches-5.coverage.test.ts +0 -40
- package/test/unit/data-structures/binary-tree/bst.more.coverage.test.ts +0 -39
- package/test/unit/data-structures/binary-tree/bst.node-family.coverage.test.ts +0 -29
- package/test/unit/data-structures/binary-tree/bst.range-pruning.coverage.test.ts +0 -43
- package/test/unit/data-structures/binary-tree/bst.search-fastpath.coverage.test.ts +0 -30
- package/test/unit/data-structures/binary-tree/bst.test.ts +0 -3472
- package/test/unit/data-structures/binary-tree/data/cost-of-living-by-country.ts +0 -259
- package/test/unit/data-structures/binary-tree/overall.test.ts +0 -219
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-corruption-repair.coverage.test.ts +0 -66
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-max-update.coverage.test.ts +0 -18
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-null.coverage.test.ts +0 -53
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-stale-cache.coverage.test.ts +0 -25
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-update.coverage.test.ts +0 -23
- package/test/unit/data-structures/binary-tree/red-black-tree.cache-delete.coverage.test.ts +0 -49
- package/test/unit/data-structures/binary-tree/red-black-tree.cache-edge.coverage.test.ts +0 -37
- package/test/unit/data-structures/binary-tree/red-black-tree.cache-stale-insert.coverage.test.ts +0 -39
- package/test/unit/data-structures/binary-tree/red-black-tree.coverage.test.ts +0 -334
- package/test/unit/data-structures/binary-tree/red-black-tree.delete-fixup.coverage.test.ts +0 -68
- package/test/unit/data-structures/binary-tree/red-black-tree.delete-successor.coverage.test.ts +0 -75
- package/test/unit/data-structures/binary-tree/red-black-tree.factories.coverage.test.ts +0 -26
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-compare-update.coverage.test.ts +0 -74
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-no-update.coverage.test.ts +0 -44
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-nullish.coverage.test.ts +0 -61
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-defined.coverage.test.ts +0 -35
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-undefined.coverage.test.ts +0 -43
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-more.coverage.test.ts +0 -99
- package/test/unit/data-structures/binary-tree/red-black-tree.hint.coverage.test.ts +0 -60
- package/test/unit/data-structures/binary-tree/red-black-tree.insert-cache-nullish.coverage.test.ts +0 -29
- package/test/unit/data-structures/binary-tree/red-black-tree.insert-header-parent-nullish.coverage.test.ts +0 -17
- package/test/unit/data-structures/binary-tree/red-black-tree.internal-walk.coverage.test.ts +0 -57
- package/test/unit/data-structures/binary-tree/red-black-tree.minmax-cache.test.ts +0 -65
- package/test/unit/data-structures/binary-tree/red-black-tree.misc-inputs.coverage.test.ts +0 -17
- package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-2.coverage.test.ts +0 -121
- package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-3.coverage.test.ts +0 -55
- package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-4.coverage.test.ts +0 -44
- package/test/unit/data-structures/binary-tree/red-black-tree.predsucc.coverage.test.ts +0 -40
- package/test/unit/data-structures/binary-tree/red-black-tree.remaining-branches.coverage.test.ts +0 -123
- package/test/unit/data-structures/binary-tree/red-black-tree.set-inputs.coverage.test.ts +0 -64
- package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-parent-cache.coverage.test.ts +0 -79
- package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-remaining.coverage.test.ts +0 -44
- package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-uncovered.coverage.test.ts +0 -74
- package/test/unit/data-structures/binary-tree/red-black-tree.test.ts +0 -936
- package/test/unit/data-structures/binary-tree/red-black-tree.update-branches.coverage.test.ts +0 -30
- package/test/unit/data-structures/binary-tree/segment-tree.more-branches.coverage.test.ts +0 -31
- package/test/unit/data-structures/binary-tree/segment-tree.test.ts +0 -104
- package/test/unit/data-structures/binary-tree/tree-map.test.ts +0 -270
- package/test/unit/data-structures/binary-tree/tree-multi-map.coverage.test.ts +0 -245
- package/test/unit/data-structures/binary-tree/tree-multi-map.legacy.test.ts.skip +0 -1115
- package/test/unit/data-structures/binary-tree/tree-multi-map.more-branches-2.coverage.test.ts.skip +0 -59
- package/test/unit/data-structures/binary-tree/tree-multi-map.rfc.test.ts +0 -99
- package/test/unit/data-structures/binary-tree/tree-multi-map.simplified.test.ts +0 -482
- package/test/unit/data-structures/binary-tree/tree-multi-set.test.ts +0 -545
- package/test/unit/data-structures/binary-tree/tree-set.test.ts +0 -187
- package/test/unit/data-structures/graph/abstract-graph.more-branches-2.coverage.test.ts +0 -40
- package/test/unit/data-structures/graph/abstract-graph.more-branches-3.coverage.test.ts +0 -65
- package/test/unit/data-structures/graph/abstract-graph.more-branches-4.coverage.test.ts +0 -98
- package/test/unit/data-structures/graph/abstract-graph.more-branches-5.coverage.test.ts +0 -51
- package/test/unit/data-structures/graph/abstract-graph.more-branches.coverage.test.ts +0 -62
- package/test/unit/data-structures/graph/abstract-graph.test.ts +0 -117
- package/test/unit/data-structures/graph/directed-graph.more-branches-2.coverage.test.ts +0 -38
- package/test/unit/data-structures/graph/directed-graph.more-branches-3.coverage.test.ts +0 -25
- package/test/unit/data-structures/graph/directed-graph.more-branches.coverage.test.ts +0 -82
- package/test/unit/data-structures/graph/directed-graph.test.ts +0 -1185
- package/test/unit/data-structures/graph/map-graph.more-branches.coverage.test.ts +0 -22
- package/test/unit/data-structures/graph/map-graph.test.ts +0 -148
- package/test/unit/data-structures/graph/overall.test.ts +0 -49
- package/test/unit/data-structures/graph/salty-edges.json +0 -875
- package/test/unit/data-structures/graph/salty-vertexes.json +0 -200
- package/test/unit/data-structures/graph/undirected-graph.more-branches-2.coverage.test.ts +0 -35
- package/test/unit/data-structures/graph/undirected-graph.more-branches.coverage.test.ts +0 -87
- package/test/unit/data-structures/graph/undirected-graph.test.ts +0 -782
- package/test/unit/data-structures/hash/hash-map.more-branches.coverage.test.ts +0 -64
- package/test/unit/data-structures/hash/hash-map.test.ts +0 -1125
- package/test/unit/data-structures/hash/hash-map.toEntryFn-branch.coverage.test.ts +0 -9
- package/test/unit/data-structures/heap/heap.misc-branches.coverage.test.ts +0 -110
- package/test/unit/data-structures/heap/heap.remaining-branches.coverage.test.ts +0 -22
- package/test/unit/data-structures/heap/heap.test.ts +0 -760
- package/test/unit/data-structures/heap/max-heap.coverage.test.ts +0 -29
- package/test/unit/data-structures/heap/max-heap.test.ts +0 -98
- package/test/unit/data-structures/heap/min-heap.test.ts +0 -117
- package/test/unit/data-structures/linked-list/doubly-linked-list.more-branches.coverage.test.ts +0 -72
- package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +0 -1150
- package/test/unit/data-structures/linked-list/linked-list.test.ts +0 -8
- package/test/unit/data-structures/linked-list/linked-list.unshiftMany-else.coverage.test.ts +0 -15
- package/test/unit/data-structures/linked-list/singly-linked-list.coverage.test.ts +0 -221
- package/test/unit/data-structures/linked-list/singly-linked-list.more-branches.coverage.test.ts +0 -86
- package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +0 -836
- package/test/unit/data-structures/linked-list/skip-linked-list.more-branches.coverage.test.ts +0 -31
- package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +0 -13
- package/test/unit/data-structures/linked-list/skip-list.test.ts +0 -86
- package/test/unit/data-structures/matrix/matrix.more-branches.coverage.test.ts +0 -81
- package/test/unit/data-structures/matrix/matrix.pivotElement-nullish.coverage.test.ts +0 -28
- package/test/unit/data-structures/matrix/matrix.test.ts +0 -377
- package/test/unit/data-structures/matrix/navigator.test.ts +0 -244
- package/test/unit/data-structures/priority-queue/max-priority-queue.more-branches.coverage.test.ts +0 -10
- package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +0 -160
- package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +0 -78
- package/test/unit/data-structures/priority-queue/priority-queue.coverage.test.ts +0 -21
- package/test/unit/data-structures/priority-queue/priority-queue.test.ts +0 -101
- package/test/unit/data-structures/queue/deque.coverage.test.ts +0 -173
- package/test/unit/data-structures/queue/deque.more-branches-2.coverage.test.ts +0 -39
- package/test/unit/data-structures/queue/deque.more-branches-3.coverage.test.ts +0 -9
- package/test/unit/data-structures/queue/deque.more-branches.coverage.test.ts +0 -95
- package/test/unit/data-structures/queue/deque.test.ts +0 -936
- package/test/unit/data-structures/queue/queue.coverage.test.ts +0 -138
- package/test/unit/data-structures/queue/queue.more-branches-2.coverage.test.ts +0 -27
- package/test/unit/data-structures/queue/queue.test.ts +0 -703
- package/test/unit/data-structures/stack/stack.coverage.test.ts +0 -112
- package/test/unit/data-structures/stack/stack.test.ts +0 -438
- package/test/unit/data-structures/tree/tree.more-branches.coverage.test.ts +0 -9
- package/test/unit/data-structures/tree/tree.test.ts +0 -58
- package/test/unit/data-structures/trie/trie.more-branches-2.coverage.test.ts +0 -51
- package/test/unit/data-structures/trie/trie.test.ts +0 -1181
- package/test/unit/unrestricted-interconversion.test.ts +0 -299
- package/test/unit/utils/utils.test.ts +0 -174
- package/test/utils/array.ts +0 -5517
- package/test/utils/big-o.ts +0 -228
- package/test/utils/console.ts +0 -31
- package/test/utils/index.ts +0 -8
- package/test/utils/is.ts +0 -56
- package/test/utils/json2html.ts +0 -164
- package/test/utils/number.ts +0 -13
- package/test/utils/patch.ts +0 -33
- package/test/utils/perf.mjs +0 -34
- package/test/utils/performanc.ts +0 -7
- package/test/utils/string.ts +0 -49
- package/tsconfig.types.json +0 -15
- package/tsup.config.js +0 -63
- package/tsup.umd.config.js +0 -29
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
#ifndef BENCHMARK_COMMANDLINEFLAGS_H_
|
|
2
|
-
#define BENCHMARK_COMMANDLINEFLAGS_H_
|
|
3
|
-
|
|
4
|
-
#include <cstdint>
|
|
5
|
-
#include <map>
|
|
6
|
-
#include <string>
|
|
7
|
-
|
|
8
|
-
#include "benchmark/export.h"
|
|
9
|
-
|
|
10
|
-
// Macro for referencing flags.
|
|
11
|
-
#define FLAG(name) FLAGS_##name
|
|
12
|
-
|
|
13
|
-
// Macros for declaring flags.
|
|
14
|
-
#define BM_DECLARE_bool(name) BENCHMARK_EXPORT extern bool FLAG(name)
|
|
15
|
-
#define BM_DECLARE_int32(name) BENCHMARK_EXPORT extern int32_t FLAG(name)
|
|
16
|
-
#define BM_DECLARE_double(name) BENCHMARK_EXPORT extern double FLAG(name)
|
|
17
|
-
#define BM_DECLARE_string(name) BENCHMARK_EXPORT extern std::string FLAG(name)
|
|
18
|
-
#define BM_DECLARE_kvpairs(name) \
|
|
19
|
-
BENCHMARK_EXPORT extern std::map<std::string, std::string> FLAG(name)
|
|
20
|
-
|
|
21
|
-
// Macros for defining flags.
|
|
22
|
-
#define BM_DEFINE_bool(name, default_val) \
|
|
23
|
-
BENCHMARK_EXPORT bool FLAG(name) = benchmark::BoolFromEnv(#name, default_val)
|
|
24
|
-
#define BM_DEFINE_int32(name, default_val) \
|
|
25
|
-
BENCHMARK_EXPORT int32_t FLAG(name) = \
|
|
26
|
-
benchmark::Int32FromEnv(#name, default_val)
|
|
27
|
-
#define BM_DEFINE_double(name, default_val) \
|
|
28
|
-
BENCHMARK_EXPORT double FLAG(name) = \
|
|
29
|
-
benchmark::DoubleFromEnv(#name, default_val)
|
|
30
|
-
#define BM_DEFINE_string(name, default_val) \
|
|
31
|
-
BENCHMARK_EXPORT std::string FLAG(name) = \
|
|
32
|
-
benchmark::StringFromEnv(#name, default_val)
|
|
33
|
-
#define BM_DEFINE_kvpairs(name, default_val) \
|
|
34
|
-
BENCHMARK_EXPORT std::map<std::string, std::string> FLAG(name) = \
|
|
35
|
-
benchmark::KvPairsFromEnv(#name, default_val)
|
|
36
|
-
|
|
37
|
-
namespace benchmark {
|
|
38
|
-
|
|
39
|
-
// Parses a bool from the environment variable corresponding to the given flag.
|
|
40
|
-
//
|
|
41
|
-
// If the variable exists, returns IsTruthyFlagValue() value; if not,
|
|
42
|
-
// returns the given default value.
|
|
43
|
-
BENCHMARK_EXPORT
|
|
44
|
-
bool BoolFromEnv(const char* flag, bool default_val);
|
|
45
|
-
|
|
46
|
-
// Parses an Int32 from the environment variable corresponding to the given
|
|
47
|
-
// flag.
|
|
48
|
-
//
|
|
49
|
-
// If the variable exists, returns ParseInt32() value; if not, returns
|
|
50
|
-
// the given default value.
|
|
51
|
-
BENCHMARK_EXPORT
|
|
52
|
-
int32_t Int32FromEnv(const char* flag, int32_t default_val);
|
|
53
|
-
|
|
54
|
-
// Parses an Double from the environment variable corresponding to the given
|
|
55
|
-
// flag.
|
|
56
|
-
//
|
|
57
|
-
// If the variable exists, returns ParseDouble(); if not, returns
|
|
58
|
-
// the given default value.
|
|
59
|
-
BENCHMARK_EXPORT
|
|
60
|
-
double DoubleFromEnv(const char* flag, double default_val);
|
|
61
|
-
|
|
62
|
-
// Parses a string from the environment variable corresponding to the given
|
|
63
|
-
// flag.
|
|
64
|
-
//
|
|
65
|
-
// If variable exists, returns its value; if not, returns
|
|
66
|
-
// the given default value.
|
|
67
|
-
BENCHMARK_EXPORT
|
|
68
|
-
const char* StringFromEnv(const char* flag, const char* default_val);
|
|
69
|
-
|
|
70
|
-
// Parses a set of kvpairs from the environment variable corresponding to the
|
|
71
|
-
// given flag.
|
|
72
|
-
//
|
|
73
|
-
// If variable exists, returns its value; if not, returns
|
|
74
|
-
// the given default value.
|
|
75
|
-
BENCHMARK_EXPORT
|
|
76
|
-
std::map<std::string, std::string> KvPairsFromEnv(
|
|
77
|
-
const char* flag, std::map<std::string, std::string> default_val);
|
|
78
|
-
|
|
79
|
-
// Parses a string for a bool flag, in the form of either
|
|
80
|
-
// "--flag=value" or "--flag".
|
|
81
|
-
//
|
|
82
|
-
// In the former case, the value is taken as true if it passes IsTruthyValue().
|
|
83
|
-
//
|
|
84
|
-
// In the latter case, the value is taken as true.
|
|
85
|
-
//
|
|
86
|
-
// On success, stores the value of the flag in *value, and returns
|
|
87
|
-
// true. On failure, returns false without changing *value.
|
|
88
|
-
BENCHMARK_EXPORT
|
|
89
|
-
bool ParseBoolFlag(const char* str, const char* flag, bool* value);
|
|
90
|
-
|
|
91
|
-
// Parses a string for an Int32 flag, in the form of "--flag=value".
|
|
92
|
-
//
|
|
93
|
-
// On success, stores the value of the flag in *value, and returns
|
|
94
|
-
// true. On failure, returns false without changing *value.
|
|
95
|
-
BENCHMARK_EXPORT
|
|
96
|
-
bool ParseInt32Flag(const char* str, const char* flag, int32_t* value);
|
|
97
|
-
|
|
98
|
-
// Parses a string for a Double flag, in the form of "--flag=value".
|
|
99
|
-
//
|
|
100
|
-
// On success, stores the value of the flag in *value, and returns
|
|
101
|
-
// true. On failure, returns false without changing *value.
|
|
102
|
-
BENCHMARK_EXPORT
|
|
103
|
-
bool ParseDoubleFlag(const char* str, const char* flag, double* value);
|
|
104
|
-
|
|
105
|
-
// Parses a string for a string flag, in the form of "--flag=value".
|
|
106
|
-
//
|
|
107
|
-
// On success, stores the value of the flag in *value, and returns
|
|
108
|
-
// true. On failure, returns false without changing *value.
|
|
109
|
-
BENCHMARK_EXPORT
|
|
110
|
-
bool ParseStringFlag(const char* str, const char* flag, std::string* value);
|
|
111
|
-
|
|
112
|
-
// Parses a string for a kvpairs flag in the form "--flag=key=value,key=value"
|
|
113
|
-
//
|
|
114
|
-
// On success, stores the value of the flag in *value and returns true. On
|
|
115
|
-
// failure returns false, though *value may have been mutated.
|
|
116
|
-
BENCHMARK_EXPORT
|
|
117
|
-
bool ParseKeyValueFlag(const char* str, const char* flag,
|
|
118
|
-
std::map<std::string, std::string>* value);
|
|
119
|
-
|
|
120
|
-
// Returns true if the string matches the flag.
|
|
121
|
-
BENCHMARK_EXPORT
|
|
122
|
-
bool IsFlag(const char* str, const char* flag);
|
|
123
|
-
|
|
124
|
-
// Returns true unless value starts with one of: '0', 'f', 'F', 'n' or 'N', or
|
|
125
|
-
// some non-alphanumeric character. Also returns false if the value matches
|
|
126
|
-
// one of 'no', 'false', 'off' (case-insensitive). As a special case, also
|
|
127
|
-
// returns true if value is the empty string.
|
|
128
|
-
BENCHMARK_EXPORT
|
|
129
|
-
bool IsTruthyFlagValue(const std::string& value);
|
|
130
|
-
|
|
131
|
-
} // end namespace benchmark
|
|
132
|
-
|
|
133
|
-
#endif // BENCHMARK_COMMANDLINEFLAGS_H_
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
// Copyright 2016 Ismael Jimenez Martinez. All rights reserved.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
// you may not use this file except in compliance with the License.
|
|
5
|
-
// You may obtain a copy of the License at
|
|
6
|
-
//
|
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
//
|
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
// See the License for the specific language governing permissions and
|
|
13
|
-
// limitations under the License.
|
|
14
|
-
|
|
15
|
-
// Source project : https://github.com/ismaelJimenez/cpp.leastsq
|
|
16
|
-
// Adapted to be used with google benchmark
|
|
17
|
-
|
|
18
|
-
#include "complexity.h"
|
|
19
|
-
|
|
20
|
-
#include <algorithm>
|
|
21
|
-
#include <cmath>
|
|
22
|
-
|
|
23
|
-
#include "benchmark/benchmark.h"
|
|
24
|
-
#include "check.h"
|
|
25
|
-
|
|
26
|
-
namespace benchmark {
|
|
27
|
-
|
|
28
|
-
// Internal function to calculate the different scalability forms
|
|
29
|
-
BigOFunc* FittingCurve(BigO complexity) {
|
|
30
|
-
static const double kLog2E = 1.44269504088896340736;
|
|
31
|
-
switch (complexity) {
|
|
32
|
-
case oN:
|
|
33
|
-
return [](IterationCount n) -> double { return static_cast<double>(n); };
|
|
34
|
-
case oNSquared:
|
|
35
|
-
return [](IterationCount n) -> double { return std::pow(n, 2); };
|
|
36
|
-
case oNCubed:
|
|
37
|
-
return [](IterationCount n) -> double { return std::pow(n, 3); };
|
|
38
|
-
case oLogN:
|
|
39
|
-
/* Note: can't use log2 because Android's GNU STL lacks it */
|
|
40
|
-
return
|
|
41
|
-
[](IterationCount n) { return kLog2E * log(static_cast<double>(n)); };
|
|
42
|
-
case oNLogN:
|
|
43
|
-
/* Note: can't use log2 because Android's GNU STL lacks it */
|
|
44
|
-
return [](IterationCount n) {
|
|
45
|
-
return kLog2E * n * log(static_cast<double>(n));
|
|
46
|
-
};
|
|
47
|
-
case o1:
|
|
48
|
-
default:
|
|
49
|
-
return [](IterationCount) { return 1.0; };
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Function to return an string for the calculated complexity
|
|
54
|
-
std::string GetBigOString(BigO complexity) {
|
|
55
|
-
switch (complexity) {
|
|
56
|
-
case oN:
|
|
57
|
-
return "N";
|
|
58
|
-
case oNSquared:
|
|
59
|
-
return "N^2";
|
|
60
|
-
case oNCubed:
|
|
61
|
-
return "N^3";
|
|
62
|
-
case oLogN:
|
|
63
|
-
return "lgN";
|
|
64
|
-
case oNLogN:
|
|
65
|
-
return "NlgN";
|
|
66
|
-
case o1:
|
|
67
|
-
return "(1)";
|
|
68
|
-
default:
|
|
69
|
-
return "f(N)";
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Find the coefficient for the high-order term in the running time, by
|
|
74
|
-
// minimizing the sum of squares of relative error, for the fitting curve
|
|
75
|
-
// given by the lambda expression.
|
|
76
|
-
// - n : Vector containing the size of the benchmark tests.
|
|
77
|
-
// - time : Vector containing the times for the benchmark tests.
|
|
78
|
-
// - fitting_curve : lambda expression (e.g. [](int64_t n) {return n; };).
|
|
79
|
-
|
|
80
|
-
// For a deeper explanation on the algorithm logic, please refer to
|
|
81
|
-
// https://en.wikipedia.org/wiki/Least_squares#Least_squares,_regression_analysis_and_statistics
|
|
82
|
-
|
|
83
|
-
LeastSq MinimalLeastSq(const std::vector<int64_t>& n,
|
|
84
|
-
const std::vector<double>& time,
|
|
85
|
-
BigOFunc* fitting_curve) {
|
|
86
|
-
double sigma_gn_squared = 0.0;
|
|
87
|
-
double sigma_time = 0.0;
|
|
88
|
-
double sigma_time_gn = 0.0;
|
|
89
|
-
|
|
90
|
-
// Calculate least square fitting parameter
|
|
91
|
-
for (size_t i = 0; i < n.size(); ++i) {
|
|
92
|
-
double gn_i = fitting_curve(n[i]);
|
|
93
|
-
sigma_gn_squared += gn_i * gn_i;
|
|
94
|
-
sigma_time += time[i];
|
|
95
|
-
sigma_time_gn += time[i] * gn_i;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
LeastSq result;
|
|
99
|
-
result.complexity = oLambda;
|
|
100
|
-
|
|
101
|
-
// Calculate complexity.
|
|
102
|
-
result.coef = sigma_time_gn / sigma_gn_squared;
|
|
103
|
-
|
|
104
|
-
// Calculate RMS
|
|
105
|
-
double rms = 0.0;
|
|
106
|
-
for (size_t i = 0; i < n.size(); ++i) {
|
|
107
|
-
double fit = result.coef * fitting_curve(n[i]);
|
|
108
|
-
rms += pow((time[i] - fit), 2);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// Normalized RMS by the mean of the observed values
|
|
112
|
-
double mean = sigma_time / n.size();
|
|
113
|
-
result.rms = sqrt(rms / n.size()) / mean;
|
|
114
|
-
|
|
115
|
-
return result;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Find the coefficient for the high-order term in the running time, by
|
|
119
|
-
// minimizing the sum of squares of relative error.
|
|
120
|
-
// - n : Vector containing the size of the benchmark tests.
|
|
121
|
-
// - time : Vector containing the times for the benchmark tests.
|
|
122
|
-
// - complexity : If different than oAuto, the fitting curve will stick to
|
|
123
|
-
// this one. If it is oAuto, it will be calculated the best
|
|
124
|
-
// fitting curve.
|
|
125
|
-
LeastSq MinimalLeastSq(const std::vector<int64_t>& n,
|
|
126
|
-
const std::vector<double>& time, const BigO complexity) {
|
|
127
|
-
BM_CHECK_EQ(n.size(), time.size());
|
|
128
|
-
BM_CHECK_GE(n.size(), 2); // Do not compute fitting curve is less than two
|
|
129
|
-
// benchmark runs are given
|
|
130
|
-
BM_CHECK_NE(complexity, oNone);
|
|
131
|
-
|
|
132
|
-
LeastSq best_fit;
|
|
133
|
-
|
|
134
|
-
if (complexity == oAuto) {
|
|
135
|
-
std::vector<BigO> fit_curves = {oLogN, oN, oNLogN, oNSquared, oNCubed};
|
|
136
|
-
|
|
137
|
-
// Take o1 as default best fitting curve
|
|
138
|
-
best_fit = MinimalLeastSq(n, time, FittingCurve(o1));
|
|
139
|
-
best_fit.complexity = o1;
|
|
140
|
-
|
|
141
|
-
// Compute all possible fitting curves and stick to the best one
|
|
142
|
-
for (const auto& fit : fit_curves) {
|
|
143
|
-
LeastSq current_fit = MinimalLeastSq(n, time, FittingCurve(fit));
|
|
144
|
-
if (current_fit.rms < best_fit.rms) {
|
|
145
|
-
best_fit = current_fit;
|
|
146
|
-
best_fit.complexity = fit;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
} else {
|
|
150
|
-
best_fit = MinimalLeastSq(n, time, FittingCurve(complexity));
|
|
151
|
-
best_fit.complexity = complexity;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return best_fit;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
std::vector<BenchmarkReporter::Run> ComputeBigO(
|
|
158
|
-
const std::vector<BenchmarkReporter::Run>& reports) {
|
|
159
|
-
typedef BenchmarkReporter::Run Run;
|
|
160
|
-
std::vector<Run> results;
|
|
161
|
-
|
|
162
|
-
if (reports.size() < 2) return results;
|
|
163
|
-
|
|
164
|
-
// Accumulators.
|
|
165
|
-
std::vector<int64_t> n;
|
|
166
|
-
std::vector<double> real_time;
|
|
167
|
-
std::vector<double> cpu_time;
|
|
168
|
-
|
|
169
|
-
// Populate the accumulators.
|
|
170
|
-
for (const Run& run : reports) {
|
|
171
|
-
BM_CHECK_GT(run.complexity_n, 0)
|
|
172
|
-
<< "Did you forget to call SetComplexityN?";
|
|
173
|
-
n.push_back(run.complexity_n);
|
|
174
|
-
real_time.push_back(run.real_accumulated_time / run.iterations);
|
|
175
|
-
cpu_time.push_back(run.cpu_accumulated_time / run.iterations);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
LeastSq result_cpu;
|
|
179
|
-
LeastSq result_real;
|
|
180
|
-
|
|
181
|
-
if (reports[0].complexity == oLambda) {
|
|
182
|
-
result_cpu = MinimalLeastSq(n, cpu_time, reports[0].complexity_lambda);
|
|
183
|
-
result_real = MinimalLeastSq(n, real_time, reports[0].complexity_lambda);
|
|
184
|
-
} else {
|
|
185
|
-
result_cpu = MinimalLeastSq(n, cpu_time, reports[0].complexity);
|
|
186
|
-
result_real = MinimalLeastSq(n, real_time, result_cpu.complexity);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// Drop the 'args' when reporting complexity.
|
|
190
|
-
auto run_name = reports[0].run_name;
|
|
191
|
-
run_name.args.clear();
|
|
192
|
-
|
|
193
|
-
// Get the data from the accumulator to BenchmarkReporter::Run's.
|
|
194
|
-
Run big_o;
|
|
195
|
-
big_o.run_name = run_name;
|
|
196
|
-
big_o.family_index = reports[0].family_index;
|
|
197
|
-
big_o.per_family_instance_index = reports[0].per_family_instance_index;
|
|
198
|
-
big_o.run_type = BenchmarkReporter::Run::RT_Aggregate;
|
|
199
|
-
big_o.repetitions = reports[0].repetitions;
|
|
200
|
-
big_o.repetition_index = Run::no_repetition_index;
|
|
201
|
-
big_o.threads = reports[0].threads;
|
|
202
|
-
big_o.aggregate_name = "BigO";
|
|
203
|
-
big_o.aggregate_unit = StatisticUnit::kTime;
|
|
204
|
-
big_o.report_label = reports[0].report_label;
|
|
205
|
-
big_o.iterations = 0;
|
|
206
|
-
big_o.real_accumulated_time = result_real.coef;
|
|
207
|
-
big_o.cpu_accumulated_time = result_cpu.coef;
|
|
208
|
-
big_o.report_big_o = true;
|
|
209
|
-
big_o.complexity = result_cpu.complexity;
|
|
210
|
-
|
|
211
|
-
// All the time results are reported after being multiplied by the
|
|
212
|
-
// time unit multiplier. But since RMS is a relative quantity it
|
|
213
|
-
// should not be multiplied at all. So, here, we _divide_ it by the
|
|
214
|
-
// multiplier so that when it is multiplied later the result is the
|
|
215
|
-
// correct one.
|
|
216
|
-
double multiplier = GetTimeUnitMultiplier(reports[0].time_unit);
|
|
217
|
-
|
|
218
|
-
// Only add label to mean/stddev if it is same for all runs
|
|
219
|
-
Run rms;
|
|
220
|
-
rms.run_name = run_name;
|
|
221
|
-
rms.family_index = reports[0].family_index;
|
|
222
|
-
rms.per_family_instance_index = reports[0].per_family_instance_index;
|
|
223
|
-
rms.run_type = BenchmarkReporter::Run::RT_Aggregate;
|
|
224
|
-
rms.aggregate_name = "RMS";
|
|
225
|
-
rms.aggregate_unit = StatisticUnit::kPercentage;
|
|
226
|
-
rms.report_label = big_o.report_label;
|
|
227
|
-
rms.iterations = 0;
|
|
228
|
-
rms.repetition_index = Run::no_repetition_index;
|
|
229
|
-
rms.repetitions = reports[0].repetitions;
|
|
230
|
-
rms.threads = reports[0].threads;
|
|
231
|
-
rms.real_accumulated_time = result_real.rms / multiplier;
|
|
232
|
-
rms.cpu_accumulated_time = result_cpu.rms / multiplier;
|
|
233
|
-
rms.report_rms = true;
|
|
234
|
-
rms.complexity = result_cpu.complexity;
|
|
235
|
-
// don't forget to keep the time unit, or we won't be able to
|
|
236
|
-
// recover the correct value.
|
|
237
|
-
rms.time_unit = reports[0].time_unit;
|
|
238
|
-
|
|
239
|
-
results.push_back(big_o);
|
|
240
|
-
results.push_back(rms);
|
|
241
|
-
return results;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
} // end namespace benchmark
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// Copyright 2016 Ismael Jimenez Martinez. All rights reserved.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
// you may not use this file except in compliance with the License.
|
|
5
|
-
// You may obtain a copy of the License at
|
|
6
|
-
//
|
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
//
|
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
// See the License for the specific language governing permissions and
|
|
13
|
-
// limitations under the License.
|
|
14
|
-
|
|
15
|
-
// Source project : https://github.com/ismaelJimenez/cpp.leastsq
|
|
16
|
-
// Adapted to be used with google benchmark
|
|
17
|
-
|
|
18
|
-
#ifndef COMPLEXITY_H_
|
|
19
|
-
#define COMPLEXITY_H_
|
|
20
|
-
|
|
21
|
-
#include <string>
|
|
22
|
-
#include <vector>
|
|
23
|
-
|
|
24
|
-
#include "benchmark/benchmark.h"
|
|
25
|
-
|
|
26
|
-
namespace benchmark {
|
|
27
|
-
|
|
28
|
-
// Return a vector containing the bigO and RMS information for the specified
|
|
29
|
-
// list of reports. If 'reports.size() < 2' an empty vector is returned.
|
|
30
|
-
std::vector<BenchmarkReporter::Run> ComputeBigO(
|
|
31
|
-
const std::vector<BenchmarkReporter::Run>& reports);
|
|
32
|
-
|
|
33
|
-
// This data structure will contain the result returned by MinimalLeastSq
|
|
34
|
-
// - coef : Estimated coefficient for the high-order term as
|
|
35
|
-
// interpolated from data.
|
|
36
|
-
// - rms : Normalized Root Mean Squared Error.
|
|
37
|
-
// - complexity : Scalability form (e.g. oN, oNLogN). In case a scalability
|
|
38
|
-
// form has been provided to MinimalLeastSq this will return
|
|
39
|
-
// the same value. In case BigO::oAuto has been selected, this
|
|
40
|
-
// parameter will return the best fitting curve detected.
|
|
41
|
-
|
|
42
|
-
struct LeastSq {
|
|
43
|
-
LeastSq() : coef(0.0), rms(0.0), complexity(oNone) {}
|
|
44
|
-
|
|
45
|
-
double coef;
|
|
46
|
-
double rms;
|
|
47
|
-
BigO complexity;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// Function to return an string for the calculated complexity
|
|
51
|
-
std::string GetBigOString(BigO complexity);
|
|
52
|
-
|
|
53
|
-
} // end namespace benchmark
|
|
54
|
-
|
|
55
|
-
#endif // COMPLEXITY_H_
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
// Copyright 2015 Google Inc. All rights reserved.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
// you may not use this file except in compliance with the License.
|
|
5
|
-
// You may obtain a copy of the License at
|
|
6
|
-
//
|
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
//
|
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
// See the License for the specific language governing permissions and
|
|
13
|
-
// limitations under the License.
|
|
14
|
-
|
|
15
|
-
#include <algorithm>
|
|
16
|
-
#include <cstdint>
|
|
17
|
-
#include <cstdio>
|
|
18
|
-
#include <cstring>
|
|
19
|
-
#include <iostream>
|
|
20
|
-
#include <string>
|
|
21
|
-
#include <tuple>
|
|
22
|
-
#include <vector>
|
|
23
|
-
|
|
24
|
-
#include "benchmark/benchmark.h"
|
|
25
|
-
#include "check.h"
|
|
26
|
-
#include "colorprint.h"
|
|
27
|
-
#include "commandlineflags.h"
|
|
28
|
-
#include "complexity.h"
|
|
29
|
-
#include "counter.h"
|
|
30
|
-
#include "internal_macros.h"
|
|
31
|
-
#include "string_util.h"
|
|
32
|
-
#include "timers.h"
|
|
33
|
-
|
|
34
|
-
namespace benchmark {
|
|
35
|
-
|
|
36
|
-
BENCHMARK_EXPORT
|
|
37
|
-
bool ConsoleReporter::ReportContext(const Context& context) {
|
|
38
|
-
name_field_width_ = context.name_field_width;
|
|
39
|
-
printed_header_ = false;
|
|
40
|
-
prev_counters_.clear();
|
|
41
|
-
|
|
42
|
-
PrintBasicContext(&GetErrorStream(), context);
|
|
43
|
-
|
|
44
|
-
#ifdef BENCHMARK_OS_WINDOWS
|
|
45
|
-
if ((output_options_ & OO_Color) && &std::cout != &GetOutputStream()) {
|
|
46
|
-
GetErrorStream()
|
|
47
|
-
<< "Color printing is only supported for stdout on windows."
|
|
48
|
-
" Disabling color printing\n";
|
|
49
|
-
output_options_ = static_cast<OutputOptions>(output_options_ & ~OO_Color);
|
|
50
|
-
}
|
|
51
|
-
#endif
|
|
52
|
-
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
BENCHMARK_EXPORT
|
|
57
|
-
void ConsoleReporter::PrintHeader(const Run& run) {
|
|
58
|
-
std::string str =
|
|
59
|
-
FormatString("%-*s %13s %15s %12s", static_cast<int>(name_field_width_),
|
|
60
|
-
"Benchmark", "Time", "CPU", "Iterations");
|
|
61
|
-
if (!run.counters.empty()) {
|
|
62
|
-
if (output_options_ & OO_Tabular) {
|
|
63
|
-
for (auto const& c : run.counters) {
|
|
64
|
-
str += FormatString(" %10s", c.first.c_str());
|
|
65
|
-
}
|
|
66
|
-
} else {
|
|
67
|
-
str += " UserCounters...";
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
std::string line = std::string(str.length(), '-');
|
|
71
|
-
GetOutputStream() << line << "\n" << str << "\n" << line << "\n";
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
BENCHMARK_EXPORT
|
|
75
|
-
void ConsoleReporter::ReportRuns(const std::vector<Run>& reports) {
|
|
76
|
-
for (const auto& run : reports) {
|
|
77
|
-
// print the header:
|
|
78
|
-
// --- if none was printed yet
|
|
79
|
-
bool print_header = !printed_header_;
|
|
80
|
-
// --- or if the format is tabular and this run
|
|
81
|
-
// has different fields from the prev header
|
|
82
|
-
print_header |= (output_options_ & OO_Tabular) &&
|
|
83
|
-
(!internal::SameNames(run.counters, prev_counters_));
|
|
84
|
-
if (print_header) {
|
|
85
|
-
printed_header_ = true;
|
|
86
|
-
prev_counters_ = run.counters;
|
|
87
|
-
PrintHeader(run);
|
|
88
|
-
}
|
|
89
|
-
// As an alternative to printing the headers like this, we could sort
|
|
90
|
-
// the benchmarks by header and then print. But this would require
|
|
91
|
-
// waiting for the full results before printing, or printing twice.
|
|
92
|
-
PrintRunData(run);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
static void IgnoreColorPrint(std::ostream& out, LogColor, const char* fmt,
|
|
97
|
-
...) {
|
|
98
|
-
va_list args;
|
|
99
|
-
va_start(args, fmt);
|
|
100
|
-
out << FormatString(fmt, args);
|
|
101
|
-
va_end(args);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
static std::string FormatTime(double time) {
|
|
105
|
-
// For the time columns of the console printer 13 digits are reserved. One of
|
|
106
|
-
// them is a space and max two of them are the time unit (e.g ns). That puts
|
|
107
|
-
// us at 10 digits usable for the number.
|
|
108
|
-
// Align decimal places...
|
|
109
|
-
if (time < 1.0) {
|
|
110
|
-
return FormatString("%10.3f", time);
|
|
111
|
-
}
|
|
112
|
-
if (time < 10.0) {
|
|
113
|
-
return FormatString("%10.2f", time);
|
|
114
|
-
}
|
|
115
|
-
if (time < 100.0) {
|
|
116
|
-
return FormatString("%10.1f", time);
|
|
117
|
-
}
|
|
118
|
-
// Assuming the time is at max 9.9999e+99 and we have 10 digits for the
|
|
119
|
-
// number, we get 10-1(.)-1(e)-1(sign)-2(exponent) = 5 digits to print.
|
|
120
|
-
if (time > 9999999999 /*max 10 digit number*/) {
|
|
121
|
-
return FormatString("%1.4e", time);
|
|
122
|
-
}
|
|
123
|
-
return FormatString("%10.0f", time);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
BENCHMARK_EXPORT
|
|
127
|
-
void ConsoleReporter::PrintRunData(const Run& result) {
|
|
128
|
-
typedef void(PrinterFn)(std::ostream&, LogColor, const char*, ...);
|
|
129
|
-
auto& Out = GetOutputStream();
|
|
130
|
-
PrinterFn* printer = (output_options_ & OO_Color)
|
|
131
|
-
? static_cast<PrinterFn*>(ColorPrintf)
|
|
132
|
-
: IgnoreColorPrint;
|
|
133
|
-
auto name_color =
|
|
134
|
-
(result.report_big_o || result.report_rms) ? COLOR_BLUE : COLOR_GREEN;
|
|
135
|
-
printer(Out, name_color, "%-*s ", name_field_width_,
|
|
136
|
-
result.benchmark_name().c_str());
|
|
137
|
-
|
|
138
|
-
if (internal::SkippedWithError == result.skipped) {
|
|
139
|
-
printer(Out, COLOR_RED, "ERROR OCCURRED: \'%s\'",
|
|
140
|
-
result.skip_message.c_str());
|
|
141
|
-
printer(Out, COLOR_DEFAULT, "\n");
|
|
142
|
-
return;
|
|
143
|
-
} else if (internal::SkippedWithMessage == result.skipped) {
|
|
144
|
-
printer(Out, COLOR_WHITE, "SKIPPED: \'%s\'", result.skip_message.c_str());
|
|
145
|
-
printer(Out, COLOR_DEFAULT, "\n");
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
const double real_time = result.GetAdjustedRealTime();
|
|
150
|
-
const double cpu_time = result.GetAdjustedCPUTime();
|
|
151
|
-
const std::string real_time_str = FormatTime(real_time);
|
|
152
|
-
const std::string cpu_time_str = FormatTime(cpu_time);
|
|
153
|
-
|
|
154
|
-
if (result.report_big_o) {
|
|
155
|
-
std::string big_o = GetBigOString(result.complexity);
|
|
156
|
-
printer(Out, COLOR_YELLOW, "%10.2f %-4s %10.2f %-4s ", real_time,
|
|
157
|
-
big_o.c_str(), cpu_time, big_o.c_str());
|
|
158
|
-
} else if (result.report_rms) {
|
|
159
|
-
printer(Out, COLOR_YELLOW, "%10.0f %-4s %10.0f %-4s ", real_time * 100, "%",
|
|
160
|
-
cpu_time * 100, "%");
|
|
161
|
-
} else if (result.run_type != Run::RT_Aggregate ||
|
|
162
|
-
result.aggregate_unit == StatisticUnit::kTime) {
|
|
163
|
-
const char* timeLabel = GetTimeUnitString(result.time_unit);
|
|
164
|
-
printer(Out, COLOR_YELLOW, "%s %-4s %s %-4s ", real_time_str.c_str(),
|
|
165
|
-
timeLabel, cpu_time_str.c_str(), timeLabel);
|
|
166
|
-
} else {
|
|
167
|
-
assert(result.aggregate_unit == StatisticUnit::kPercentage);
|
|
168
|
-
printer(Out, COLOR_YELLOW, "%10.2f %-4s %10.2f %-4s ",
|
|
169
|
-
(100. * result.real_accumulated_time), "%",
|
|
170
|
-
(100. * result.cpu_accumulated_time), "%");
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
if (!result.report_big_o && !result.report_rms) {
|
|
174
|
-
printer(Out, COLOR_CYAN, "%10lld", result.iterations);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
for (auto& c : result.counters) {
|
|
178
|
-
const std::size_t cNameLen =
|
|
179
|
-
std::max(std::string::size_type(10), c.first.length());
|
|
180
|
-
std::string s;
|
|
181
|
-
const char* unit = "";
|
|
182
|
-
if (result.run_type == Run::RT_Aggregate &&
|
|
183
|
-
result.aggregate_unit == StatisticUnit::kPercentage) {
|
|
184
|
-
s = StrFormat("%.2f", 100. * c.second.value);
|
|
185
|
-
unit = "%";
|
|
186
|
-
} else {
|
|
187
|
-
s = HumanReadableNumber(c.second.value, c.second.oneK);
|
|
188
|
-
if (c.second.flags & Counter::kIsRate)
|
|
189
|
-
unit = (c.second.flags & Counter::kInvert) ? "s" : "/s";
|
|
190
|
-
}
|
|
191
|
-
if (output_options_ & OO_Tabular) {
|
|
192
|
-
printer(Out, COLOR_DEFAULT, " %*s%s", cNameLen - strlen(unit), s.c_str(),
|
|
193
|
-
unit);
|
|
194
|
-
} else {
|
|
195
|
-
printer(Out, COLOR_DEFAULT, " %s=%s%s", c.first.c_str(), s.c_str(), unit);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
if (!result.report_label.empty()) {
|
|
200
|
-
printer(Out, COLOR_DEFAULT, " %s", result.report_label.c_str());
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
printer(Out, COLOR_DEFAULT, "\n");
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
} // end namespace benchmark
|