data-structure-typed 2.4.1 → 2.4.3

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.
Files changed (738) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/cjs/index.cjs +36 -9
  3. package/dist/cjs-legacy/index.cjs +36 -9
  4. package/dist/esm/index.mjs +36 -9
  5. package/dist/esm-legacy/index.mjs +36 -9
  6. package/dist/types/data-structures/binary-tree/tree-map.d.ts +10 -0
  7. package/dist/types/data-structures/binary-tree/tree-set.d.ts +10 -0
  8. package/dist/umd/data-structure-typed.js +36 -8
  9. package/dist/umd/data-structure-typed.min.js +2 -2
  10. package/package.json +7 -5
  11. package/src/data-structures/binary-tree/tree-map.ts +16 -0
  12. package/src/data-structures/binary-tree/tree-set.ts +16 -0
  13. package/src/data-structures/trie/trie.ts +6 -8
  14. package/CMakeLists.txt +0 -52
  15. package/benchmark/report.html +0 -221
  16. package/benchmark/report.json +0 -1972
  17. package/build/CMakeCache.txt +0 -603
  18. package/build/CMakeFiles/4.0.3/CMakeCXXCompiler.cmake +0 -104
  19. package/build/CMakeFiles/4.0.3/CMakeDetermineCompilerABI_CXX.bin +0 -0
  20. package/build/CMakeFiles/4.0.3/CMakeSystem.cmake +0 -15
  21. package/build/CMakeFiles/4.0.3/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -920
  22. package/build/CMakeFiles/4.0.3/CompilerIdCXX/a.out +0 -0
  23. package/build/CMakeFiles/4.0.3/CompilerIdCXX/apple-sdk.cpp +0 -1
  24. package/build/CMakeFiles/CMakeConfigureLog.yaml +0 -2146
  25. package/build/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
  26. package/build/CMakeFiles/InstallScripts.json +0 -9
  27. package/build/CMakeFiles/Makefile.cmake +0 -100
  28. package/build/CMakeFiles/Makefile2 +0 -720
  29. package/build/CMakeFiles/TargetDirectories.txt +0 -23
  30. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/DependInfo.cmake +0 -23
  31. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/build.make +0 -114
  32. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/cmake_clean.cmake +0 -11
  33. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.internal +0 -839
  34. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.make +0 -2506
  35. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.ts +0 -2
  36. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/depend.make +0 -2
  37. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/flags.make +0 -10
  38. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/link.txt +0 -1
  39. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/progress.make +0 -3
  40. package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp.o +0 -0
  41. 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
  42. package/build/CMakeFiles/avl-tree-benchmark.dir/DependInfo.cmake +0 -23
  43. package/build/CMakeFiles/avl-tree-benchmark.dir/build.make +0 -114
  44. package/build/CMakeFiles/avl-tree-benchmark.dir/cmake_clean.cmake +0 -11
  45. package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.internal +0 -839
  46. package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.make +0 -2506
  47. package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.ts +0 -2
  48. package/build/CMakeFiles/avl-tree-benchmark.dir/depend.make +0 -2
  49. package/build/CMakeFiles/avl-tree-benchmark.dir/flags.make +0 -10
  50. package/build/CMakeFiles/avl-tree-benchmark.dir/link.txt +0 -1
  51. package/build/CMakeFiles/avl-tree-benchmark.dir/progress.make +0 -3
  52. package/build/CMakeFiles/avl-tree-benchmark.dir/test/performance/data-structures/binary-tree/avl-tree.test.cpp.o +0 -0
  53. package/build/CMakeFiles/avl-tree-benchmark.dir/test/performance/data-structures/binary-tree/avl-tree.test.cpp.o.d +0 -835
  54. package/build/CMakeFiles/cmake.check_cache +0 -1
  55. package/build/CMakeFiles/deque-benchmark.dir/DependInfo.cmake +0 -23
  56. package/build/CMakeFiles/deque-benchmark.dir/build.make +0 -114
  57. package/build/CMakeFiles/deque-benchmark.dir/cmake_clean.cmake +0 -11
  58. package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.internal +0 -791
  59. package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.make +0 -2362
  60. package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.ts +0 -2
  61. package/build/CMakeFiles/deque-benchmark.dir/depend.make +0 -2
  62. package/build/CMakeFiles/deque-benchmark.dir/flags.make +0 -10
  63. package/build/CMakeFiles/deque-benchmark.dir/link.txt +0 -1
  64. package/build/CMakeFiles/deque-benchmark.dir/progress.make +0 -3
  65. package/build/CMakeFiles/deque-benchmark.dir/test/performance/data-structures/queue/deque.test.cpp.o +0 -0
  66. package/build/CMakeFiles/deque-benchmark.dir/test/performance/data-structures/queue/deque.test.cpp.o.d +0 -787
  67. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/DependInfo.cmake +0 -23
  68. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/build.make +0 -114
  69. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/cmake_clean.cmake +0 -11
  70. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.internal +0 -790
  71. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.make +0 -2359
  72. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.ts +0 -2
  73. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/depend.make +0 -2
  74. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/flags.make +0 -10
  75. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/link.txt +0 -1
  76. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/progress.make +0 -3
  77. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp.o +0 -0
  78. package/build/CMakeFiles/doubly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp.o.d +0 -786
  79. package/build/CMakeFiles/hash-map-benchmark.dir/DependInfo.cmake +0 -23
  80. package/build/CMakeFiles/hash-map-benchmark.dir/build.make +0 -114
  81. package/build/CMakeFiles/hash-map-benchmark.dir/cmake_clean.cmake +0 -11
  82. package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.internal +0 -790
  83. package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.make +0 -2359
  84. package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.ts +0 -2
  85. package/build/CMakeFiles/hash-map-benchmark.dir/depend.make +0 -2
  86. package/build/CMakeFiles/hash-map-benchmark.dir/flags.make +0 -10
  87. package/build/CMakeFiles/hash-map-benchmark.dir/link.txt +0 -1
  88. package/build/CMakeFiles/hash-map-benchmark.dir/progress.make +0 -3
  89. package/build/CMakeFiles/hash-map-benchmark.dir/test/performance/data-structures/hash/hash-map.test.cpp.o +0 -0
  90. package/build/CMakeFiles/hash-map-benchmark.dir/test/performance/data-structures/hash/hash-map.test.cpp.o.d +0 -786
  91. package/build/CMakeFiles/heap-benchmark.dir/DependInfo.cmake +0 -23
  92. package/build/CMakeFiles/heap-benchmark.dir/build.make +0 -114
  93. package/build/CMakeFiles/heap-benchmark.dir/cmake_clean.cmake +0 -11
  94. package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.internal +0 -843
  95. package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.make +0 -2518
  96. package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.ts +0 -2
  97. package/build/CMakeFiles/heap-benchmark.dir/depend.make +0 -2
  98. package/build/CMakeFiles/heap-benchmark.dir/flags.make +0 -10
  99. package/build/CMakeFiles/heap-benchmark.dir/link.txt +0 -1
  100. package/build/CMakeFiles/heap-benchmark.dir/progress.make +0 -3
  101. package/build/CMakeFiles/heap-benchmark.dir/test/performance/data-structures/heap/heap.test.cpp.o +0 -0
  102. package/build/CMakeFiles/heap-benchmark.dir/test/performance/data-structures/heap/heap.test.cpp.o.d +0 -839
  103. package/build/CMakeFiles/priority-queue-benchmark.dir/DependInfo.cmake +0 -23
  104. package/build/CMakeFiles/priority-queue-benchmark.dir/build.make +0 -114
  105. package/build/CMakeFiles/priority-queue-benchmark.dir/cmake_clean.cmake +0 -11
  106. package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.internal +0 -793
  107. package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.make +0 -2368
  108. package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.ts +0 -2
  109. package/build/CMakeFiles/priority-queue-benchmark.dir/depend.make +0 -2
  110. package/build/CMakeFiles/priority-queue-benchmark.dir/flags.make +0 -10
  111. package/build/CMakeFiles/priority-queue-benchmark.dir/link.txt +0 -1
  112. package/build/CMakeFiles/priority-queue-benchmark.dir/progress.make +0 -3
  113. package/build/CMakeFiles/priority-queue-benchmark.dir/test/performance/data-structures/priority-queue/priority-queue.test.cpp.o +0 -0
  114. package/build/CMakeFiles/priority-queue-benchmark.dir/test/performance/data-structures/priority-queue/priority-queue.test.cpp.o.d +0 -789
  115. package/build/CMakeFiles/progress.marks +0 -1
  116. package/build/CMakeFiles/queue-benchmark.dir/DependInfo.cmake +0 -23
  117. package/build/CMakeFiles/queue-benchmark.dir/build.make +0 -114
  118. package/build/CMakeFiles/queue-benchmark.dir/cmake_clean.cmake +0 -11
  119. package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.internal +0 -793
  120. package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.make +0 -2368
  121. package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.ts +0 -2
  122. package/build/CMakeFiles/queue-benchmark.dir/depend.make +0 -2
  123. package/build/CMakeFiles/queue-benchmark.dir/flags.make +0 -10
  124. package/build/CMakeFiles/queue-benchmark.dir/link.txt +0 -1
  125. package/build/CMakeFiles/queue-benchmark.dir/progress.make +0 -3
  126. package/build/CMakeFiles/queue-benchmark.dir/test/performance/data-structures/queue/queue.test.cpp.o +0 -0
  127. package/build/CMakeFiles/queue-benchmark.dir/test/performance/data-structures/queue/queue.test.cpp.o.d +0 -789
  128. package/build/CMakeFiles/red-black-tree-benchmark.dir/DependInfo.cmake +0 -23
  129. package/build/CMakeFiles/red-black-tree-benchmark.dir/build.make +0 -114
  130. package/build/CMakeFiles/red-black-tree-benchmark.dir/cmake_clean.cmake +0 -11
  131. package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.internal +0 -839
  132. package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.make +0 -2506
  133. package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.ts +0 -2
  134. package/build/CMakeFiles/red-black-tree-benchmark.dir/depend.make +0 -2
  135. package/build/CMakeFiles/red-black-tree-benchmark.dir/flags.make +0 -10
  136. package/build/CMakeFiles/red-black-tree-benchmark.dir/link.txt +0 -1
  137. package/build/CMakeFiles/red-black-tree-benchmark.dir/progress.make +0 -3
  138. package/build/CMakeFiles/red-black-tree-benchmark.dir/test/performance/data-structures/binary-tree/red-black-tree.test.cpp.o +0 -0
  139. package/build/CMakeFiles/red-black-tree-benchmark.dir/test/performance/data-structures/binary-tree/red-black-tree.test.cpp.o.d +0 -835
  140. package/build/CMakeFiles/singly-linked-list-benchmark.dir/DependInfo.cmake +0 -23
  141. package/build/CMakeFiles/singly-linked-list-benchmark.dir/build.make +0 -114
  142. package/build/CMakeFiles/singly-linked-list-benchmark.dir/cmake_clean.cmake +0 -11
  143. package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.internal +0 -790
  144. package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.make +0 -2359
  145. package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.ts +0 -2
  146. package/build/CMakeFiles/singly-linked-list-benchmark.dir/depend.make +0 -2
  147. package/build/CMakeFiles/singly-linked-list-benchmark.dir/flags.make +0 -10
  148. package/build/CMakeFiles/singly-linked-list-benchmark.dir/link.txt +0 -1
  149. package/build/CMakeFiles/singly-linked-list-benchmark.dir/progress.make +0 -3
  150. package/build/CMakeFiles/singly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/singly-linked-list.test.cpp.o +0 -0
  151. package/build/CMakeFiles/singly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/singly-linked-list.test.cpp.o.d +0 -786
  152. package/build/CMakeFiles/stack-benchmark.dir/DependInfo.cmake +0 -23
  153. package/build/CMakeFiles/stack-benchmark.dir/build.make +0 -114
  154. package/build/CMakeFiles/stack-benchmark.dir/cmake_clean.cmake +0 -11
  155. package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.internal +0 -793
  156. package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.make +0 -2368
  157. package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.ts +0 -2
  158. package/build/CMakeFiles/stack-benchmark.dir/depend.make +0 -2
  159. package/build/CMakeFiles/stack-benchmark.dir/flags.make +0 -10
  160. package/build/CMakeFiles/stack-benchmark.dir/link.txt +0 -1
  161. package/build/CMakeFiles/stack-benchmark.dir/progress.make +0 -3
  162. package/build/CMakeFiles/stack-benchmark.dir/test/performance/data-structures/stack/stack.test.cpp.o +0 -0
  163. package/build/CMakeFiles/stack-benchmark.dir/test/performance/data-structures/stack/stack.test.cpp.o.d +0 -789
  164. package/build/CMakeFiles/tree-map-benchmark.dir/DependInfo.cmake +0 -23
  165. package/build/CMakeFiles/tree-map-benchmark.dir/build.make +0 -114
  166. package/build/CMakeFiles/tree-map-benchmark.dir/cmake_clean.cmake +0 -11
  167. package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.internal +0 -839
  168. package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.make +0 -2506
  169. package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.ts +0 -2
  170. package/build/CMakeFiles/tree-map-benchmark.dir/depend.make +0 -2
  171. package/build/CMakeFiles/tree-map-benchmark.dir/flags.make +0 -10
  172. package/build/CMakeFiles/tree-map-benchmark.dir/link.txt +0 -1
  173. package/build/CMakeFiles/tree-map-benchmark.dir/progress.make +0 -3
  174. package/build/CMakeFiles/tree-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-map.test.cpp.o +0 -0
  175. package/build/CMakeFiles/tree-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-map.test.cpp.o.d +0 -835
  176. package/build/CMakeFiles/tree-multi-map-benchmark.dir/DependInfo.cmake +0 -23
  177. package/build/CMakeFiles/tree-multi-map-benchmark.dir/build.make +0 -114
  178. package/build/CMakeFiles/tree-multi-map-benchmark.dir/cmake_clean.cmake +0 -11
  179. package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.internal +0 -839
  180. package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.make +0 -2506
  181. package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.ts +0 -2
  182. package/build/CMakeFiles/tree-multi-map-benchmark.dir/depend.make +0 -2
  183. package/build/CMakeFiles/tree-multi-map-benchmark.dir/flags.make +0 -10
  184. package/build/CMakeFiles/tree-multi-map-benchmark.dir/link.txt +0 -1
  185. package/build/CMakeFiles/tree-multi-map-benchmark.dir/progress.make +0 -3
  186. package/build/CMakeFiles/tree-multi-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp.o +0 -0
  187. package/build/CMakeFiles/tree-multi-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp.o.d +0 -835
  188. package/build/CMakeFiles/tree-multi-set-benchmark.dir/DependInfo.cmake +0 -23
  189. package/build/CMakeFiles/tree-multi-set-benchmark.dir/build.make +0 -114
  190. package/build/CMakeFiles/tree-multi-set-benchmark.dir/cmake_clean.cmake +0 -11
  191. package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.internal +0 -839
  192. package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.make +0 -2506
  193. package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.ts +0 -2
  194. package/build/CMakeFiles/tree-multi-set-benchmark.dir/depend.make +0 -2
  195. package/build/CMakeFiles/tree-multi-set-benchmark.dir/flags.make +0 -10
  196. package/build/CMakeFiles/tree-multi-set-benchmark.dir/link.txt +0 -1
  197. package/build/CMakeFiles/tree-multi-set-benchmark.dir/progress.make +0 -3
  198. package/build/CMakeFiles/tree-multi-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp.o +0 -0
  199. package/build/CMakeFiles/tree-multi-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp.o.d +0 -835
  200. package/build/CMakeFiles/tree-set-benchmark.dir/DependInfo.cmake +0 -23
  201. package/build/CMakeFiles/tree-set-benchmark.dir/build.make +0 -114
  202. package/build/CMakeFiles/tree-set-benchmark.dir/cmake_clean.cmake +0 -11
  203. package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.internal +0 -839
  204. package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.make +0 -2506
  205. package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.ts +0 -2
  206. package/build/CMakeFiles/tree-set-benchmark.dir/depend.make +0 -2
  207. package/build/CMakeFiles/tree-set-benchmark.dir/flags.make +0 -10
  208. package/build/CMakeFiles/tree-set-benchmark.dir/link.txt +0 -1
  209. package/build/CMakeFiles/tree-set-benchmark.dir/progress.make +0 -3
  210. package/build/CMakeFiles/tree-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-set.test.cpp.o +0 -0
  211. package/build/CMakeFiles/tree-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-set.test.cpp.o.d +0 -835
  212. package/build/Makefile +0 -783
  213. package/build/_deps/benchmark-build/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
  214. package/build/_deps/benchmark-build/CMakeFiles/progress.marks +0 -1
  215. package/build/_deps/benchmark-build/Makefile +0 -140
  216. package/build/_deps/benchmark-build/benchmark.pc +0 -12
  217. package/build/_deps/benchmark-build/benchmarkConfig.cmake +0 -14
  218. package/build/_deps/benchmark-build/benchmarkConfigVersion.cmake +0 -65
  219. package/build/_deps/benchmark-build/benchmarkTargets.cmake +0 -84
  220. package/build/_deps/benchmark-build/cmake_install.cmake +0 -50
  221. package/build/_deps/benchmark-build/src/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
  222. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/DependInfo.cmake +0 -41
  223. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark.cc.o +0 -0
  224. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark.cc.o.d +0 -875
  225. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o +0 -0
  226. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o.d +0 -802
  227. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_name.cc.o +0 -0
  228. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_name.cc.o.d +0 -772
  229. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o +0 -0
  230. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o.d +0 -841
  231. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o +0 -0
  232. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o.d +0 -833
  233. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/build.make +0 -402
  234. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/check.cc.o +0 -0
  235. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/check.cc.o.d +0 -784
  236. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/cmake_clean.cmake +0 -47
  237. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/cmake_clean_target.cmake +0 -3
  238. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/colorprint.cc.o +0 -0
  239. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/colorprint.cc.o.d +0 -791
  240. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o +0 -0
  241. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o.d +0 -795
  242. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.internal +0 -15519
  243. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.make +0 -17500
  244. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.ts +0 -2
  245. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/complexity.cc.o +0 -0
  246. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/complexity.cc.o.d +0 -793
  247. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/console_reporter.cc.o +0 -0
  248. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/console_reporter.cc.o.d +0 -802
  249. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/counter.cc.o +0 -0
  250. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/counter.cc.o.d +0 -773
  251. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o +0 -0
  252. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o.d +0 -799
  253. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/depend.make +0 -2
  254. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/flags.make +0 -10
  255. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/json_reporter.cc.o +0 -0
  256. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/json_reporter.cc.o.d +0 -800
  257. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/link.txt +0 -2
  258. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/perf_counters.cc.o +0 -0
  259. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/perf_counters.cc.o.d +0 -807
  260. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/progress.make +0 -21
  261. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/reporter.cc.o +0 -0
  262. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/reporter.cc.o.d +0 -798
  263. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/statistics.cc.o +0 -0
  264. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/statistics.cc.o.d +0 -800
  265. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/string_util.cc.o +0 -0
  266. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/string_util.cc.o.d +0 -795
  267. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/sysinfo.cc.o +0 -0
  268. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/sysinfo.cc.o.d +0 -933
  269. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/timers.cc.o +0 -0
  270. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/timers.cc.o.d +0 -904
  271. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/DependInfo.cmake +0 -23
  272. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/benchmark_main.cc.o +0 -0
  273. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/benchmark_main.cc.o.d +0 -772
  274. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/build.make +0 -114
  275. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/cmake_clean.cmake +0 -11
  276. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/cmake_clean_target.cmake +0 -3
  277. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.internal +0 -776
  278. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.make +0 -2317
  279. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.ts +0 -2
  280. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/depend.make +0 -2
  281. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/flags.make +0 -10
  282. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/link.txt +0 -2
  283. package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/progress.make +0 -3
  284. package/build/_deps/benchmark-build/src/CMakeFiles/progress.marks +0 -1
  285. package/build/_deps/benchmark-build/src/Makefile +0 -710
  286. package/build/_deps/benchmark-build/src/cmake_install.cmake +0 -45
  287. package/build/_deps/benchmark-build/src/libbenchmark.a +0 -0
  288. package/build/_deps/benchmark-build/src/libbenchmark_main.a +0 -0
  289. package/build/_deps/benchmark-src/.clang-format +0 -5
  290. package/build/_deps/benchmark-src/.clang-tidy +0 -7
  291. package/build/_deps/benchmark-src/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
  292. package/build/_deps/benchmark-src/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  293. package/build/_deps/benchmark-src/.github/install_bazel.sh +0 -13
  294. package/build/_deps/benchmark-src/.github/libcxx-setup.sh +0 -26
  295. package/build/_deps/benchmark-src/.github/workflows/bazel.yml +0 -35
  296. package/build/_deps/benchmark-src/.github/workflows/build-and-test-min-cmake.yml +0 -46
  297. package/build/_deps/benchmark-src/.github/workflows/build-and-test-perfcounters.yml +0 -51
  298. package/build/_deps/benchmark-src/.github/workflows/build-and-test.yml +0 -114
  299. package/build/_deps/benchmark-src/.github/workflows/clang-format-lint.yml +0 -17
  300. package/build/_deps/benchmark-src/.github/workflows/clang-tidy.yml +0 -38
  301. package/build/_deps/benchmark-src/.github/workflows/doxygen.yml +0 -28
  302. package/build/_deps/benchmark-src/.github/workflows/pylint.yml +0 -28
  303. package/build/_deps/benchmark-src/.github/workflows/sanitizer.yml +0 -96
  304. package/build/_deps/benchmark-src/.github/workflows/test_bindings.yml +0 -29
  305. package/build/_deps/benchmark-src/.github/workflows/wheels.yml +0 -79
  306. package/build/_deps/benchmark-src/.travis.yml +0 -208
  307. package/build/_deps/benchmark-src/.ycm_extra_conf.py +0 -115
  308. package/build/_deps/benchmark-src/AUTHORS +0 -71
  309. package/build/_deps/benchmark-src/BUILD.bazel +0 -87
  310. package/build/_deps/benchmark-src/CMakeLists.txt +0 -340
  311. package/build/_deps/benchmark-src/CONTRIBUTING.md +0 -58
  312. package/build/_deps/benchmark-src/CONTRIBUTORS +0 -95
  313. package/build/_deps/benchmark-src/LICENSE +0 -202
  314. package/build/_deps/benchmark-src/MODULE.bazel +0 -24
  315. package/build/_deps/benchmark-src/README.md +0 -223
  316. package/build/_deps/benchmark-src/WORKSPACE +0 -22
  317. package/build/_deps/benchmark-src/WORKSPACE.bzlmod +0 -2
  318. package/build/_deps/benchmark-src/_config.yml +0 -2
  319. package/build/_deps/benchmark-src/appveyor.yml +0 -50
  320. package/build/_deps/benchmark-src/bazel/benchmark_deps.bzl +0 -65
  321. package/build/_deps/benchmark-src/bindings/python/BUILD +0 -3
  322. package/build/_deps/benchmark-src/bindings/python/build_defs.bzl +0 -25
  323. package/build/_deps/benchmark-src/bindings/python/google_benchmark/BUILD +0 -40
  324. package/build/_deps/benchmark-src/bindings/python/google_benchmark/__init__.py +0 -162
  325. package/build/_deps/benchmark-src/bindings/python/google_benchmark/benchmark.cc +0 -184
  326. package/build/_deps/benchmark-src/bindings/python/google_benchmark/example.py +0 -136
  327. package/build/_deps/benchmark-src/bindings/python/nanobind.BUILD +0 -17
  328. package/build/_deps/benchmark-src/bindings/python/python_headers.BUILD +0 -6
  329. package/build/_deps/benchmark-src/cmake/AddCXXCompilerFlag.cmake +0 -78
  330. package/build/_deps/benchmark-src/cmake/CXXFeatureCheck.cmake +0 -82
  331. package/build/_deps/benchmark-src/cmake/Config.cmake.in +0 -7
  332. package/build/_deps/benchmark-src/cmake/GetGitVersion.cmake +0 -58
  333. package/build/_deps/benchmark-src/cmake/GoogleTest.cmake +0 -58
  334. package/build/_deps/benchmark-src/cmake/GoogleTest.cmake.in +0 -59
  335. package/build/_deps/benchmark-src/cmake/benchmark.pc.in +0 -12
  336. package/build/_deps/benchmark-src/cmake/gnu_posix_regex.cpp +0 -12
  337. package/build/_deps/benchmark-src/cmake/llvm-toolchain.cmake +0 -8
  338. package/build/_deps/benchmark-src/cmake/posix_regex.cpp +0 -14
  339. package/build/_deps/benchmark-src/cmake/pthread_affinity.cpp +0 -16
  340. package/build/_deps/benchmark-src/cmake/split_list.cmake +0 -3
  341. package/build/_deps/benchmark-src/cmake/std_regex.cpp +0 -10
  342. package/build/_deps/benchmark-src/cmake/steady_clock.cpp +0 -7
  343. package/build/_deps/benchmark-src/cmake/thread_safety_attributes.cpp +0 -4
  344. package/build/_deps/benchmark-src/docs/AssemblyTests.md +0 -149
  345. package/build/_deps/benchmark-src/docs/_config.yml +0 -3
  346. package/build/_deps/benchmark-src/docs/assets/images/icon.png +0 -0
  347. package/build/_deps/benchmark-src/docs/assets/images/icon.xcf +0 -0
  348. package/build/_deps/benchmark-src/docs/assets/images/icon_black.png +0 -0
  349. package/build/_deps/benchmark-src/docs/assets/images/icon_black.xcf +0 -0
  350. package/build/_deps/benchmark-src/docs/dependencies.md +0 -13
  351. package/build/_deps/benchmark-src/docs/index.md +0 -12
  352. package/build/_deps/benchmark-src/docs/perf_counters.md +0 -35
  353. package/build/_deps/benchmark-src/docs/platform_specific_build_instructions.md +0 -48
  354. package/build/_deps/benchmark-src/docs/python_bindings.md +0 -34
  355. package/build/_deps/benchmark-src/docs/random_interleaving.md +0 -13
  356. package/build/_deps/benchmark-src/docs/reducing_variance.md +0 -100
  357. package/build/_deps/benchmark-src/docs/releasing.md +0 -41
  358. package/build/_deps/benchmark-src/docs/tools.md +0 -343
  359. package/build/_deps/benchmark-src/docs/user_guide.md +0 -1266
  360. package/build/_deps/benchmark-src/include/benchmark/benchmark.h +0 -1991
  361. package/build/_deps/benchmark-src/include/benchmark/export.h +0 -47
  362. package/build/_deps/benchmark-src/pyproject.toml +0 -50
  363. package/build/_deps/benchmark-src/setup.py +0 -113
  364. package/build/_deps/benchmark-src/src/CMakeLists.txt +0 -170
  365. package/build/_deps/benchmark-src/src/arraysize.h +0 -33
  366. package/build/_deps/benchmark-src/src/benchmark.cc +0 -779
  367. package/build/_deps/benchmark-src/src/benchmark_api_internal.cc +0 -118
  368. package/build/_deps/benchmark-src/src/benchmark_api_internal.h +0 -87
  369. package/build/_deps/benchmark-src/src/benchmark_main.cc +0 -18
  370. package/build/_deps/benchmark-src/src/benchmark_name.cc +0 -59
  371. package/build/_deps/benchmark-src/src/benchmark_register.cc +0 -520
  372. package/build/_deps/benchmark-src/src/benchmark_register.h +0 -109
  373. package/build/_deps/benchmark-src/src/benchmark_runner.cc +0 -497
  374. package/build/_deps/benchmark-src/src/benchmark_runner.h +0 -131
  375. package/build/_deps/benchmark-src/src/check.cc +0 -11
  376. package/build/_deps/benchmark-src/src/check.h +0 -106
  377. package/build/_deps/benchmark-src/src/colorprint.cc +0 -200
  378. package/build/_deps/benchmark-src/src/colorprint.h +0 -33
  379. package/build/_deps/benchmark-src/src/commandlineflags.cc +0 -298
  380. package/build/_deps/benchmark-src/src/commandlineflags.h +0 -133
  381. package/build/_deps/benchmark-src/src/complexity.cc +0 -244
  382. package/build/_deps/benchmark-src/src/complexity.h +0 -55
  383. package/build/_deps/benchmark-src/src/console_reporter.cc +0 -206
  384. package/build/_deps/benchmark-src/src/counter.cc +0 -80
  385. package/build/_deps/benchmark-src/src/counter.h +0 -32
  386. package/build/_deps/benchmark-src/src/csv_reporter.cc +0 -161
  387. package/build/_deps/benchmark-src/src/cycleclock.h +0 -230
  388. package/build/_deps/benchmark-src/src/internal_macros.h +0 -115
  389. package/build/_deps/benchmark-src/src/json_reporter.cc +0 -320
  390. package/build/_deps/benchmark-src/src/log.h +0 -88
  391. package/build/_deps/benchmark-src/src/mutex.h +0 -155
  392. package/build/_deps/benchmark-src/src/perf_counters.cc +0 -282
  393. package/build/_deps/benchmark-src/src/perf_counters.h +0 -200
  394. package/build/_deps/benchmark-src/src/re.h +0 -158
  395. package/build/_deps/benchmark-src/src/reporter.cc +0 -118
  396. package/build/_deps/benchmark-src/src/statistics.cc +0 -209
  397. package/build/_deps/benchmark-src/src/statistics.h +0 -44
  398. package/build/_deps/benchmark-src/src/string_util.cc +0 -254
  399. package/build/_deps/benchmark-src/src/string_util.h +0 -70
  400. package/build/_deps/benchmark-src/src/sysinfo.cc +0 -855
  401. package/build/_deps/benchmark-src/src/thread_manager.h +0 -63
  402. package/build/_deps/benchmark-src/src/thread_timer.h +0 -86
  403. package/build/_deps/benchmark-src/src/timers.cc +0 -272
  404. package/build/_deps/benchmark-src/src/timers.h +0 -48
  405. package/build/_deps/benchmark-src/test/AssemblyTests.cmake +0 -67
  406. package/build/_deps/benchmark-src/test/BUILD +0 -127
  407. package/build/_deps/benchmark-src/test/CMakeLists.txt +0 -309
  408. package/build/_deps/benchmark-src/test/args_product_test.cc +0 -77
  409. package/build/_deps/benchmark-src/test/basic_test.cc +0 -180
  410. package/build/_deps/benchmark-src/test/benchmark_gtest.cc +0 -169
  411. package/build/_deps/benchmark-src/test/benchmark_min_time_flag_iters_test.cc +0 -66
  412. package/build/_deps/benchmark-src/test/benchmark_min_time_flag_time_test.cc +0 -90
  413. package/build/_deps/benchmark-src/test/benchmark_name_gtest.cc +0 -82
  414. package/build/_deps/benchmark-src/test/benchmark_random_interleaving_gtest.cc +0 -126
  415. package/build/_deps/benchmark-src/test/benchmark_setup_teardown_test.cc +0 -157
  416. package/build/_deps/benchmark-src/test/benchmark_test.cc +0 -274
  417. package/build/_deps/benchmark-src/test/clobber_memory_assembly_test.cc +0 -64
  418. package/build/_deps/benchmark-src/test/commandlineflags_gtest.cc +0 -228
  419. package/build/_deps/benchmark-src/test/complexity_test.cc +0 -228
  420. package/build/_deps/benchmark-src/test/cxx03_test.cc +0 -62
  421. package/build/_deps/benchmark-src/test/diagnostics_test.cc +0 -91
  422. package/build/_deps/benchmark-src/test/display_aggregates_only_test.cc +0 -45
  423. package/build/_deps/benchmark-src/test/donotoptimize_assembly_test.cc +0 -201
  424. package/build/_deps/benchmark-src/test/donotoptimize_test.cc +0 -69
  425. package/build/_deps/benchmark-src/test/filter_test.cc +0 -117
  426. package/build/_deps/benchmark-src/test/fixture_test.cc +0 -51
  427. package/build/_deps/benchmark-src/test/internal_threading_test.cc +0 -185
  428. package/build/_deps/benchmark-src/test/link_main_test.cc +0 -9
  429. package/build/_deps/benchmark-src/test/map_test.cc +0 -59
  430. package/build/_deps/benchmark-src/test/memory_manager_test.cc +0 -47
  431. package/build/_deps/benchmark-src/test/min_time_parse_gtest.cc +0 -30
  432. package/build/_deps/benchmark-src/test/multiple_ranges_test.cc +0 -96
  433. package/build/_deps/benchmark-src/test/options_test.cc +0 -77
  434. package/build/_deps/benchmark-src/test/output_test.h +0 -211
  435. package/build/_deps/benchmark-src/test/output_test_helper.cc +0 -519
  436. package/build/_deps/benchmark-src/test/perf_counters_gtest.cc +0 -307
  437. package/build/_deps/benchmark-src/test/perf_counters_test.cc +0 -92
  438. package/build/_deps/benchmark-src/test/register_benchmark_test.cc +0 -196
  439. package/build/_deps/benchmark-src/test/repetitions_test.cc +0 -214
  440. package/build/_deps/benchmark-src/test/report_aggregates_only_test.cc +0 -41
  441. package/build/_deps/benchmark-src/test/reporter_output_test.cc +0 -1130
  442. package/build/_deps/benchmark-src/test/skip_with_error_test.cc +0 -199
  443. package/build/_deps/benchmark-src/test/spec_arg_test.cc +0 -105
  444. package/build/_deps/benchmark-src/test/spec_arg_verbosity_test.cc +0 -43
  445. package/build/_deps/benchmark-src/test/state_assembly_test.cc +0 -68
  446. package/build/_deps/benchmark-src/test/statistics_gtest.cc +0 -35
  447. package/build/_deps/benchmark-src/test/string_util_gtest.cc +0 -199
  448. package/build/_deps/benchmark-src/test/templated_fixture_test.cc +0 -28
  449. package/build/_deps/benchmark-src/test/time_unit_gtest.cc +0 -37
  450. package/build/_deps/benchmark-src/test/user_counters_tabular_test.cc +0 -558
  451. package/build/_deps/benchmark-src/test/user_counters_test.cc +0 -561
  452. package/build/_deps/benchmark-src/test/user_counters_thousands_test.cc +0 -186
  453. package/build/_deps/benchmark-src/tools/BUILD.bazel +0 -19
  454. package/build/_deps/benchmark-src/tools/compare.py +0 -432
  455. package/build/_deps/benchmark-src/tools/gbench/Inputs/test1_run1.json +0 -127
  456. package/build/_deps/benchmark-src/tools/gbench/Inputs/test1_run2.json +0 -127
  457. package/build/_deps/benchmark-src/tools/gbench/Inputs/test2_run.json +0 -81
  458. package/build/_deps/benchmark-src/tools/gbench/Inputs/test3_run0.json +0 -65
  459. package/build/_deps/benchmark-src/tools/gbench/Inputs/test3_run1.json +0 -65
  460. package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run.json +0 -96
  461. package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run0.json +0 -21
  462. package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run1.json +0 -21
  463. package/build/_deps/benchmark-src/tools/gbench/__init__.py +0 -8
  464. package/build/_deps/benchmark-src/tools/gbench/report.py +0 -1201
  465. package/build/_deps/benchmark-src/tools/gbench/util.py +0 -203
  466. package/build/_deps/benchmark-src/tools/libpfm.BUILD.bazel +0 -22
  467. package/build/_deps/benchmark-src/tools/requirements.txt +0 -2
  468. package/build/_deps/benchmark-src/tools/strip_asm.py +0 -151
  469. package/build/_deps/benchmark-subbuild/CMakeCache.txt +0 -133
  470. package/build/_deps/benchmark-subbuild/CMakeFiles/4.0.3/CMakeSystem.cmake +0 -15
  471. package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeConfigureLog.yaml +0 -11
  472. package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
  473. package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeRuleHashes.txt +0 -11
  474. package/build/_deps/benchmark-subbuild/CMakeFiles/InstallScripts.json +0 -7
  475. package/build/_deps/benchmark-subbuild/CMakeFiles/Makefile.cmake +0 -52
  476. package/build/_deps/benchmark-subbuild/CMakeFiles/Makefile2 +0 -122
  477. package/build/_deps/benchmark-subbuild/CMakeFiles/TargetDirectories.txt +0 -3
  478. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate-complete +0 -0
  479. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/DependInfo.cmake +0 -22
  480. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/Labels.json +0 -46
  481. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/Labels.txt +0 -14
  482. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/build.make +0 -162
  483. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/cmake_clean.cmake +0 -17
  484. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/compiler_depend.make +0 -2
  485. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/compiler_depend.ts +0 -2
  486. package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/progress.make +0 -10
  487. package/build/_deps/benchmark-subbuild/CMakeFiles/cmake.check_cache +0 -1
  488. package/build/_deps/benchmark-subbuild/CMakeFiles/progress.marks +0 -1
  489. package/build/_deps/benchmark-subbuild/CMakeLists.txt +0 -42
  490. package/build/_deps/benchmark-subbuild/Makefile +0 -162
  491. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-build +0 -0
  492. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-configure +0 -0
  493. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-done +0 -0
  494. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-download +0 -0
  495. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-gitclone-lastrun.txt +0 -15
  496. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-gitinfo.txt +0 -15
  497. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-install +0 -0
  498. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-mkdir +0 -0
  499. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-patch +0 -0
  500. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-patch-info.txt +0 -6
  501. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-test +0 -0
  502. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-update-info.txt +0 -7
  503. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-cfgcmd.txt +0 -1
  504. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-gitclone.cmake +0 -87
  505. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-gitupdate.cmake +0 -317
  506. package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-mkdirs.cmake +0 -27
  507. package/build/_deps/benchmark-subbuild/cmake_install.cmake +0 -56
  508. package/build/bin/avl-rb-range-search-benchmark +0 -0
  509. package/build/bin/avl-tree-benchmark +0 -0
  510. package/build/bin/deque-benchmark +0 -0
  511. package/build/bin/doubly-linked-list-benchmark +0 -0
  512. package/build/bin/hash-map-benchmark +0 -0
  513. package/build/bin/heap-benchmark +0 -0
  514. package/build/bin/priority-queue-benchmark +0 -0
  515. package/build/bin/queue-benchmark +0 -0
  516. package/build/bin/red-black-tree-benchmark +0 -0
  517. package/build/bin/singly-linked-list-benchmark +0 -0
  518. package/build/bin/stack-benchmark +0 -0
  519. package/build/bin/tree-map-benchmark +0 -0
  520. package/build/bin/tree-multi-map-benchmark +0 -0
  521. package/build/bin/tree-multi-set-benchmark +0 -0
  522. package/build/bin/tree-set-benchmark +0 -0
  523. package/build/cmake_install.cmake +0 -66
  524. package/dist/cjs/index.cjs.map +0 -1
  525. package/dist/cjs-legacy/index.cjs.map +0 -1
  526. package/dist/esm/index.mjs.map +0 -1
  527. package/dist/esm-legacy/index.mjs.map +0 -1
  528. package/dist/umd/data-structure-typed.js.map +0 -1
  529. package/dist/umd/data-structure-typed.min.js.map +0 -1
  530. package/eslint.config.mjs +0 -73
  531. package/test/config.ts +0 -4
  532. package/test/integration/all-in-one.test.ts +0 -110
  533. package/test/integration/avl-tree.test.ts +0 -127
  534. package/test/integration/bst.test.ts +0 -385
  535. package/test/integration/compile.test.mjs +0 -159
  536. package/test/integration/compile.test.ts +0 -176
  537. package/test/integration/heap.test.js +0 -21
  538. package/test/integration/index.html +0 -462
  539. package/test/performance/benchmark-runner-enhanced.mjs +0 -818
  540. package/test/performance/cmake-benchmark-runner.mjs +0 -234
  541. package/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp +0 -112
  542. package/test/performance/data-structures/binary-tree/avl-rb-range-search.test.mjs +0 -51
  543. package/test/performance/data-structures/binary-tree/avl-tree.test.cpp +0 -181
  544. package/test/performance/data-structures/binary-tree/avl-tree.test.mjs +0 -138
  545. package/test/performance/data-structures/binary-tree/binary-tree-overall.test.mjs +0 -85
  546. package/test/performance/data-structures/binary-tree/binary-tree.test.mjs +0 -100
  547. package/test/performance/data-structures/binary-tree/bst.test.mjs +0 -61
  548. package/test/performance/data-structures/binary-tree/red-black-tree-cjs.test.mjs +0 -259
  549. package/test/performance/data-structures/binary-tree/red-black-tree.test.cpp +0 -213
  550. package/test/performance/data-structures/binary-tree/red-black-tree.test.mjs +0 -275
  551. package/test/performance/data-structures/binary-tree/tree-map.test.cpp +0 -129
  552. package/test/performance/data-structures/binary-tree/tree-map.test.mjs +0 -171
  553. package/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp +0 -205
  554. package/test/performance/data-structures/binary-tree/tree-multi-map.test.mjs +0 -106
  555. package/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp +0 -217
  556. package/test/performance/data-structures/binary-tree/tree-multi-set.test.mjs +0 -91
  557. package/test/performance/data-structures/binary-tree/tree-set.test.cpp +0 -127
  558. package/test/performance/data-structures/binary-tree/tree-set.test.mjs +0 -174
  559. package/test/performance/data-structures/comparison/comparison.test.mjs +0 -99
  560. package/test/performance/data-structures/graph/directed-graph.test.mjs +0 -38
  561. package/test/performance/data-structures/hash/hash-map.test.cpp +0 -183
  562. package/test/performance/data-structures/hash/hash-map.test.mjs +0 -187
  563. package/test/performance/data-structures/heap/heap.test.cpp +0 -61
  564. package/test/performance/data-structures/heap/heap.test.mjs +0 -31
  565. package/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp +0 -84
  566. package/test/performance/data-structures/linked-list/doubly-linked-list.test.mjs +0 -125
  567. package/test/performance/data-structures/linked-list/singly-linked-list.test.cpp +0 -77
  568. package/test/performance/data-structures/linked-list/singly-linked-list.test.mjs +0 -84
  569. package/test/performance/data-structures/priority-queue/max-priority-queue.test.mjs +0 -40
  570. package/test/performance/data-structures/priority-queue/priority-queue.test.cpp +0 -59
  571. package/test/performance/data-structures/priority-queue/priority-queue.test.mjs +0 -64
  572. package/test/performance/data-structures/queue/deque.test.cpp +0 -119
  573. package/test/performance/data-structures/queue/deque.test.mjs +0 -144
  574. package/test/performance/data-structures/queue/queue.test.cpp +0 -59
  575. package/test/performance/data-structures/queue/queue.test.mjs +0 -77
  576. package/test/performance/data-structures/stack/stack.test.cpp +0 -40
  577. package/test/performance/data-structures/stack/stack.test.mjs +0 -69
  578. package/test/performance/data-structures/trie/trie.test.mjs +0 -43
  579. package/test/performance/reportor-enhanced.mjs +0 -1027
  580. package/test/performance/runner-config.json +0 -51
  581. package/test/types/index.ts +0 -1
  582. package/test/types/utils/big-o.ts +0 -1
  583. package/test/types/utils/index.ts +0 -2
  584. package/test/types/utils/json2html.ts +0 -5
  585. package/test/unit/data-structures/base/iterable-element-base.coverage.test.ts +0 -106
  586. package/test/unit/data-structures/base/iterable-element-base.more-branches.coverage.test.ts +0 -61
  587. package/test/unit/data-structures/base/linear-base.array.coverage.test.ts +0 -168
  588. package/test/unit/data-structures/base/linear-base.concat-else.coverage.test.ts +0 -82
  589. package/test/unit/data-structures/base/linear-base.coverage.test.ts +0 -72
  590. package/test/unit/data-structures/base/linear-base.more-branches.coverage.test.ts +0 -414
  591. package/test/unit/data-structures/binary-tree/avl-tree-node.familyPosition-root-left.coverage.test.ts +0 -17
  592. package/test/unit/data-structures/binary-tree/avl-tree.more-branches-2.coverage.test.ts +0 -99
  593. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +0 -729
  594. package/test/unit/data-structures/binary-tree/binary-index-tree.test.ts +0 -345
  595. package/test/unit/data-structures/binary-tree/binary-indexed-tree.more-branches.coverage.test.ts +0 -18
  596. package/test/unit/data-structures/binary-tree/binary-tree.more-branches.coverage.test.ts +0 -56
  597. package/test/unit/data-structures/binary-tree/binary-tree.remaining-branches.coverage.test.ts +0 -232
  598. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +0 -1912
  599. package/test/unit/data-structures/binary-tree/bst.bound-by-predicate.coverage.test.ts +0 -33
  600. package/test/unit/data-structures/binary-tree/bst.coverage.test.ts +0 -94
  601. package/test/unit/data-structures/binary-tree/bst.deletebykey.coverage.test.ts +0 -70
  602. package/test/unit/data-structures/binary-tree/bst.deletewhere.coverage.test.ts +0 -37
  603. package/test/unit/data-structures/binary-tree/bst.floor-lower-predicate.coverage.test.ts +0 -29
  604. package/test/unit/data-structures/binary-tree/bst.floor-setmany.coverage.test.ts +0 -72
  605. package/test/unit/data-structures/binary-tree/bst.getnode.range-ensure.coverage.test.ts +0 -22
  606. package/test/unit/data-structures/binary-tree/bst.misc-branches.coverage.test.ts +0 -100
  607. package/test/unit/data-structures/binary-tree/bst.more-branches-2.coverage.test.ts +0 -133
  608. package/test/unit/data-structures/binary-tree/bst.more-branches-3.coverage.test.ts +0 -45
  609. package/test/unit/data-structures/binary-tree/bst.more-branches-4.coverage.test.ts +0 -36
  610. package/test/unit/data-structures/binary-tree/bst.more-branches-5.coverage.test.ts +0 -40
  611. package/test/unit/data-structures/binary-tree/bst.more.coverage.test.ts +0 -39
  612. package/test/unit/data-structures/binary-tree/bst.node-family.coverage.test.ts +0 -29
  613. package/test/unit/data-structures/binary-tree/bst.range-pruning.coverage.test.ts +0 -43
  614. package/test/unit/data-structures/binary-tree/bst.search-fastpath.coverage.test.ts +0 -30
  615. package/test/unit/data-structures/binary-tree/bst.test.ts +0 -3472
  616. package/test/unit/data-structures/binary-tree/data/cost-of-living-by-country.ts +0 -259
  617. package/test/unit/data-structures/binary-tree/overall.test.ts +0 -219
  618. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-corruption-repair.coverage.test.ts +0 -66
  619. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-max-update.coverage.test.ts +0 -18
  620. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-null.coverage.test.ts +0 -53
  621. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-stale-cache.coverage.test.ts +0 -25
  622. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-update.coverage.test.ts +0 -23
  623. package/test/unit/data-structures/binary-tree/red-black-tree.cache-delete.coverage.test.ts +0 -49
  624. package/test/unit/data-structures/binary-tree/red-black-tree.cache-edge.coverage.test.ts +0 -37
  625. package/test/unit/data-structures/binary-tree/red-black-tree.cache-stale-insert.coverage.test.ts +0 -39
  626. package/test/unit/data-structures/binary-tree/red-black-tree.coverage.test.ts +0 -334
  627. package/test/unit/data-structures/binary-tree/red-black-tree.delete-fixup.coverage.test.ts +0 -68
  628. package/test/unit/data-structures/binary-tree/red-black-tree.delete-successor.coverage.test.ts +0 -75
  629. package/test/unit/data-structures/binary-tree/red-black-tree.factories.coverage.test.ts +0 -26
  630. package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-compare-update.coverage.test.ts +0 -74
  631. package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-no-update.coverage.test.ts +0 -44
  632. package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-nullish.coverage.test.ts +0 -61
  633. package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-defined.coverage.test.ts +0 -35
  634. package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-undefined.coverage.test.ts +0 -43
  635. package/test/unit/data-structures/binary-tree/red-black-tree.hint-more.coverage.test.ts +0 -99
  636. package/test/unit/data-structures/binary-tree/red-black-tree.hint.coverage.test.ts +0 -60
  637. package/test/unit/data-structures/binary-tree/red-black-tree.insert-cache-nullish.coverage.test.ts +0 -29
  638. package/test/unit/data-structures/binary-tree/red-black-tree.insert-header-parent-nullish.coverage.test.ts +0 -17
  639. package/test/unit/data-structures/binary-tree/red-black-tree.internal-walk.coverage.test.ts +0 -57
  640. package/test/unit/data-structures/binary-tree/red-black-tree.minmax-cache.test.ts +0 -65
  641. package/test/unit/data-structures/binary-tree/red-black-tree.misc-inputs.coverage.test.ts +0 -17
  642. package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-2.coverage.test.ts +0 -121
  643. package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-3.coverage.test.ts +0 -55
  644. package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-4.coverage.test.ts +0 -44
  645. package/test/unit/data-structures/binary-tree/red-black-tree.predsucc.coverage.test.ts +0 -40
  646. package/test/unit/data-structures/binary-tree/red-black-tree.remaining-branches.coverage.test.ts +0 -123
  647. package/test/unit/data-structures/binary-tree/red-black-tree.set-inputs.coverage.test.ts +0 -64
  648. package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-parent-cache.coverage.test.ts +0 -79
  649. package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-remaining.coverage.test.ts +0 -44
  650. package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-uncovered.coverage.test.ts +0 -74
  651. package/test/unit/data-structures/binary-tree/red-black-tree.test.ts +0 -936
  652. package/test/unit/data-structures/binary-tree/red-black-tree.update-branches.coverage.test.ts +0 -30
  653. package/test/unit/data-structures/binary-tree/segment-tree.more-branches.coverage.test.ts +0 -31
  654. package/test/unit/data-structures/binary-tree/segment-tree.test.ts +0 -104
  655. package/test/unit/data-structures/binary-tree/tree-map.test.ts +0 -316
  656. package/test/unit/data-structures/binary-tree/tree-multi-map.coverage.test.ts +0 -245
  657. package/test/unit/data-structures/binary-tree/tree-multi-map.legacy.test.ts.skip +0 -1115
  658. package/test/unit/data-structures/binary-tree/tree-multi-map.more-branches-2.coverage.test.ts.skip +0 -59
  659. package/test/unit/data-structures/binary-tree/tree-multi-map.rfc.test.ts +0 -146
  660. package/test/unit/data-structures/binary-tree/tree-multi-map.simplified.test.ts +0 -482
  661. package/test/unit/data-structures/binary-tree/tree-multi-set.test.ts +0 -594
  662. package/test/unit/data-structures/binary-tree/tree-set.test.ts +0 -231
  663. package/test/unit/data-structures/graph/abstract-graph.more-branches-2.coverage.test.ts +0 -40
  664. package/test/unit/data-structures/graph/abstract-graph.more-branches-3.coverage.test.ts +0 -65
  665. package/test/unit/data-structures/graph/abstract-graph.more-branches-4.coverage.test.ts +0 -98
  666. package/test/unit/data-structures/graph/abstract-graph.more-branches-5.coverage.test.ts +0 -51
  667. package/test/unit/data-structures/graph/abstract-graph.more-branches.coverage.test.ts +0 -62
  668. package/test/unit/data-structures/graph/abstract-graph.test.ts +0 -117
  669. package/test/unit/data-structures/graph/directed-graph.more-branches-2.coverage.test.ts +0 -38
  670. package/test/unit/data-structures/graph/directed-graph.more-branches-3.coverage.test.ts +0 -25
  671. package/test/unit/data-structures/graph/directed-graph.more-branches.coverage.test.ts +0 -82
  672. package/test/unit/data-structures/graph/directed-graph.test.ts +0 -1185
  673. package/test/unit/data-structures/graph/map-graph.more-branches.coverage.test.ts +0 -22
  674. package/test/unit/data-structures/graph/map-graph.test.ts +0 -148
  675. package/test/unit/data-structures/graph/overall.test.ts +0 -49
  676. package/test/unit/data-structures/graph/salty-edges.json +0 -875
  677. package/test/unit/data-structures/graph/salty-vertexes.json +0 -200
  678. package/test/unit/data-structures/graph/undirected-graph.more-branches-2.coverage.test.ts +0 -35
  679. package/test/unit/data-structures/graph/undirected-graph.more-branches.coverage.test.ts +0 -87
  680. package/test/unit/data-structures/graph/undirected-graph.test.ts +0 -782
  681. package/test/unit/data-structures/hash/hash-map.more-branches.coverage.test.ts +0 -64
  682. package/test/unit/data-structures/hash/hash-map.test.ts +0 -1125
  683. package/test/unit/data-structures/hash/hash-map.toEntryFn-branch.coverage.test.ts +0 -9
  684. package/test/unit/data-structures/heap/heap.misc-branches.coverage.test.ts +0 -110
  685. package/test/unit/data-structures/heap/heap.remaining-branches.coverage.test.ts +0 -22
  686. package/test/unit/data-structures/heap/heap.test.ts +0 -760
  687. package/test/unit/data-structures/heap/max-heap.coverage.test.ts +0 -29
  688. package/test/unit/data-structures/heap/max-heap.test.ts +0 -98
  689. package/test/unit/data-structures/heap/min-heap.test.ts +0 -117
  690. package/test/unit/data-structures/linked-list/doubly-linked-list.more-branches.coverage.test.ts +0 -72
  691. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +0 -1150
  692. package/test/unit/data-structures/linked-list/linked-list.test.ts +0 -8
  693. package/test/unit/data-structures/linked-list/linked-list.unshiftMany-else.coverage.test.ts +0 -15
  694. package/test/unit/data-structures/linked-list/singly-linked-list.coverage.test.ts +0 -221
  695. package/test/unit/data-structures/linked-list/singly-linked-list.more-branches.coverage.test.ts +0 -86
  696. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +0 -836
  697. package/test/unit/data-structures/linked-list/skip-linked-list.more-branches.coverage.test.ts +0 -31
  698. package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +0 -13
  699. package/test/unit/data-structures/linked-list/skip-list.test.ts +0 -86
  700. package/test/unit/data-structures/matrix/matrix.more-branches.coverage.test.ts +0 -81
  701. package/test/unit/data-structures/matrix/matrix.pivotElement-nullish.coverage.test.ts +0 -28
  702. package/test/unit/data-structures/matrix/matrix.test.ts +0 -377
  703. package/test/unit/data-structures/matrix/navigator.test.ts +0 -244
  704. package/test/unit/data-structures/priority-queue/max-priority-queue.more-branches.coverage.test.ts +0 -10
  705. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +0 -160
  706. package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +0 -78
  707. package/test/unit/data-structures/priority-queue/priority-queue.coverage.test.ts +0 -21
  708. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +0 -101
  709. package/test/unit/data-structures/queue/deque.coverage.test.ts +0 -173
  710. package/test/unit/data-structures/queue/deque.more-branches-2.coverage.test.ts +0 -39
  711. package/test/unit/data-structures/queue/deque.more-branches-3.coverage.test.ts +0 -9
  712. package/test/unit/data-structures/queue/deque.more-branches.coverage.test.ts +0 -95
  713. package/test/unit/data-structures/queue/deque.test.ts +0 -936
  714. package/test/unit/data-structures/queue/queue.coverage.test.ts +0 -138
  715. package/test/unit/data-structures/queue/queue.more-branches-2.coverage.test.ts +0 -27
  716. package/test/unit/data-structures/queue/queue.test.ts +0 -703
  717. package/test/unit/data-structures/stack/stack.coverage.test.ts +0 -112
  718. package/test/unit/data-structures/stack/stack.test.ts +0 -438
  719. package/test/unit/data-structures/tree/tree.more-branches.coverage.test.ts +0 -9
  720. package/test/unit/data-structures/tree/tree.test.ts +0 -58
  721. package/test/unit/data-structures/trie/trie.more-branches-2.coverage.test.ts +0 -51
  722. package/test/unit/data-structures/trie/trie.test.ts +0 -1181
  723. package/test/unit/unrestricted-interconversion.test.ts +0 -299
  724. package/test/unit/utils/utils.test.ts +0 -174
  725. package/test/utils/array.ts +0 -5517
  726. package/test/utils/big-o.ts +0 -228
  727. package/test/utils/console.ts +0 -31
  728. package/test/utils/index.ts +0 -8
  729. package/test/utils/is.ts +0 -56
  730. package/test/utils/json2html.ts +0 -164
  731. package/test/utils/number.ts +0 -13
  732. package/test/utils/patch.ts +0 -33
  733. package/test/utils/perf.mjs +0 -34
  734. package/test/utils/performanc.ts +0 -7
  735. package/test/utils/string.ts +0 -49
  736. package/tsconfig.types.json +0 -15
  737. package/tsup.config.js +0 -63
  738. package/tsup.umd.config.js +0 -29
@@ -1,1130 +0,0 @@
1
-
2
- #undef NDEBUG
3
- #include <numeric>
4
- #include <utility>
5
-
6
- #include "benchmark/benchmark.h"
7
- #include "output_test.h"
8
-
9
- // ========================================================================= //
10
- // ---------------------- Testing Prologue Output -------------------------- //
11
- // ========================================================================= //
12
-
13
- ADD_CASES(TC_ConsoleOut, {{"^[-]+$", MR_Next},
14
- {"^Benchmark %s Time %s CPU %s Iterations$", MR_Next},
15
- {"^[-]+$", MR_Next}});
16
- static int AddContextCases() {
17
- AddCases(TC_ConsoleErr,
18
- {
19
- {"^%int-%int-%intT%int:%int:%int[-+]%int:%int$", MR_Default},
20
- {"Running .*(/|\\\\)reporter_output_test(\\.exe)?$", MR_Next},
21
- {"Run on \\(%int X %float MHz CPU s?\\)", MR_Next},
22
- });
23
- AddCases(TC_JSONOut,
24
- {{"^\\{", MR_Default},
25
- {"\"context\":", MR_Next},
26
- {"\"date\": \"", MR_Next},
27
- {"\"host_name\":", MR_Next},
28
- {"\"executable\": \".*(/|\\\\)reporter_output_test(\\.exe)?\",",
29
- MR_Next},
30
- {"\"num_cpus\": %int,$", MR_Next},
31
- {"\"mhz_per_cpu\": %float,$", MR_Next},
32
- {"\"caches\": \\[$", MR_Default}});
33
- auto const& Info = benchmark::CPUInfo::Get();
34
- auto const& Caches = Info.caches;
35
- if (!Caches.empty()) {
36
- AddCases(TC_ConsoleErr, {{"CPU Caches:$", MR_Next}});
37
- }
38
- for (size_t I = 0; I < Caches.size(); ++I) {
39
- std::string num_caches_str =
40
- Caches[I].num_sharing != 0 ? " \\(x%int\\)$" : "$";
41
- AddCases(TC_ConsoleErr,
42
- {{"L%int (Data|Instruction|Unified) %int KiB" + num_caches_str,
43
- MR_Next}});
44
- AddCases(TC_JSONOut, {{"\\{$", MR_Next},
45
- {"\"type\": \"", MR_Next},
46
- {"\"level\": %int,$", MR_Next},
47
- {"\"size\": %int,$", MR_Next},
48
- {"\"num_sharing\": %int$", MR_Next},
49
- {"}[,]{0,1}$", MR_Next}});
50
- }
51
- AddCases(TC_JSONOut, {{"],$"}});
52
- auto const& LoadAvg = Info.load_avg;
53
- if (!LoadAvg.empty()) {
54
- AddCases(TC_ConsoleErr,
55
- {{"Load Average: (%float, ){0,2}%float$", MR_Next}});
56
- }
57
- AddCases(TC_JSONOut, {{"\"load_avg\": \\[(%float,?){0,3}],$", MR_Next}});
58
- return 0;
59
- }
60
- int dummy_register = AddContextCases();
61
- ADD_CASES(TC_CSVOut, {{"%csv_header"}});
62
-
63
- // ========================================================================= //
64
- // ------------------------ Testing Basic Output --------------------------- //
65
- // ========================================================================= //
66
-
67
- void BM_basic(benchmark::State& state) {
68
- for (auto _ : state) {
69
- }
70
- }
71
- BENCHMARK(BM_basic);
72
-
73
- ADD_CASES(TC_ConsoleOut, {{"^BM_basic %console_report$"}});
74
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_basic\",$"},
75
- {"\"family_index\": 0,$", MR_Next},
76
- {"\"per_family_instance_index\": 0,$", MR_Next},
77
- {"\"run_name\": \"BM_basic\",$", MR_Next},
78
- {"\"run_type\": \"iteration\",$", MR_Next},
79
- {"\"repetitions\": 1,$", MR_Next},
80
- {"\"repetition_index\": 0,$", MR_Next},
81
- {"\"threads\": 1,$", MR_Next},
82
- {"\"iterations\": %int,$", MR_Next},
83
- {"\"real_time\": %float,$", MR_Next},
84
- {"\"cpu_time\": %float,$", MR_Next},
85
- {"\"time_unit\": \"ns\"$", MR_Next},
86
- {"}", MR_Next}});
87
- ADD_CASES(TC_CSVOut, {{"^\"BM_basic\",%csv_report$"}});
88
-
89
- // ========================================================================= //
90
- // ------------------------ Testing Bytes per Second Output ---------------- //
91
- // ========================================================================= //
92
-
93
- void BM_bytes_per_second(benchmark::State& state) {
94
- for (auto _ : state) {
95
- // This test requires a non-zero CPU time to avoid divide-by-zero
96
- auto iterations = state.iterations();
97
- benchmark::DoNotOptimize(iterations);
98
- }
99
- state.SetBytesProcessed(1);
100
- }
101
- BENCHMARK(BM_bytes_per_second);
102
-
103
- ADD_CASES(TC_ConsoleOut, {{"^BM_bytes_per_second %console_report "
104
- "bytes_per_second=%float[kM]{0,1}/s$"}});
105
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_bytes_per_second\",$"},
106
- {"\"family_index\": 1,$", MR_Next},
107
- {"\"per_family_instance_index\": 0,$", MR_Next},
108
- {"\"run_name\": \"BM_bytes_per_second\",$", MR_Next},
109
- {"\"run_type\": \"iteration\",$", MR_Next},
110
- {"\"repetitions\": 1,$", MR_Next},
111
- {"\"repetition_index\": 0,$", MR_Next},
112
- {"\"threads\": 1,$", MR_Next},
113
- {"\"iterations\": %int,$", MR_Next},
114
- {"\"real_time\": %float,$", MR_Next},
115
- {"\"cpu_time\": %float,$", MR_Next},
116
- {"\"time_unit\": \"ns\",$", MR_Next},
117
- {"\"bytes_per_second\": %float$", MR_Next},
118
- {"}", MR_Next}});
119
- ADD_CASES(TC_CSVOut, {{"^\"BM_bytes_per_second\",%csv_bytes_report$"}});
120
-
121
- // ========================================================================= //
122
- // ------------------------ Testing Items per Second Output ---------------- //
123
- // ========================================================================= //
124
-
125
- void BM_items_per_second(benchmark::State& state) {
126
- for (auto _ : state) {
127
- // This test requires a non-zero CPU time to avoid divide-by-zero
128
- auto iterations = state.iterations();
129
- benchmark::DoNotOptimize(iterations);
130
- }
131
- state.SetItemsProcessed(1);
132
- }
133
- BENCHMARK(BM_items_per_second);
134
-
135
- ADD_CASES(TC_ConsoleOut, {{"^BM_items_per_second %console_report "
136
- "items_per_second=%float[kM]{0,1}/s$"}});
137
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_items_per_second\",$"},
138
- {"\"family_index\": 2,$", MR_Next},
139
- {"\"per_family_instance_index\": 0,$", MR_Next},
140
- {"\"run_name\": \"BM_items_per_second\",$", MR_Next},
141
- {"\"run_type\": \"iteration\",$", MR_Next},
142
- {"\"repetitions\": 1,$", MR_Next},
143
- {"\"repetition_index\": 0,$", MR_Next},
144
- {"\"threads\": 1,$", MR_Next},
145
- {"\"iterations\": %int,$", MR_Next},
146
- {"\"real_time\": %float,$", MR_Next},
147
- {"\"cpu_time\": %float,$", MR_Next},
148
- {"\"time_unit\": \"ns\",$", MR_Next},
149
- {"\"items_per_second\": %float$", MR_Next},
150
- {"}", MR_Next}});
151
- ADD_CASES(TC_CSVOut, {{"^\"BM_items_per_second\",%csv_items_report$"}});
152
-
153
- // ========================================================================= //
154
- // ------------------------ Testing Label Output --------------------------- //
155
- // ========================================================================= //
156
-
157
- void BM_label(benchmark::State& state) {
158
- for (auto _ : state) {
159
- }
160
- state.SetLabel("some label");
161
- }
162
- BENCHMARK(BM_label);
163
-
164
- ADD_CASES(TC_ConsoleOut, {{"^BM_label %console_report some label$"}});
165
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_label\",$"},
166
- {"\"family_index\": 3,$", MR_Next},
167
- {"\"per_family_instance_index\": 0,$", MR_Next},
168
- {"\"run_name\": \"BM_label\",$", MR_Next},
169
- {"\"run_type\": \"iteration\",$", MR_Next},
170
- {"\"repetitions\": 1,$", MR_Next},
171
- {"\"repetition_index\": 0,$", MR_Next},
172
- {"\"threads\": 1,$", MR_Next},
173
- {"\"iterations\": %int,$", MR_Next},
174
- {"\"real_time\": %float,$", MR_Next},
175
- {"\"cpu_time\": %float,$", MR_Next},
176
- {"\"time_unit\": \"ns\",$", MR_Next},
177
- {"\"label\": \"some label\"$", MR_Next},
178
- {"}", MR_Next}});
179
- ADD_CASES(TC_CSVOut, {{"^\"BM_label\",%csv_label_report_begin\"some "
180
- "label\"%csv_label_report_end$"}});
181
-
182
- // ========================================================================= //
183
- // ------------------------ Testing Time Label Output ---------------------- //
184
- // ========================================================================= //
185
-
186
- void BM_time_label_nanosecond(benchmark::State& state) {
187
- for (auto _ : state) {
188
- }
189
- }
190
- BENCHMARK(BM_time_label_nanosecond)->Unit(benchmark::kNanosecond);
191
-
192
- ADD_CASES(TC_ConsoleOut, {{"^BM_time_label_nanosecond %console_report$"}});
193
- ADD_CASES(TC_JSONOut,
194
- {{"\"name\": \"BM_time_label_nanosecond\",$"},
195
- {"\"family_index\": 4,$", MR_Next},
196
- {"\"per_family_instance_index\": 0,$", MR_Next},
197
- {"\"run_name\": \"BM_time_label_nanosecond\",$", MR_Next},
198
- {"\"run_type\": \"iteration\",$", MR_Next},
199
- {"\"repetitions\": 1,$", MR_Next},
200
- {"\"repetition_index\": 0,$", MR_Next},
201
- {"\"threads\": 1,$", MR_Next},
202
- {"\"iterations\": %int,$", MR_Next},
203
- {"\"real_time\": %float,$", MR_Next},
204
- {"\"cpu_time\": %float,$", MR_Next},
205
- {"\"time_unit\": \"ns\"$", MR_Next},
206
- {"}", MR_Next}});
207
- ADD_CASES(TC_CSVOut, {{"^\"BM_time_label_nanosecond\",%csv_report$"}});
208
-
209
- void BM_time_label_microsecond(benchmark::State& state) {
210
- for (auto _ : state) {
211
- }
212
- }
213
- BENCHMARK(BM_time_label_microsecond)->Unit(benchmark::kMicrosecond);
214
-
215
- ADD_CASES(TC_ConsoleOut, {{"^BM_time_label_microsecond %console_us_report$"}});
216
- ADD_CASES(TC_JSONOut,
217
- {{"\"name\": \"BM_time_label_microsecond\",$"},
218
- {"\"family_index\": 5,$", MR_Next},
219
- {"\"per_family_instance_index\": 0,$", MR_Next},
220
- {"\"run_name\": \"BM_time_label_microsecond\",$", MR_Next},
221
- {"\"run_type\": \"iteration\",$", MR_Next},
222
- {"\"repetitions\": 1,$", MR_Next},
223
- {"\"repetition_index\": 0,$", MR_Next},
224
- {"\"threads\": 1,$", MR_Next},
225
- {"\"iterations\": %int,$", MR_Next},
226
- {"\"real_time\": %float,$", MR_Next},
227
- {"\"cpu_time\": %float,$", MR_Next},
228
- {"\"time_unit\": \"us\"$", MR_Next},
229
- {"}", MR_Next}});
230
- ADD_CASES(TC_CSVOut, {{"^\"BM_time_label_microsecond\",%csv_us_report$"}});
231
-
232
- void BM_time_label_millisecond(benchmark::State& state) {
233
- for (auto _ : state) {
234
- }
235
- }
236
- BENCHMARK(BM_time_label_millisecond)->Unit(benchmark::kMillisecond);
237
-
238
- ADD_CASES(TC_ConsoleOut, {{"^BM_time_label_millisecond %console_ms_report$"}});
239
- ADD_CASES(TC_JSONOut,
240
- {{"\"name\": \"BM_time_label_millisecond\",$"},
241
- {"\"family_index\": 6,$", MR_Next},
242
- {"\"per_family_instance_index\": 0,$", MR_Next},
243
- {"\"run_name\": \"BM_time_label_millisecond\",$", MR_Next},
244
- {"\"run_type\": \"iteration\",$", MR_Next},
245
- {"\"repetitions\": 1,$", MR_Next},
246
- {"\"repetition_index\": 0,$", MR_Next},
247
- {"\"threads\": 1,$", MR_Next},
248
- {"\"iterations\": %int,$", MR_Next},
249
- {"\"real_time\": %float,$", MR_Next},
250
- {"\"cpu_time\": %float,$", MR_Next},
251
- {"\"time_unit\": \"ms\"$", MR_Next},
252
- {"}", MR_Next}});
253
- ADD_CASES(TC_CSVOut, {{"^\"BM_time_label_millisecond\",%csv_ms_report$"}});
254
-
255
- void BM_time_label_second(benchmark::State& state) {
256
- for (auto _ : state) {
257
- }
258
- }
259
- BENCHMARK(BM_time_label_second)->Unit(benchmark::kSecond);
260
-
261
- ADD_CASES(TC_ConsoleOut, {{"^BM_time_label_second %console_s_report$"}});
262
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_time_label_second\",$"},
263
- {"\"family_index\": 7,$", MR_Next},
264
- {"\"per_family_instance_index\": 0,$", MR_Next},
265
- {"\"run_name\": \"BM_time_label_second\",$", MR_Next},
266
- {"\"run_type\": \"iteration\",$", MR_Next},
267
- {"\"repetitions\": 1,$", MR_Next},
268
- {"\"repetition_index\": 0,$", MR_Next},
269
- {"\"threads\": 1,$", MR_Next},
270
- {"\"iterations\": %int,$", MR_Next},
271
- {"\"real_time\": %float,$", MR_Next},
272
- {"\"cpu_time\": %float,$", MR_Next},
273
- {"\"time_unit\": \"s\"$", MR_Next},
274
- {"}", MR_Next}});
275
- ADD_CASES(TC_CSVOut, {{"^\"BM_time_label_second\",%csv_s_report$"}});
276
-
277
- // ========================================================================= //
278
- // ------------------------ Testing Error Output --------------------------- //
279
- // ========================================================================= //
280
-
281
- void BM_error(benchmark::State& state) {
282
- state.SkipWithError("message");
283
- for (auto _ : state) {
284
- }
285
- }
286
- BENCHMARK(BM_error);
287
- ADD_CASES(TC_ConsoleOut, {{"^BM_error[ ]+ERROR OCCURRED: 'message'$"}});
288
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_error\",$"},
289
- {"\"family_index\": 8,$", MR_Next},
290
- {"\"per_family_instance_index\": 0,$", MR_Next},
291
- {"\"run_name\": \"BM_error\",$", MR_Next},
292
- {"\"run_type\": \"iteration\",$", MR_Next},
293
- {"\"repetitions\": 1,$", MR_Next},
294
- {"\"repetition_index\": 0,$", MR_Next},
295
- {"\"threads\": 1,$", MR_Next},
296
- {"\"error_occurred\": true,$", MR_Next},
297
- {"\"error_message\": \"message\",$", MR_Next}});
298
-
299
- ADD_CASES(TC_CSVOut, {{"^\"BM_error\",,,,,,,,true,\"message\"$"}});
300
-
301
- // ========================================================================= //
302
- // ------------------------ Testing No Arg Name Output -----------------------
303
- // //
304
- // ========================================================================= //
305
-
306
- void BM_no_arg_name(benchmark::State& state) {
307
- for (auto _ : state) {
308
- }
309
- }
310
- BENCHMARK(BM_no_arg_name)->Arg(3);
311
- ADD_CASES(TC_ConsoleOut, {{"^BM_no_arg_name/3 %console_report$"}});
312
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_no_arg_name/3\",$"},
313
- {"\"family_index\": 9,$", MR_Next},
314
- {"\"per_family_instance_index\": 0,$", MR_Next},
315
- {"\"run_name\": \"BM_no_arg_name/3\",$", MR_Next},
316
- {"\"run_type\": \"iteration\",$", MR_Next},
317
- {"\"repetitions\": 1,$", MR_Next},
318
- {"\"repetition_index\": 0,$", MR_Next},
319
- {"\"threads\": 1,$", MR_Next}});
320
- ADD_CASES(TC_CSVOut, {{"^\"BM_no_arg_name/3\",%csv_report$"}});
321
-
322
- // ========================================================================= //
323
- // ------------------------ Testing Arg Name Output ------------------------ //
324
- // ========================================================================= //
325
-
326
- void BM_arg_name(benchmark::State& state) {
327
- for (auto _ : state) {
328
- }
329
- }
330
- BENCHMARK(BM_arg_name)->ArgName("first")->Arg(3);
331
- ADD_CASES(TC_ConsoleOut, {{"^BM_arg_name/first:3 %console_report$"}});
332
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_arg_name/first:3\",$"},
333
- {"\"family_index\": 10,$", MR_Next},
334
- {"\"per_family_instance_index\": 0,$", MR_Next},
335
- {"\"run_name\": \"BM_arg_name/first:3\",$", MR_Next},
336
- {"\"run_type\": \"iteration\",$", MR_Next},
337
- {"\"repetitions\": 1,$", MR_Next},
338
- {"\"repetition_index\": 0,$", MR_Next},
339
- {"\"threads\": 1,$", MR_Next}});
340
- ADD_CASES(TC_CSVOut, {{"^\"BM_arg_name/first:3\",%csv_report$"}});
341
-
342
- // ========================================================================= //
343
- // ------------------------ Testing Arg Names Output ----------------------- //
344
- // ========================================================================= //
345
-
346
- void BM_arg_names(benchmark::State& state) {
347
- for (auto _ : state) {
348
- }
349
- }
350
- BENCHMARK(BM_arg_names)->Args({2, 5, 4})->ArgNames({"first", "", "third"});
351
- ADD_CASES(TC_ConsoleOut,
352
- {{"^BM_arg_names/first:2/5/third:4 %console_report$"}});
353
- ADD_CASES(TC_JSONOut,
354
- {{"\"name\": \"BM_arg_names/first:2/5/third:4\",$"},
355
- {"\"family_index\": 11,$", MR_Next},
356
- {"\"per_family_instance_index\": 0,$", MR_Next},
357
- {"\"run_name\": \"BM_arg_names/first:2/5/third:4\",$", MR_Next},
358
- {"\"run_type\": \"iteration\",$", MR_Next},
359
- {"\"repetitions\": 1,$", MR_Next},
360
- {"\"repetition_index\": 0,$", MR_Next},
361
- {"\"threads\": 1,$", MR_Next}});
362
- ADD_CASES(TC_CSVOut, {{"^\"BM_arg_names/first:2/5/third:4\",%csv_report$"}});
363
-
364
- // ========================================================================= //
365
- // ------------------------ Testing Name Output ---------------------------- //
366
- // ========================================================================= //
367
-
368
- void BM_name(benchmark::State& state) {
369
- for (auto _ : state) {
370
- }
371
- }
372
- BENCHMARK(BM_name)->Name("BM_custom_name");
373
-
374
- ADD_CASES(TC_ConsoleOut, {{"^BM_custom_name %console_report$"}});
375
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_custom_name\",$"},
376
- {"\"family_index\": 12,$", MR_Next},
377
- {"\"per_family_instance_index\": 0,$", MR_Next},
378
- {"\"run_name\": \"BM_custom_name\",$", MR_Next},
379
- {"\"run_type\": \"iteration\",$", MR_Next},
380
- {"\"repetitions\": 1,$", MR_Next},
381
- {"\"repetition_index\": 0,$", MR_Next},
382
- {"\"threads\": 1,$", MR_Next},
383
- {"\"iterations\": %int,$", MR_Next},
384
- {"\"real_time\": %float,$", MR_Next},
385
- {"\"cpu_time\": %float,$", MR_Next},
386
- {"\"time_unit\": \"ns\"$", MR_Next},
387
- {"}", MR_Next}});
388
- ADD_CASES(TC_CSVOut, {{"^\"BM_custom_name\",%csv_report$"}});
389
-
390
- // ========================================================================= //
391
- // ------------------------ Testing Big Args Output ------------------------ //
392
- // ========================================================================= //
393
-
394
- void BM_BigArgs(benchmark::State& state) {
395
- for (auto _ : state) {
396
- }
397
- }
398
- BENCHMARK(BM_BigArgs)->RangeMultiplier(2)->Range(1U << 30U, 1U << 31U);
399
- ADD_CASES(TC_ConsoleOut, {{"^BM_BigArgs/1073741824 %console_report$"},
400
- {"^BM_BigArgs/2147483648 %console_report$"}});
401
-
402
- // ========================================================================= //
403
- // ----------------------- Testing Complexity Output ----------------------- //
404
- // ========================================================================= //
405
-
406
- void BM_Complexity_O1(benchmark::State& state) {
407
- for (auto _ : state) {
408
- // This test requires a non-zero CPU time to avoid divide-by-zero
409
- auto iterations = state.iterations();
410
- benchmark::DoNotOptimize(iterations);
411
- }
412
- state.SetComplexityN(state.range(0));
413
- }
414
- BENCHMARK(BM_Complexity_O1)->Range(1, 1 << 18)->Complexity(benchmark::o1);
415
- SET_SUBSTITUTIONS({{"%bigOStr", "[ ]* %float \\([0-9]+\\)"},
416
- {"%RMS", "[ ]*[0-9]+ %"}});
417
- ADD_CASES(TC_ConsoleOut, {{"^BM_Complexity_O1_BigO %bigOStr %bigOStr[ ]*$"},
418
- {"^BM_Complexity_O1_RMS %RMS %RMS[ ]*$"}});
419
-
420
- // ========================================================================= //
421
- // ----------------------- Testing Aggregate Output ------------------------ //
422
- // ========================================================================= //
423
-
424
- // Test that non-aggregate data is printed by default
425
- void BM_Repeat(benchmark::State& state) {
426
- for (auto _ : state) {
427
- }
428
- }
429
- // need two repetitions min to be able to output any aggregate output
430
- BENCHMARK(BM_Repeat)->Repetitions(2);
431
- ADD_CASES(TC_ConsoleOut,
432
- {{"^BM_Repeat/repeats:2 %console_report$"},
433
- {"^BM_Repeat/repeats:2 %console_report$"},
434
- {"^BM_Repeat/repeats:2_mean %console_time_only_report [ ]*2$"},
435
- {"^BM_Repeat/repeats:2_median %console_time_only_report [ ]*2$"},
436
- {"^BM_Repeat/repeats:2_stddev %console_time_only_report [ ]*2$"}});
437
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_Repeat/repeats:2\",$"},
438
- {"\"family_index\": 15,$", MR_Next},
439
- {"\"per_family_instance_index\": 0,$", MR_Next},
440
- {"\"run_name\": \"BM_Repeat/repeats:2\"", MR_Next},
441
- {"\"run_type\": \"iteration\",$", MR_Next},
442
- {"\"repetitions\": 2,$", MR_Next},
443
- {"\"repetition_index\": 0,$", MR_Next},
444
- {"\"threads\": 1,$", MR_Next},
445
- {"\"name\": \"BM_Repeat/repeats:2\",$"},
446
- {"\"family_index\": 15,$", MR_Next},
447
- {"\"per_family_instance_index\": 0,$", MR_Next},
448
- {"\"run_name\": \"BM_Repeat/repeats:2\",$", MR_Next},
449
- {"\"run_type\": \"iteration\",$", MR_Next},
450
- {"\"repetitions\": 2,$", MR_Next},
451
- {"\"repetition_index\": 1,$", MR_Next},
452
- {"\"threads\": 1,$", MR_Next},
453
- {"\"name\": \"BM_Repeat/repeats:2_mean\",$"},
454
- {"\"family_index\": 15,$", MR_Next},
455
- {"\"per_family_instance_index\": 0,$", MR_Next},
456
- {"\"run_name\": \"BM_Repeat/repeats:2\",$", MR_Next},
457
- {"\"run_type\": \"aggregate\",$", MR_Next},
458
- {"\"repetitions\": 2,$", MR_Next},
459
- {"\"threads\": 1,$", MR_Next},
460
- {"\"aggregate_name\": \"mean\",$", MR_Next},
461
- {"\"aggregate_unit\": \"time\",$", MR_Next},
462
- {"\"iterations\": 2,$", MR_Next},
463
- {"\"name\": \"BM_Repeat/repeats:2_median\",$"},
464
- {"\"family_index\": 15,$", MR_Next},
465
- {"\"per_family_instance_index\": 0,$", MR_Next},
466
- {"\"run_name\": \"BM_Repeat/repeats:2\",$", MR_Next},
467
- {"\"run_type\": \"aggregate\",$", MR_Next},
468
- {"\"repetitions\": 2,$", MR_Next},
469
- {"\"threads\": 1,$", MR_Next},
470
- {"\"aggregate_name\": \"median\",$", MR_Next},
471
- {"\"aggregate_unit\": \"time\",$", MR_Next},
472
- {"\"iterations\": 2,$", MR_Next},
473
- {"\"name\": \"BM_Repeat/repeats:2_stddev\",$"},
474
- {"\"family_index\": 15,$", MR_Next},
475
- {"\"per_family_instance_index\": 0,$", MR_Next},
476
- {"\"run_name\": \"BM_Repeat/repeats:2\",$", MR_Next},
477
- {"\"run_type\": \"aggregate\",$", MR_Next},
478
- {"\"repetitions\": 2,$", MR_Next},
479
- {"\"threads\": 1,$", MR_Next},
480
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
481
- {"\"aggregate_unit\": \"time\",$", MR_Next},
482
- {"\"iterations\": 2,$", MR_Next}});
483
- ADD_CASES(TC_CSVOut, {{"^\"BM_Repeat/repeats:2\",%csv_report$"},
484
- {"^\"BM_Repeat/repeats:2\",%csv_report$"},
485
- {"^\"BM_Repeat/repeats:2_mean\",%csv_report$"},
486
- {"^\"BM_Repeat/repeats:2_median\",%csv_report$"},
487
- {"^\"BM_Repeat/repeats:2_stddev\",%csv_report$"}});
488
- // but for two repetitions, mean and median is the same, so let's repeat..
489
- BENCHMARK(BM_Repeat)->Repetitions(3);
490
- ADD_CASES(TC_ConsoleOut,
491
- {{"^BM_Repeat/repeats:3 %console_report$"},
492
- {"^BM_Repeat/repeats:3 %console_report$"},
493
- {"^BM_Repeat/repeats:3 %console_report$"},
494
- {"^BM_Repeat/repeats:3_mean %console_time_only_report [ ]*3$"},
495
- {"^BM_Repeat/repeats:3_median %console_time_only_report [ ]*3$"},
496
- {"^BM_Repeat/repeats:3_stddev %console_time_only_report [ ]*3$"}});
497
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_Repeat/repeats:3\",$"},
498
- {"\"family_index\": 16,$", MR_Next},
499
- {"\"per_family_instance_index\": 0,$", MR_Next},
500
- {"\"run_name\": \"BM_Repeat/repeats:3\",$", MR_Next},
501
- {"\"run_type\": \"iteration\",$", MR_Next},
502
- {"\"repetitions\": 3,$", MR_Next},
503
- {"\"repetition_index\": 0,$", MR_Next},
504
- {"\"threads\": 1,$", MR_Next},
505
- {"\"name\": \"BM_Repeat/repeats:3\",$"},
506
- {"\"family_index\": 16,$", MR_Next},
507
- {"\"per_family_instance_index\": 0,$", MR_Next},
508
- {"\"run_name\": \"BM_Repeat/repeats:3\",$", MR_Next},
509
- {"\"run_type\": \"iteration\",$", MR_Next},
510
- {"\"repetitions\": 3,$", MR_Next},
511
- {"\"repetition_index\": 1,$", MR_Next},
512
- {"\"threads\": 1,$", MR_Next},
513
- {"\"name\": \"BM_Repeat/repeats:3\",$"},
514
- {"\"family_index\": 16,$", MR_Next},
515
- {"\"per_family_instance_index\": 0,$", MR_Next},
516
- {"\"run_name\": \"BM_Repeat/repeats:3\",$", MR_Next},
517
- {"\"run_type\": \"iteration\",$", MR_Next},
518
- {"\"repetitions\": 3,$", MR_Next},
519
- {"\"repetition_index\": 2,$", MR_Next},
520
- {"\"threads\": 1,$", MR_Next},
521
- {"\"name\": \"BM_Repeat/repeats:3_mean\",$"},
522
- {"\"family_index\": 16,$", MR_Next},
523
- {"\"per_family_instance_index\": 0,$", MR_Next},
524
- {"\"run_name\": \"BM_Repeat/repeats:3\",$", MR_Next},
525
- {"\"run_type\": \"aggregate\",$", MR_Next},
526
- {"\"repetitions\": 3,$", MR_Next},
527
- {"\"threads\": 1,$", MR_Next},
528
- {"\"aggregate_name\": \"mean\",$", MR_Next},
529
- {"\"aggregate_unit\": \"time\",$", MR_Next},
530
- {"\"iterations\": 3,$", MR_Next},
531
- {"\"name\": \"BM_Repeat/repeats:3_median\",$"},
532
- {"\"family_index\": 16,$", MR_Next},
533
- {"\"per_family_instance_index\": 0,$", MR_Next},
534
- {"\"run_name\": \"BM_Repeat/repeats:3\",$", MR_Next},
535
- {"\"run_type\": \"aggregate\",$", MR_Next},
536
- {"\"repetitions\": 3,$", MR_Next},
537
- {"\"threads\": 1,$", MR_Next},
538
- {"\"aggregate_name\": \"median\",$", MR_Next},
539
- {"\"aggregate_unit\": \"time\",$", MR_Next},
540
- {"\"iterations\": 3,$", MR_Next},
541
- {"\"name\": \"BM_Repeat/repeats:3_stddev\",$"},
542
- {"\"family_index\": 16,$", MR_Next},
543
- {"\"per_family_instance_index\": 0,$", MR_Next},
544
- {"\"run_name\": \"BM_Repeat/repeats:3\",$", MR_Next},
545
- {"\"run_type\": \"aggregate\",$", MR_Next},
546
- {"\"repetitions\": 3,$", MR_Next},
547
- {"\"threads\": 1,$", MR_Next},
548
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
549
- {"\"aggregate_unit\": \"time\",$", MR_Next},
550
- {"\"iterations\": 3,$", MR_Next}});
551
- ADD_CASES(TC_CSVOut, {{"^\"BM_Repeat/repeats:3\",%csv_report$"},
552
- {"^\"BM_Repeat/repeats:3\",%csv_report$"},
553
- {"^\"BM_Repeat/repeats:3\",%csv_report$"},
554
- {"^\"BM_Repeat/repeats:3_mean\",%csv_report$"},
555
- {"^\"BM_Repeat/repeats:3_median\",%csv_report$"},
556
- {"^\"BM_Repeat/repeats:3_stddev\",%csv_report$"}});
557
- // median differs between even/odd number of repetitions, so just to be sure
558
- BENCHMARK(BM_Repeat)->Repetitions(4);
559
- ADD_CASES(TC_ConsoleOut,
560
- {{"^BM_Repeat/repeats:4 %console_report$"},
561
- {"^BM_Repeat/repeats:4 %console_report$"},
562
- {"^BM_Repeat/repeats:4 %console_report$"},
563
- {"^BM_Repeat/repeats:4 %console_report$"},
564
- {"^BM_Repeat/repeats:4_mean %console_time_only_report [ ]*4$"},
565
- {"^BM_Repeat/repeats:4_median %console_time_only_report [ ]*4$"},
566
- {"^BM_Repeat/repeats:4_stddev %console_time_only_report [ ]*4$"}});
567
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_Repeat/repeats:4\",$"},
568
- {"\"family_index\": 17,$", MR_Next},
569
- {"\"per_family_instance_index\": 0,$", MR_Next},
570
- {"\"run_name\": \"BM_Repeat/repeats:4\",$", MR_Next},
571
- {"\"run_type\": \"iteration\",$", MR_Next},
572
- {"\"repetitions\": 4,$", MR_Next},
573
- {"\"repetition_index\": 0,$", MR_Next},
574
- {"\"threads\": 1,$", MR_Next},
575
- {"\"name\": \"BM_Repeat/repeats:4\",$"},
576
- {"\"family_index\": 17,$", MR_Next},
577
- {"\"per_family_instance_index\": 0,$", MR_Next},
578
- {"\"run_name\": \"BM_Repeat/repeats:4\",$", MR_Next},
579
- {"\"run_type\": \"iteration\",$", MR_Next},
580
- {"\"repetitions\": 4,$", MR_Next},
581
- {"\"repetition_index\": 1,$", MR_Next},
582
- {"\"threads\": 1,$", MR_Next},
583
- {"\"name\": \"BM_Repeat/repeats:4\",$"},
584
- {"\"family_index\": 17,$", MR_Next},
585
- {"\"per_family_instance_index\": 0,$", MR_Next},
586
- {"\"run_name\": \"BM_Repeat/repeats:4\",$", MR_Next},
587
- {"\"run_type\": \"iteration\",$", MR_Next},
588
- {"\"repetitions\": 4,$", MR_Next},
589
- {"\"repetition_index\": 2,$", MR_Next},
590
- {"\"threads\": 1,$", MR_Next},
591
- {"\"name\": \"BM_Repeat/repeats:4\",$"},
592
- {"\"family_index\": 17,$", MR_Next},
593
- {"\"per_family_instance_index\": 0,$", MR_Next},
594
- {"\"run_name\": \"BM_Repeat/repeats:4\",$", MR_Next},
595
- {"\"run_type\": \"iteration\",$", MR_Next},
596
- {"\"repetitions\": 4,$", MR_Next},
597
- {"\"repetition_index\": 3,$", MR_Next},
598
- {"\"threads\": 1,$", MR_Next},
599
- {"\"name\": \"BM_Repeat/repeats:4_mean\",$"},
600
- {"\"family_index\": 17,$", MR_Next},
601
- {"\"per_family_instance_index\": 0,$", MR_Next},
602
- {"\"run_name\": \"BM_Repeat/repeats:4\",$", MR_Next},
603
- {"\"run_type\": \"aggregate\",$", MR_Next},
604
- {"\"repetitions\": 4,$", MR_Next},
605
- {"\"threads\": 1,$", MR_Next},
606
- {"\"aggregate_name\": \"mean\",$", MR_Next},
607
- {"\"aggregate_unit\": \"time\",$", MR_Next},
608
- {"\"iterations\": 4,$", MR_Next},
609
- {"\"name\": \"BM_Repeat/repeats:4_median\",$"},
610
- {"\"family_index\": 17,$", MR_Next},
611
- {"\"per_family_instance_index\": 0,$", MR_Next},
612
- {"\"run_name\": \"BM_Repeat/repeats:4\",$", MR_Next},
613
- {"\"run_type\": \"aggregate\",$", MR_Next},
614
- {"\"repetitions\": 4,$", MR_Next},
615
- {"\"threads\": 1,$", MR_Next},
616
- {"\"aggregate_name\": \"median\",$", MR_Next},
617
- {"\"aggregate_unit\": \"time\",$", MR_Next},
618
- {"\"iterations\": 4,$", MR_Next},
619
- {"\"name\": \"BM_Repeat/repeats:4_stddev\",$"},
620
- {"\"family_index\": 17,$", MR_Next},
621
- {"\"per_family_instance_index\": 0,$", MR_Next},
622
- {"\"run_name\": \"BM_Repeat/repeats:4\",$", MR_Next},
623
- {"\"run_type\": \"aggregate\",$", MR_Next},
624
- {"\"repetitions\": 4,$", MR_Next},
625
- {"\"threads\": 1,$", MR_Next},
626
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
627
- {"\"aggregate_unit\": \"time\",$", MR_Next},
628
- {"\"iterations\": 4,$", MR_Next}});
629
- ADD_CASES(TC_CSVOut, {{"^\"BM_Repeat/repeats:4\",%csv_report$"},
630
- {"^\"BM_Repeat/repeats:4\",%csv_report$"},
631
- {"^\"BM_Repeat/repeats:4\",%csv_report$"},
632
- {"^\"BM_Repeat/repeats:4\",%csv_report$"},
633
- {"^\"BM_Repeat/repeats:4_mean\",%csv_report$"},
634
- {"^\"BM_Repeat/repeats:4_median\",%csv_report$"},
635
- {"^\"BM_Repeat/repeats:4_stddev\",%csv_report$"}});
636
-
637
- // Test that a non-repeated test still prints non-aggregate results even when
638
- // only-aggregate reports have been requested
639
- void BM_RepeatOnce(benchmark::State& state) {
640
- for (auto _ : state) {
641
- }
642
- }
643
- BENCHMARK(BM_RepeatOnce)->Repetitions(1)->ReportAggregatesOnly();
644
- ADD_CASES(TC_ConsoleOut, {{"^BM_RepeatOnce/repeats:1 %console_report$"}});
645
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_RepeatOnce/repeats:1\",$"},
646
- {"\"family_index\": 18,$", MR_Next},
647
- {"\"per_family_instance_index\": 0,$", MR_Next},
648
- {"\"run_name\": \"BM_RepeatOnce/repeats:1\",$", MR_Next},
649
- {"\"run_type\": \"iteration\",$", MR_Next},
650
- {"\"repetitions\": 1,$", MR_Next},
651
- {"\"repetition_index\": 0,$", MR_Next},
652
- {"\"threads\": 1,$", MR_Next}});
653
- ADD_CASES(TC_CSVOut, {{"^\"BM_RepeatOnce/repeats:1\",%csv_report$"}});
654
-
655
- // Test that non-aggregate data is not reported
656
- void BM_SummaryRepeat(benchmark::State& state) {
657
- for (auto _ : state) {
658
- }
659
- }
660
- BENCHMARK(BM_SummaryRepeat)->Repetitions(3)->ReportAggregatesOnly();
661
- ADD_CASES(
662
- TC_ConsoleOut,
663
- {{".*BM_SummaryRepeat/repeats:3 ", MR_Not},
664
- {"^BM_SummaryRepeat/repeats:3_mean %console_time_only_report [ ]*3$"},
665
- {"^BM_SummaryRepeat/repeats:3_median %console_time_only_report [ ]*3$"},
666
- {"^BM_SummaryRepeat/repeats:3_stddev %console_time_only_report [ ]*3$"}});
667
- ADD_CASES(TC_JSONOut,
668
- {{".*BM_SummaryRepeat/repeats:3 ", MR_Not},
669
- {"\"name\": \"BM_SummaryRepeat/repeats:3_mean\",$"},
670
- {"\"family_index\": 19,$", MR_Next},
671
- {"\"per_family_instance_index\": 0,$", MR_Next},
672
- {"\"run_name\": \"BM_SummaryRepeat/repeats:3\",$", MR_Next},
673
- {"\"run_type\": \"aggregate\",$", MR_Next},
674
- {"\"repetitions\": 3,$", MR_Next},
675
- {"\"threads\": 1,$", MR_Next},
676
- {"\"aggregate_name\": \"mean\",$", MR_Next},
677
- {"\"aggregate_unit\": \"time\",$", MR_Next},
678
- {"\"iterations\": 3,$", MR_Next},
679
- {"\"name\": \"BM_SummaryRepeat/repeats:3_median\",$"},
680
- {"\"family_index\": 19,$", MR_Next},
681
- {"\"per_family_instance_index\": 0,$", MR_Next},
682
- {"\"run_name\": \"BM_SummaryRepeat/repeats:3\",$", MR_Next},
683
- {"\"run_type\": \"aggregate\",$", MR_Next},
684
- {"\"repetitions\": 3,$", MR_Next},
685
- {"\"threads\": 1,$", MR_Next},
686
- {"\"aggregate_name\": \"median\",$", MR_Next},
687
- {"\"aggregate_unit\": \"time\",$", MR_Next},
688
- {"\"iterations\": 3,$", MR_Next},
689
- {"\"name\": \"BM_SummaryRepeat/repeats:3_stddev\",$"},
690
- {"\"family_index\": 19,$", MR_Next},
691
- {"\"per_family_instance_index\": 0,$", MR_Next},
692
- {"\"run_name\": \"BM_SummaryRepeat/repeats:3\",$", MR_Next},
693
- {"\"run_type\": \"aggregate\",$", MR_Next},
694
- {"\"repetitions\": 3,$", MR_Next},
695
- {"\"threads\": 1,$", MR_Next},
696
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
697
- {"\"aggregate_unit\": \"time\",$", MR_Next},
698
- {"\"iterations\": 3,$", MR_Next}});
699
- ADD_CASES(TC_CSVOut, {{".*BM_SummaryRepeat/repeats:3 ", MR_Not},
700
- {"^\"BM_SummaryRepeat/repeats:3_mean\",%csv_report$"},
701
- {"^\"BM_SummaryRepeat/repeats:3_median\",%csv_report$"},
702
- {"^\"BM_SummaryRepeat/repeats:3_stddev\",%csv_report$"}});
703
-
704
- // Test that non-aggregate data is not displayed.
705
- // NOTE: this test is kinda bad. we are only testing the display output.
706
- // But we don't check that the file output still contains everything...
707
- void BM_SummaryDisplay(benchmark::State& state) {
708
- for (auto _ : state) {
709
- }
710
- }
711
- BENCHMARK(BM_SummaryDisplay)->Repetitions(2)->DisplayAggregatesOnly();
712
- ADD_CASES(
713
- TC_ConsoleOut,
714
- {{".*BM_SummaryDisplay/repeats:2 ", MR_Not},
715
- {"^BM_SummaryDisplay/repeats:2_mean %console_time_only_report [ ]*2$"},
716
- {"^BM_SummaryDisplay/repeats:2_median %console_time_only_report [ ]*2$"},
717
- {"^BM_SummaryDisplay/repeats:2_stddev %console_time_only_report [ ]*2$"}});
718
- ADD_CASES(TC_JSONOut,
719
- {{".*BM_SummaryDisplay/repeats:2 ", MR_Not},
720
- {"\"name\": \"BM_SummaryDisplay/repeats:2_mean\",$"},
721
- {"\"family_index\": 20,$", MR_Next},
722
- {"\"per_family_instance_index\": 0,$", MR_Next},
723
- {"\"run_name\": \"BM_SummaryDisplay/repeats:2\",$", MR_Next},
724
- {"\"run_type\": \"aggregate\",$", MR_Next},
725
- {"\"repetitions\": 2,$", MR_Next},
726
- {"\"threads\": 1,$", MR_Next},
727
- {"\"aggregate_name\": \"mean\",$", MR_Next},
728
- {"\"aggregate_unit\": \"time\",$", MR_Next},
729
- {"\"iterations\": 2,$", MR_Next},
730
- {"\"name\": \"BM_SummaryDisplay/repeats:2_median\",$"},
731
- {"\"family_index\": 20,$", MR_Next},
732
- {"\"per_family_instance_index\": 0,$", MR_Next},
733
- {"\"run_name\": \"BM_SummaryDisplay/repeats:2\",$", MR_Next},
734
- {"\"run_type\": \"aggregate\",$", MR_Next},
735
- {"\"repetitions\": 2,$", MR_Next},
736
- {"\"threads\": 1,$", MR_Next},
737
- {"\"aggregate_name\": \"median\",$", MR_Next},
738
- {"\"aggregate_unit\": \"time\",$", MR_Next},
739
- {"\"iterations\": 2,$", MR_Next},
740
- {"\"name\": \"BM_SummaryDisplay/repeats:2_stddev\",$"},
741
- {"\"family_index\": 20,$", MR_Next},
742
- {"\"per_family_instance_index\": 0,$", MR_Next},
743
- {"\"run_name\": \"BM_SummaryDisplay/repeats:2\",$", MR_Next},
744
- {"\"run_type\": \"aggregate\",$", MR_Next},
745
- {"\"repetitions\": 2,$", MR_Next},
746
- {"\"threads\": 1,$", MR_Next},
747
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
748
- {"\"aggregate_unit\": \"time\",$", MR_Next},
749
- {"\"iterations\": 2,$", MR_Next}});
750
- ADD_CASES(TC_CSVOut,
751
- {{".*BM_SummaryDisplay/repeats:2 ", MR_Not},
752
- {"^\"BM_SummaryDisplay/repeats:2_mean\",%csv_report$"},
753
- {"^\"BM_SummaryDisplay/repeats:2_median\",%csv_report$"},
754
- {"^\"BM_SummaryDisplay/repeats:2_stddev\",%csv_report$"}});
755
-
756
- // Test repeats with custom time unit.
757
- void BM_RepeatTimeUnit(benchmark::State& state) {
758
- for (auto _ : state) {
759
- }
760
- }
761
- BENCHMARK(BM_RepeatTimeUnit)
762
- ->Repetitions(3)
763
- ->ReportAggregatesOnly()
764
- ->Unit(benchmark::kMicrosecond);
765
- ADD_CASES(
766
- TC_ConsoleOut,
767
- {{".*BM_RepeatTimeUnit/repeats:3 ", MR_Not},
768
- {"^BM_RepeatTimeUnit/repeats:3_mean %console_us_time_only_report [ ]*3$"},
769
- {"^BM_RepeatTimeUnit/repeats:3_median %console_us_time_only_report [ "
770
- "]*3$"},
771
- {"^BM_RepeatTimeUnit/repeats:3_stddev %console_us_time_only_report [ "
772
- "]*3$"}});
773
- ADD_CASES(TC_JSONOut,
774
- {{".*BM_RepeatTimeUnit/repeats:3 ", MR_Not},
775
- {"\"name\": \"BM_RepeatTimeUnit/repeats:3_mean\",$"},
776
- {"\"family_index\": 21,$", MR_Next},
777
- {"\"per_family_instance_index\": 0,$", MR_Next},
778
- {"\"run_name\": \"BM_RepeatTimeUnit/repeats:3\",$", MR_Next},
779
- {"\"run_type\": \"aggregate\",$", MR_Next},
780
- {"\"repetitions\": 3,$", MR_Next},
781
- {"\"threads\": 1,$", MR_Next},
782
- {"\"aggregate_name\": \"mean\",$", MR_Next},
783
- {"\"aggregate_unit\": \"time\",$", MR_Next},
784
- {"\"iterations\": 3,$", MR_Next},
785
- {"\"time_unit\": \"us\",?$"},
786
- {"\"name\": \"BM_RepeatTimeUnit/repeats:3_median\",$"},
787
- {"\"family_index\": 21,$", MR_Next},
788
- {"\"per_family_instance_index\": 0,$", MR_Next},
789
- {"\"run_name\": \"BM_RepeatTimeUnit/repeats:3\",$", MR_Next},
790
- {"\"run_type\": \"aggregate\",$", MR_Next},
791
- {"\"repetitions\": 3,$", MR_Next},
792
- {"\"threads\": 1,$", MR_Next},
793
- {"\"aggregate_name\": \"median\",$", MR_Next},
794
- {"\"aggregate_unit\": \"time\",$", MR_Next},
795
- {"\"iterations\": 3,$", MR_Next},
796
- {"\"time_unit\": \"us\",?$"},
797
- {"\"name\": \"BM_RepeatTimeUnit/repeats:3_stddev\",$"},
798
- {"\"family_index\": 21,$", MR_Next},
799
- {"\"per_family_instance_index\": 0,$", MR_Next},
800
- {"\"run_name\": \"BM_RepeatTimeUnit/repeats:3\",$", MR_Next},
801
- {"\"run_type\": \"aggregate\",$", MR_Next},
802
- {"\"repetitions\": 3,$", MR_Next},
803
- {"\"threads\": 1,$", MR_Next},
804
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
805
- {"\"aggregate_unit\": \"time\",$", MR_Next},
806
- {"\"iterations\": 3,$", MR_Next},
807
- {"\"time_unit\": \"us\",?$"}});
808
- ADD_CASES(TC_CSVOut,
809
- {{".*BM_RepeatTimeUnit/repeats:3 ", MR_Not},
810
- {"^\"BM_RepeatTimeUnit/repeats:3_mean\",%csv_us_report$"},
811
- {"^\"BM_RepeatTimeUnit/repeats:3_median\",%csv_us_report$"},
812
- {"^\"BM_RepeatTimeUnit/repeats:3_stddev\",%csv_us_report$"}});
813
-
814
- // ========================================================================= //
815
- // -------------------- Testing user-provided statistics ------------------- //
816
- // ========================================================================= //
817
-
818
- const auto UserStatistics = [](const std::vector<double>& v) {
819
- return v.back();
820
- };
821
- void BM_UserStats(benchmark::State& state) {
822
- for (auto _ : state) {
823
- state.SetIterationTime(150 / 10e8);
824
- }
825
- }
826
- // clang-format off
827
- BENCHMARK(BM_UserStats)
828
- ->Repetitions(3)
829
- ->Iterations(5)
830
- ->UseManualTime()
831
- ->ComputeStatistics("", UserStatistics);
832
- // clang-format on
833
-
834
- // check that user-provided stats is calculated, and is after the default-ones
835
- // empty string as name is intentional, it would sort before anything else
836
- ADD_CASES(TC_ConsoleOut, {{"^BM_UserStats/iterations:5/repeats:3/manual_time [ "
837
- "]* 150 ns %time [ ]*5$"},
838
- {"^BM_UserStats/iterations:5/repeats:3/manual_time [ "
839
- "]* 150 ns %time [ ]*5$"},
840
- {"^BM_UserStats/iterations:5/repeats:3/manual_time [ "
841
- "]* 150 ns %time [ ]*5$"},
842
- {"^BM_UserStats/iterations:5/repeats:3/"
843
- "manual_time_mean [ ]* 150 ns %time [ ]*3$"},
844
- {"^BM_UserStats/iterations:5/repeats:3/"
845
- "manual_time_median [ ]* 150 ns %time [ ]*3$"},
846
- {"^BM_UserStats/iterations:5/repeats:3/"
847
- "manual_time_stddev [ ]* 0.000 ns %time [ ]*3$"},
848
- {"^BM_UserStats/iterations:5/repeats:3/manual_time_ "
849
- "[ ]* 150 ns %time [ ]*3$"}});
850
- ADD_CASES(
851
- TC_JSONOut,
852
- {{"\"name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$"},
853
- {"\"family_index\": 22,$", MR_Next},
854
- {"\"per_family_instance_index\": 0,$", MR_Next},
855
- {"\"run_name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$",
856
- MR_Next},
857
- {"\"run_type\": \"iteration\",$", MR_Next},
858
- {"\"repetitions\": 3,$", MR_Next},
859
- {"\"repetition_index\": 0,$", MR_Next},
860
- {"\"threads\": 1,$", MR_Next},
861
- {"\"iterations\": 5,$", MR_Next},
862
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
863
- {"\"name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$"},
864
- {"\"family_index\": 22,$", MR_Next},
865
- {"\"per_family_instance_index\": 0,$", MR_Next},
866
- {"\"run_name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$",
867
- MR_Next},
868
- {"\"run_type\": \"iteration\",$", MR_Next},
869
- {"\"repetitions\": 3,$", MR_Next},
870
- {"\"repetition_index\": 1,$", MR_Next},
871
- {"\"threads\": 1,$", MR_Next},
872
- {"\"iterations\": 5,$", MR_Next},
873
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
874
- {"\"name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$"},
875
- {"\"family_index\": 22,$", MR_Next},
876
- {"\"per_family_instance_index\": 0,$", MR_Next},
877
- {"\"run_name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$",
878
- MR_Next},
879
- {"\"run_type\": \"iteration\",$", MR_Next},
880
- {"\"repetitions\": 3,$", MR_Next},
881
- {"\"repetition_index\": 2,$", MR_Next},
882
- {"\"threads\": 1,$", MR_Next},
883
- {"\"iterations\": 5,$", MR_Next},
884
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
885
- {"\"name\": \"BM_UserStats/iterations:5/repeats:3/manual_time_mean\",$"},
886
- {"\"family_index\": 22,$", MR_Next},
887
- {"\"per_family_instance_index\": 0,$", MR_Next},
888
- {"\"run_name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$",
889
- MR_Next},
890
- {"\"run_type\": \"aggregate\",$", MR_Next},
891
- {"\"repetitions\": 3,$", MR_Next},
892
- {"\"threads\": 1,$", MR_Next},
893
- {"\"aggregate_name\": \"mean\",$", MR_Next},
894
- {"\"aggregate_unit\": \"time\",$", MR_Next},
895
- {"\"iterations\": 3,$", MR_Next},
896
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
897
- {"\"name\": \"BM_UserStats/iterations:5/repeats:3/manual_time_median\",$"},
898
- {"\"family_index\": 22,$", MR_Next},
899
- {"\"per_family_instance_index\": 0,$", MR_Next},
900
- {"\"run_name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$",
901
- MR_Next},
902
- {"\"run_type\": \"aggregate\",$", MR_Next},
903
- {"\"repetitions\": 3,$", MR_Next},
904
- {"\"threads\": 1,$", MR_Next},
905
- {"\"aggregate_name\": \"median\",$", MR_Next},
906
- {"\"aggregate_unit\": \"time\",$", MR_Next},
907
- {"\"iterations\": 3,$", MR_Next},
908
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
909
- {"\"name\": \"BM_UserStats/iterations:5/repeats:3/manual_time_stddev\",$"},
910
- {"\"family_index\": 22,$", MR_Next},
911
- {"\"per_family_instance_index\": 0,$", MR_Next},
912
- {"\"run_name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$",
913
- MR_Next},
914
- {"\"run_type\": \"aggregate\",$", MR_Next},
915
- {"\"repetitions\": 3,$", MR_Next},
916
- {"\"threads\": 1,$", MR_Next},
917
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
918
- {"\"aggregate_unit\": \"time\",$", MR_Next},
919
- {"\"iterations\": 3,$", MR_Next},
920
- {"\"real_time\": %float,$", MR_Next},
921
- {"\"name\": \"BM_UserStats/iterations:5/repeats:3/manual_time_\",$"},
922
- {"\"family_index\": 22,$", MR_Next},
923
- {"\"per_family_instance_index\": 0,$", MR_Next},
924
- {"\"run_name\": \"BM_UserStats/iterations:5/repeats:3/manual_time\",$",
925
- MR_Next},
926
- {"\"run_type\": \"aggregate\",$", MR_Next},
927
- {"\"repetitions\": 3,$", MR_Next},
928
- {"\"threads\": 1,$", MR_Next},
929
- {"\"aggregate_name\": \"\",$", MR_Next},
930
- {"\"aggregate_unit\": \"time\",$", MR_Next},
931
- {"\"iterations\": 3,$", MR_Next},
932
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next}});
933
- ADD_CASES(
934
- TC_CSVOut,
935
- {{"^\"BM_UserStats/iterations:5/repeats:3/manual_time\",%csv_report$"},
936
- {"^\"BM_UserStats/iterations:5/repeats:3/manual_time\",%csv_report$"},
937
- {"^\"BM_UserStats/iterations:5/repeats:3/manual_time\",%csv_report$"},
938
- {"^\"BM_UserStats/iterations:5/repeats:3/manual_time_mean\",%csv_report$"},
939
- {"^\"BM_UserStats/iterations:5/repeats:3/"
940
- "manual_time_median\",%csv_report$"},
941
- {"^\"BM_UserStats/iterations:5/repeats:3/"
942
- "manual_time_stddev\",%csv_report$"},
943
- {"^\"BM_UserStats/iterations:5/repeats:3/manual_time_\",%csv_report$"}});
944
-
945
- // ========================================================================= //
946
- // ------------- Testing relative standard deviation statistics ------------ //
947
- // ========================================================================= //
948
-
949
- const auto UserPercentStatistics = [](const std::vector<double>&) {
950
- return 1. / 100.;
951
- };
952
- void BM_UserPercentStats(benchmark::State& state) {
953
- for (auto _ : state) {
954
- state.SetIterationTime(150 / 10e8);
955
- }
956
- }
957
- // clang-format off
958
- BENCHMARK(BM_UserPercentStats)
959
- ->Repetitions(3)
960
- ->Iterations(5)
961
- ->UseManualTime()
962
- ->Unit(benchmark::TimeUnit::kNanosecond)
963
- ->ComputeStatistics("", UserPercentStatistics, benchmark::StatisticUnit::kPercentage);
964
- // clang-format on
965
-
966
- // check that UserPercent-provided stats is calculated, and is after the
967
- // default-ones empty string as name is intentional, it would sort before
968
- // anything else
969
- ADD_CASES(TC_ConsoleOut,
970
- {{"^BM_UserPercentStats/iterations:5/repeats:3/manual_time [ "
971
- "]* 150 ns %time [ ]*5$"},
972
- {"^BM_UserPercentStats/iterations:5/repeats:3/manual_time [ "
973
- "]* 150 ns %time [ ]*5$"},
974
- {"^BM_UserPercentStats/iterations:5/repeats:3/manual_time [ "
975
- "]* 150 ns %time [ ]*5$"},
976
- {"^BM_UserPercentStats/iterations:5/repeats:3/"
977
- "manual_time_mean [ ]* 150 ns %time [ ]*3$"},
978
- {"^BM_UserPercentStats/iterations:5/repeats:3/"
979
- "manual_time_median [ ]* 150 ns %time [ ]*3$"},
980
- {"^BM_UserPercentStats/iterations:5/repeats:3/"
981
- "manual_time_stddev [ ]* 0.000 ns %time [ ]*3$"},
982
- {"^BM_UserPercentStats/iterations:5/repeats:3/manual_time_ "
983
- "[ ]* 1.00 % [ ]* 1.00 %[ ]*3$"}});
984
- ADD_CASES(
985
- TC_JSONOut,
986
- {{"\"name\": \"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$"},
987
- {"\"family_index\": 23,$", MR_Next},
988
- {"\"per_family_instance_index\": 0,$", MR_Next},
989
- {"\"run_name\": "
990
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$",
991
- MR_Next},
992
- {"\"run_type\": \"iteration\",$", MR_Next},
993
- {"\"repetitions\": 3,$", MR_Next},
994
- {"\"repetition_index\": 0,$", MR_Next},
995
- {"\"threads\": 1,$", MR_Next},
996
- {"\"iterations\": 5,$", MR_Next},
997
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
998
- {"\"name\": \"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$"},
999
- {"\"family_index\": 23,$", MR_Next},
1000
- {"\"per_family_instance_index\": 0,$", MR_Next},
1001
- {"\"run_name\": "
1002
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$",
1003
- MR_Next},
1004
- {"\"run_type\": \"iteration\",$", MR_Next},
1005
- {"\"repetitions\": 3,$", MR_Next},
1006
- {"\"repetition_index\": 1,$", MR_Next},
1007
- {"\"threads\": 1,$", MR_Next},
1008
- {"\"iterations\": 5,$", MR_Next},
1009
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
1010
- {"\"name\": \"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$"},
1011
- {"\"family_index\": 23,$", MR_Next},
1012
- {"\"per_family_instance_index\": 0,$", MR_Next},
1013
- {"\"run_name\": "
1014
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$",
1015
- MR_Next},
1016
- {"\"run_type\": \"iteration\",$", MR_Next},
1017
- {"\"repetitions\": 3,$", MR_Next},
1018
- {"\"repetition_index\": 2,$", MR_Next},
1019
- {"\"threads\": 1,$", MR_Next},
1020
- {"\"iterations\": 5,$", MR_Next},
1021
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
1022
- {"\"name\": "
1023
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time_mean\",$"},
1024
- {"\"family_index\": 23,$", MR_Next},
1025
- {"\"per_family_instance_index\": 0,$", MR_Next},
1026
- {"\"run_name\": "
1027
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$",
1028
- MR_Next},
1029
- {"\"run_type\": \"aggregate\",$", MR_Next},
1030
- {"\"repetitions\": 3,$", MR_Next},
1031
- {"\"threads\": 1,$", MR_Next},
1032
- {"\"aggregate_name\": \"mean\",$", MR_Next},
1033
- {"\"aggregate_unit\": \"time\",$", MR_Next},
1034
- {"\"iterations\": 3,$", MR_Next},
1035
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
1036
- {"\"name\": "
1037
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time_median\",$"},
1038
- {"\"family_index\": 23,$", MR_Next},
1039
- {"\"per_family_instance_index\": 0,$", MR_Next},
1040
- {"\"run_name\": "
1041
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$",
1042
- MR_Next},
1043
- {"\"run_type\": \"aggregate\",$", MR_Next},
1044
- {"\"repetitions\": 3,$", MR_Next},
1045
- {"\"threads\": 1,$", MR_Next},
1046
- {"\"aggregate_name\": \"median\",$", MR_Next},
1047
- {"\"aggregate_unit\": \"time\",$", MR_Next},
1048
- {"\"iterations\": 3,$", MR_Next},
1049
- {"\"real_time\": 1\\.5(0)*e\\+(0)*2,$", MR_Next},
1050
- {"\"name\": "
1051
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time_stddev\",$"},
1052
- {"\"family_index\": 23,$", MR_Next},
1053
- {"\"per_family_instance_index\": 0,$", MR_Next},
1054
- {"\"run_name\": "
1055
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$",
1056
- MR_Next},
1057
- {"\"run_type\": \"aggregate\",$", MR_Next},
1058
- {"\"repetitions\": 3,$", MR_Next},
1059
- {"\"threads\": 1,$", MR_Next},
1060
- {"\"aggregate_name\": \"stddev\",$", MR_Next},
1061
- {"\"aggregate_unit\": \"time\",$", MR_Next},
1062
- {"\"iterations\": 3,$", MR_Next},
1063
- {"\"real_time\": %float,$", MR_Next},
1064
- {"\"name\": "
1065
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time_\",$"},
1066
- {"\"family_index\": 23,$", MR_Next},
1067
- {"\"per_family_instance_index\": 0,$", MR_Next},
1068
- {"\"run_name\": "
1069
- "\"BM_UserPercentStats/iterations:5/repeats:3/manual_time\",$",
1070
- MR_Next},
1071
- {"\"run_type\": \"aggregate\",$", MR_Next},
1072
- {"\"repetitions\": 3,$", MR_Next},
1073
- {"\"threads\": 1,$", MR_Next},
1074
- {"\"aggregate_name\": \"\",$", MR_Next},
1075
- {"\"aggregate_unit\": \"percentage\",$", MR_Next},
1076
- {"\"iterations\": 3,$", MR_Next},
1077
- {"\"real_time\": 1\\.(0)*e-(0)*2,$", MR_Next}});
1078
- ADD_CASES(TC_CSVOut, {{"^\"BM_UserPercentStats/iterations:5/repeats:3/"
1079
- "manual_time\",%csv_report$"},
1080
- {"^\"BM_UserPercentStats/iterations:5/repeats:3/"
1081
- "manual_time\",%csv_report$"},
1082
- {"^\"BM_UserPercentStats/iterations:5/repeats:3/"
1083
- "manual_time\",%csv_report$"},
1084
- {"^\"BM_UserPercentStats/iterations:5/repeats:3/"
1085
- "manual_time_mean\",%csv_report$"},
1086
- {"^\"BM_UserPercentStats/iterations:5/repeats:3/"
1087
- "manual_time_median\",%csv_report$"},
1088
- {"^\"BM_UserPercentStats/iterations:5/repeats:3/"
1089
- "manual_time_stddev\",%csv_report$"},
1090
- {"^\"BM_UserPercentStats/iterations:5/repeats:3/"
1091
- "manual_time_\",%csv_report$"}});
1092
-
1093
- // ========================================================================= //
1094
- // ------------------------- Testing StrEscape JSON ------------------------ //
1095
- // ========================================================================= //
1096
- #if 0 // enable when csv testing code correctly handles multi-line fields
1097
- void BM_JSON_Format(benchmark::State& state) {
1098
- state.SkipWithError("val\b\f\n\r\t\\\"with\"es,capes");
1099
- for (auto _ : state) {
1100
- }
1101
- }
1102
- BENCHMARK(BM_JSON_Format);
1103
- ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_JSON_Format\",$"},
1104
- {"\"family_index\": 23,$", MR_Next},
1105
- {"\"per_family_instance_index\": 0,$", MR_Next},
1106
- {"\"run_name\": \"BM_JSON_Format\",$", MR_Next},
1107
- {"\"run_type\": \"iteration\",$", MR_Next},
1108
- {"\"repetitions\": 1,$", MR_Next},
1109
- {"\"repetition_index\": 0,$", MR_Next},
1110
- {"\"threads\": 1,$", MR_Next},
1111
- {"\"error_occurred\": true,$", MR_Next},
1112
- {R"("error_message": "val\\b\\f\\n\\r\\t\\\\\\"with\\"es,capes",$)", MR_Next}});
1113
- #endif
1114
- // ========================================================================= //
1115
- // -------------------------- Testing CsvEscape ---------------------------- //
1116
- // ========================================================================= //
1117
-
1118
- void BM_CSV_Format(benchmark::State& state) {
1119
- state.SkipWithError("\"freedom\"");
1120
- for (auto _ : state) {
1121
- }
1122
- }
1123
- BENCHMARK(BM_CSV_Format);
1124
- ADD_CASES(TC_CSVOut, {{"^\"BM_CSV_Format\",,,,,,,,true,\"\"\"freedom\"\"\"$"}});
1125
-
1126
- // ========================================================================= //
1127
- // --------------------------- TEST CASES END ------------------------------ //
1128
- // ========================================================================= //
1129
-
1130
- int main(int argc, char* argv[]) { RunOutputTests(argc, argv); }