electrobun 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/.gitmodules +3 -0
  2. package/dist/webview +0 -0
  3. package/package.json +1 -1
  4. package/src/cli/build/electrobun +0 -0
  5. package/example/assets/electrobun-logo-32-template.png +0 -0
  6. package/example/buildScript.ts +0 -1
  7. package/example/bun.lockb +0 -0
  8. package/example/electrobun.config +0 -48
  9. package/example/icon.iconset/icon_128x128.png +0 -0
  10. package/example/icon.iconset/icon_128x128@2x.png +0 -0
  11. package/example/icon.iconset/icon_16x16.png +0 -0
  12. package/example/icon.iconset/icon_16x16@2x.png +0 -0
  13. package/example/icon.iconset/icon_256x256.png +0 -0
  14. package/example/icon.iconset/icon_256x256@2x.png +0 -0
  15. package/example/icon.iconset/icon_32x32.png +0 -0
  16. package/example/icon.iconset/icon_32x32@2x.png +0 -0
  17. package/example/icon.iconset/icon_512x512.png +0 -0
  18. package/example/icon.iconset/icon_512x512@2x.png +0 -0
  19. package/example/package-lock.json +0 -32
  20. package/example/package.json +0 -11
  21. package/example/readme.md +0 -0
  22. package/example/src/bun/index.ts +0 -403
  23. package/example/src/mainview/index.css +0 -4
  24. package/example/src/mainview/index.html +0 -13
  25. package/example/src/mainview/index.ts +0 -45
  26. package/example/src/mainview/rpc.ts +0 -36
  27. package/example/src/myextension/preload.ts +0 -15
  28. package/example/src/myextension/rpc.ts +0 -15
  29. package/example/src/webviewtag/electrobun.png +0 -0
  30. package/example/src/webviewtag/index.html +0 -94
  31. package/example/src/webviewtag/index.ts +0 -26
  32. package/src/bsdiff/bsdiff.zig +0 -842
  33. package/src/bsdiff/bspatch.zig +0 -253
  34. package/src/bsdiff/build.zig +0 -73
  35. package/src/bsdiff/zig-out/bin/bsdiff +0 -0
  36. package/src/bsdiff/zig-out/bin/bspatch +0 -0
  37. package/src/bsdiff/zig-out/lib/libzstd.a +0 -0
  38. package/src/bsdiff/zstd/.buckconfig +0 -9
  39. package/src/bsdiff/zstd/.buckversion +0 -1
  40. package/src/bsdiff/zstd/.circleci/config.yml +0 -123
  41. package/src/bsdiff/zstd/.circleci/images/primary/Dockerfile +0 -9
  42. package/src/bsdiff/zstd/.cirrus.yml +0 -10
  43. package/src/bsdiff/zstd/.gitattributes +0 -21
  44. package/src/bsdiff/zstd/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
  45. package/src/bsdiff/zstd/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  46. package/src/bsdiff/zstd/.github/dependabot.yml +0 -6
  47. package/src/bsdiff/zstd/.github/workflows/commit.yml +0 -89
  48. package/src/bsdiff/zstd/.github/workflows/dev-long-tests.yml +0 -297
  49. package/src/bsdiff/zstd/.github/workflows/dev-short-tests.yml +0 -633
  50. package/src/bsdiff/zstd/.github/workflows/nightly.yml +0 -65
  51. package/src/bsdiff/zstd/.github/workflows/publish-release-artifacts.yml +0 -73
  52. package/src/bsdiff/zstd/.github/workflows/scorecards.yml +0 -64
  53. package/src/bsdiff/zstd/.github/workflows/windows-artifacts.yml +0 -58
  54. package/src/bsdiff/zstd/CHANGELOG +0 -837
  55. package/src/bsdiff/zstd/CODE_OF_CONDUCT.md +0 -5
  56. package/src/bsdiff/zstd/CONTRIBUTING.md +0 -489
  57. package/src/bsdiff/zstd/COPYING +0 -339
  58. package/src/bsdiff/zstd/LICENSE +0 -30
  59. package/src/bsdiff/zstd/Makefile +0 -457
  60. package/src/bsdiff/zstd/Package.swift +0 -36
  61. package/src/bsdiff/zstd/README.md +0 -227
  62. package/src/bsdiff/zstd/SECURITY.md +0 -15
  63. package/src/bsdiff/zstd/TESTING.md +0 -43
  64. package/src/bsdiff/zstd/build/LICENSE +0 -0
  65. package/src/bsdiff/zstd/build/README.md +0 -56
  66. package/src/bsdiff/zstd/build/VS2008/fullbench/fullbench.vcproj +0 -549
  67. package/src/bsdiff/zstd/build/VS2008/fuzzer/fuzzer.vcproj +0 -585
  68. package/src/bsdiff/zstd/build/VS2008/zstd/zstd.vcproj +0 -677
  69. package/src/bsdiff/zstd/build/VS2008/zstd.sln +0 -56
  70. package/src/bsdiff/zstd/build/VS2008/zstdlib/zstdlib.vcproj +0 -635
  71. package/src/bsdiff/zstd/build/VS2010/CompileAsCpp.props +0 -8
  72. package/src/bsdiff/zstd/build/VS2010/datagen/datagen.vcxproj +0 -170
  73. package/src/bsdiff/zstd/build/VS2010/fullbench/fullbench.vcxproj +0 -218
  74. package/src/bsdiff/zstd/build/VS2010/fullbench-dll/fullbench-dll.vcxproj +0 -189
  75. package/src/bsdiff/zstd/build/VS2010/fuzzer/fuzzer.vcxproj +0 -223
  76. package/src/bsdiff/zstd/build/VS2010/libzstd/libzstd.vcxproj +0 -242
  77. package/src/bsdiff/zstd/build/VS2010/libzstd-dll/libzstd-dll.rc +0 -51
  78. package/src/bsdiff/zstd/build/VS2010/libzstd-dll/libzstd-dll.vcxproj +0 -249
  79. package/src/bsdiff/zstd/build/VS2010/zstd/zstd.rc +0 -51
  80. package/src/bsdiff/zstd/build/VS2010/zstd/zstd.vcxproj +0 -265
  81. package/src/bsdiff/zstd/build/VS2010/zstd.sln +0 -89
  82. package/src/bsdiff/zstd/build/VS_scripts/README.md +0 -64
  83. package/src/bsdiff/zstd/build/VS_scripts/build.VS2010.cmd +0 -7
  84. package/src/bsdiff/zstd/build/VS_scripts/build.VS2012.cmd +0 -6
  85. package/src/bsdiff/zstd/build/VS_scripts/build.VS2013.cmd +0 -7
  86. package/src/bsdiff/zstd/build/VS_scripts/build.VS2015.cmd +0 -7
  87. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017.cmd +0 -7
  88. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017Community.cmd +0 -7
  89. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017Enterprise.cmd +0 -7
  90. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017Professional.cmd +0 -7
  91. package/src/bsdiff/zstd/build/VS_scripts/build.generic.cmd +0 -72
  92. package/src/bsdiff/zstd/build/cmake/CMakeLists.txt +0 -216
  93. package/src/bsdiff/zstd/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +0 -121
  94. package/src/bsdiff/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake +0 -49
  95. package/src/bsdiff/zstd/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake +0 -10
  96. package/src/bsdiff/zstd/build/cmake/CMakeModules/JoinPaths.cmake +0 -23
  97. package/src/bsdiff/zstd/build/cmake/README.md +0 -136
  98. package/src/bsdiff/zstd/build/cmake/contrib/CMakeLists.txt +0 -13
  99. package/src/bsdiff/zstd/build/cmake/contrib/gen_html/CMakeLists.txt +0 -30
  100. package/src/bsdiff/zstd/build/cmake/contrib/pzstd/CMakeLists.txt +0 -39
  101. package/src/bsdiff/zstd/build/cmake/lib/CMakeLists.txt +0 -253
  102. package/src/bsdiff/zstd/build/cmake/lib/cmake_uninstall.cmake.in +0 -22
  103. package/src/bsdiff/zstd/build/cmake/programs/CMakeLists.txt +0 -144
  104. package/src/bsdiff/zstd/build/cmake/tests/CMakeLists.txt +0 -118
  105. package/src/bsdiff/zstd/build/cmake/zstdConfig.cmake.in +0 -10
  106. package/src/bsdiff/zstd/build/meson/GetZstdLibraryVersion.py +0 -39
  107. package/src/bsdiff/zstd/build/meson/InstallSymlink.py +0 -55
  108. package/src/bsdiff/zstd/build/meson/README.md +0 -38
  109. package/src/bsdiff/zstd/build/meson/contrib/gen_html/meson.build +0 -30
  110. package/src/bsdiff/zstd/build/meson/contrib/meson.build +0 -12
  111. package/src/bsdiff/zstd/build/meson/contrib/pzstd/meson.build +0 -25
  112. package/src/bsdiff/zstd/build/meson/lib/meson.build +0 -167
  113. package/src/bsdiff/zstd/build/meson/meson.build +0 -145
  114. package/src/bsdiff/zstd/build/meson/meson_options.txt +0 -36
  115. package/src/bsdiff/zstd/build/meson/programs/meson.build +0 -124
  116. package/src/bsdiff/zstd/build/meson/tests/meson.build +0 -217
  117. package/src/bsdiff/zstd/build/meson/tests/valgrindTest.py +0 -90
  118. package/src/bsdiff/zstd/build/single_file_libs/README.md +0 -33
  119. package/src/bsdiff/zstd/build/single_file_libs/build_decoder_test.sh +0 -91
  120. package/src/bsdiff/zstd/build/single_file_libs/build_library_test.sh +0 -97
  121. package/src/bsdiff/zstd/build/single_file_libs/combine.py +0 -234
  122. package/src/bsdiff/zstd/build/single_file_libs/combine.sh +0 -249
  123. package/src/bsdiff/zstd/build/single_file_libs/create_single_file_decoder.sh +0 -19
  124. package/src/bsdiff/zstd/build/single_file_libs/create_single_file_library.sh +0 -19
  125. package/src/bsdiff/zstd/build/single_file_libs/examples/README.md +0 -11
  126. package/src/bsdiff/zstd/build/single_file_libs/examples/emscripten.c +0 -340
  127. package/src/bsdiff/zstd/build/single_file_libs/examples/roundtrip.c +0 -83
  128. package/src/bsdiff/zstd/build/single_file_libs/examples/shell.html +0 -31
  129. package/src/bsdiff/zstd/build/single_file_libs/examples/simple.c +0 -75
  130. package/src/bsdiff/zstd/build/single_file_libs/examples/testcard-dxt1.inl +0 -2731
  131. package/src/bsdiff/zstd/build/single_file_libs/examples/testcard-zstd.inl +0 -261
  132. package/src/bsdiff/zstd/build/single_file_libs/examples/testcard.png +0 -0
  133. package/src/bsdiff/zstd/build/single_file_libs/zstd-in.c +0 -90
  134. package/src/bsdiff/zstd/build/single_file_libs/zstddeclib-in.c +0 -62
  135. package/src/bsdiff/zstd/contrib/VS2005/README.md +0 -3
  136. package/src/bsdiff/zstd/contrib/VS2005/fullbench/fullbench.vcproj +0 -440
  137. package/src/bsdiff/zstd/contrib/VS2005/fuzzer/fuzzer.vcproj +0 -488
  138. package/src/bsdiff/zstd/contrib/VS2005/zstd/zstd.vcproj +0 -552
  139. package/src/bsdiff/zstd/contrib/VS2005/zstd.sln +0 -55
  140. package/src/bsdiff/zstd/contrib/VS2005/zstdlib/zstdlib.vcproj +0 -546
  141. package/src/bsdiff/zstd/contrib/cleanTabs +0 -2
  142. package/src/bsdiff/zstd/contrib/diagnose_corruption/Makefile +0 -35
  143. package/src/bsdiff/zstd/contrib/diagnose_corruption/check_flipped_bits.c +0 -400
  144. package/src/bsdiff/zstd/contrib/docker/Dockerfile +0 -20
  145. package/src/bsdiff/zstd/contrib/docker/README.md +0 -20
  146. package/src/bsdiff/zstd/contrib/externalSequenceProducer/Makefile +0 -40
  147. package/src/bsdiff/zstd/contrib/externalSequenceProducer/README.md +0 -14
  148. package/src/bsdiff/zstd/contrib/externalSequenceProducer/main.c +0 -107
  149. package/src/bsdiff/zstd/contrib/externalSequenceProducer/sequence_producer.c +0 -80
  150. package/src/bsdiff/zstd/contrib/externalSequenceProducer/sequence_producer.h +0 -26
  151. package/src/bsdiff/zstd/contrib/freestanding_lib/freestanding.py +0 -774
  152. package/src/bsdiff/zstd/contrib/gen_html/Makefile +0 -51
  153. package/src/bsdiff/zstd/contrib/gen_html/README.md +0 -31
  154. package/src/bsdiff/zstd/contrib/gen_html/gen-zstd-manual.sh +0 -9
  155. package/src/bsdiff/zstd/contrib/gen_html/gen_html.cpp +0 -224
  156. package/src/bsdiff/zstd/contrib/largeNbDicts/Makefile +0 -58
  157. package/src/bsdiff/zstd/contrib/largeNbDicts/README.md +0 -33
  158. package/src/bsdiff/zstd/contrib/largeNbDicts/largeNbDicts.c +0 -1085
  159. package/src/bsdiff/zstd/contrib/linux-kernel/Makefile +0 -108
  160. package/src/bsdiff/zstd/contrib/linux-kernel/README.md +0 -14
  161. package/src/bsdiff/zstd/contrib/linux-kernel/btrfs-benchmark.sh +0 -104
  162. package/src/bsdiff/zstd/contrib/linux-kernel/btrfs-extract-benchmark.sh +0 -99
  163. package/src/bsdiff/zstd/contrib/linux-kernel/decompress_sources.h +0 -34
  164. package/src/bsdiff/zstd/contrib/linux-kernel/linux.mk +0 -43
  165. package/src/bsdiff/zstd/contrib/linux-kernel/linux_zstd.h +0 -447
  166. package/src/bsdiff/zstd/contrib/linux-kernel/mem.h +0 -262
  167. package/src/bsdiff/zstd/contrib/linux-kernel/squashfs-benchmark.sh +0 -39
  168. package/src/bsdiff/zstd/contrib/linux-kernel/test/Makefile +0 -49
  169. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/asm/unaligned.h +0 -187
  170. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/compiler.h +0 -23
  171. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/errno.h +0 -15
  172. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/kernel.h +0 -19
  173. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/limits.h +0 -15
  174. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/math64.h +0 -15
  175. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/module.h +0 -20
  176. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/printk.h +0 -15
  177. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/stddef.h +0 -15
  178. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/swab.h +0 -16
  179. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/types.h +0 -16
  180. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/xxhash.h +0 -745
  181. package/src/bsdiff/zstd/contrib/linux-kernel/test/macro-test.sh +0 -44
  182. package/src/bsdiff/zstd/contrib/linux-kernel/test/static_test.c +0 -52
  183. package/src/bsdiff/zstd/contrib/linux-kernel/test/test.c +0 -229
  184. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_common_module.c +0 -29
  185. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_compress_module.c +0 -164
  186. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_decompress_module.c +0 -105
  187. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_deps.h +0 -121
  188. package/src/bsdiff/zstd/contrib/match_finders/README.md +0 -42
  189. package/src/bsdiff/zstd/contrib/match_finders/zstd_edist.c +0 -558
  190. package/src/bsdiff/zstd/contrib/match_finders/zstd_edist.h +0 -70
  191. package/src/bsdiff/zstd/contrib/premake/premake4.lua +0 -6
  192. package/src/bsdiff/zstd/contrib/premake/zstd.lua +0 -80
  193. package/src/bsdiff/zstd/contrib/pzstd/BUCK +0 -72
  194. package/src/bsdiff/zstd/contrib/pzstd/ErrorHolder.h +0 -54
  195. package/src/bsdiff/zstd/contrib/pzstd/Logging.h +0 -72
  196. package/src/bsdiff/zstd/contrib/pzstd/Makefile +0 -265
  197. package/src/bsdiff/zstd/contrib/pzstd/Options.cpp +0 -424
  198. package/src/bsdiff/zstd/contrib/pzstd/Options.h +0 -71
  199. package/src/bsdiff/zstd/contrib/pzstd/Pzstd.cpp +0 -618
  200. package/src/bsdiff/zstd/contrib/pzstd/Pzstd.h +0 -153
  201. package/src/bsdiff/zstd/contrib/pzstd/README.md +0 -56
  202. package/src/bsdiff/zstd/contrib/pzstd/SkippableFrame.cpp +0 -30
  203. package/src/bsdiff/zstd/contrib/pzstd/SkippableFrame.h +0 -64
  204. package/src/bsdiff/zstd/contrib/pzstd/images/Cspeed.png +0 -0
  205. package/src/bsdiff/zstd/contrib/pzstd/images/Dspeed.png +0 -0
  206. package/src/bsdiff/zstd/contrib/pzstd/main.cpp +0 -27
  207. package/src/bsdiff/zstd/contrib/pzstd/test/BUCK +0 -37
  208. package/src/bsdiff/zstd/contrib/pzstd/test/OptionsTest.cpp +0 -536
  209. package/src/bsdiff/zstd/contrib/pzstd/test/PzstdTest.cpp +0 -149
  210. package/src/bsdiff/zstd/contrib/pzstd/test/RoundTrip.h +0 -86
  211. package/src/bsdiff/zstd/contrib/pzstd/test/RoundTripTest.cpp +0 -86
  212. package/src/bsdiff/zstd/contrib/pzstd/utils/BUCK +0 -75
  213. package/src/bsdiff/zstd/contrib/pzstd/utils/Buffer.h +0 -99
  214. package/src/bsdiff/zstd/contrib/pzstd/utils/FileSystem.h +0 -96
  215. package/src/bsdiff/zstd/contrib/pzstd/utils/Likely.h +0 -28
  216. package/src/bsdiff/zstd/contrib/pzstd/utils/Portability.h +0 -16
  217. package/src/bsdiff/zstd/contrib/pzstd/utils/Range.h +0 -133
  218. package/src/bsdiff/zstd/contrib/pzstd/utils/ResourcePool.h +0 -96
  219. package/src/bsdiff/zstd/contrib/pzstd/utils/ScopeGuard.h +0 -50
  220. package/src/bsdiff/zstd/contrib/pzstd/utils/ThreadPool.h +0 -58
  221. package/src/bsdiff/zstd/contrib/pzstd/utils/WorkQueue.h +0 -181
  222. package/src/bsdiff/zstd/contrib/pzstd/utils/test/BUCK +0 -35
  223. package/src/bsdiff/zstd/contrib/pzstd/utils/test/BufferTest.cpp +0 -89
  224. package/src/bsdiff/zstd/contrib/pzstd/utils/test/RangeTest.cpp +0 -82
  225. package/src/bsdiff/zstd/contrib/pzstd/utils/test/ResourcePoolTest.cpp +0 -72
  226. package/src/bsdiff/zstd/contrib/pzstd/utils/test/ScopeGuardTest.cpp +0 -28
  227. package/src/bsdiff/zstd/contrib/pzstd/utils/test/ThreadPoolTest.cpp +0 -71
  228. package/src/bsdiff/zstd/contrib/pzstd/utils/test/WorkQueueTest.cpp +0 -282
  229. package/src/bsdiff/zstd/contrib/recovery/Makefile +0 -35
  230. package/src/bsdiff/zstd/contrib/recovery/recover_directory.c +0 -152
  231. package/src/bsdiff/zstd/contrib/seekable_format/README.md +0 -42
  232. package/src/bsdiff/zstd/contrib/seekable_format/examples/Makefile +0 -53
  233. package/src/bsdiff/zstd/contrib/seekable_format/examples/parallel_compression.c +0 -214
  234. package/src/bsdiff/zstd/contrib/seekable_format/examples/parallel_processing.c +0 -194
  235. package/src/bsdiff/zstd/contrib/seekable_format/examples/seekable_compression.c +0 -136
  236. package/src/bsdiff/zstd/contrib/seekable_format/examples/seekable_decompression.c +0 -141
  237. package/src/bsdiff/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c +0 -147
  238. package/src/bsdiff/zstd/contrib/seekable_format/tests/Makefile +0 -38
  239. package/src/bsdiff/zstd/contrib/seekable_format/tests/seekable_tests.c +0 -363
  240. package/src/bsdiff/zstd/contrib/seekable_format/zstd_seekable.h +0 -226
  241. package/src/bsdiff/zstd/contrib/seekable_format/zstd_seekable_compression_format.md +0 -116
  242. package/src/bsdiff/zstd/contrib/seekable_format/zstdseek_compress.c +0 -365
  243. package/src/bsdiff/zstd/contrib/seekable_format/zstdseek_decompress.c +0 -595
  244. package/src/bsdiff/zstd/contrib/seqBench/Makefile +0 -58
  245. package/src/bsdiff/zstd/contrib/seqBench/seqBench.c +0 -53
  246. package/src/bsdiff/zstd/contrib/snap/snapcraft.yaml +0 -28
  247. package/src/bsdiff/zstd/doc/README.md +0 -26
  248. package/src/bsdiff/zstd/doc/decompressor_errata.md +0 -148
  249. package/src/bsdiff/zstd/doc/decompressor_permissive.md +0 -60
  250. package/src/bsdiff/zstd/doc/educational_decoder/Makefile +0 -62
  251. package/src/bsdiff/zstd/doc/educational_decoder/README.md +0 -36
  252. package/src/bsdiff/zstd/doc/educational_decoder/harness.c +0 -119
  253. package/src/bsdiff/zstd/doc/educational_decoder/zstd_decompress.c +0 -2323
  254. package/src/bsdiff/zstd/doc/educational_decoder/zstd_decompress.h +0 -61
  255. package/src/bsdiff/zstd/doc/images/CSpeed2.png +0 -0
  256. package/src/bsdiff/zstd/doc/images/DCspeed5.png +0 -0
  257. package/src/bsdiff/zstd/doc/images/DSpeed3.png +0 -0
  258. package/src/bsdiff/zstd/doc/images/cdict_v136.png +0 -0
  259. package/src/bsdiff/zstd/doc/images/dict-cr.png +0 -0
  260. package/src/bsdiff/zstd/doc/images/dict-cs.png +0 -0
  261. package/src/bsdiff/zstd/doc/images/dict-ds.png +0 -0
  262. package/src/bsdiff/zstd/doc/images/zstd_cdict_v1_3_5.png +0 -0
  263. package/src/bsdiff/zstd/doc/images/zstd_logo86.png +0 -0
  264. package/src/bsdiff/zstd/doc/zstd_compression_format.md +0 -1737
  265. package/src/bsdiff/zstd/doc/zstd_manual.html +0 -2170
  266. package/src/bsdiff/zstd/examples/Makefile +0 -93
  267. package/src/bsdiff/zstd/examples/README.md +0 -46
  268. package/src/bsdiff/zstd/examples/common.h +0 -246
  269. package/src/bsdiff/zstd/examples/dictionary_compression.c +0 -107
  270. package/src/bsdiff/zstd/examples/dictionary_decompression.c +0 -99
  271. package/src/bsdiff/zstd/examples/multiple_simple_compression.c +0 -116
  272. package/src/bsdiff/zstd/examples/multiple_streaming_compression.c +0 -133
  273. package/src/bsdiff/zstd/examples/simple_compression.c +0 -68
  274. package/src/bsdiff/zstd/examples/simple_decompression.c +0 -65
  275. package/src/bsdiff/zstd/examples/streaming_compression.c +0 -146
  276. package/src/bsdiff/zstd/examples/streaming_compression_thread_pool.c +0 -180
  277. package/src/bsdiff/zstd/examples/streaming_decompression.c +0 -100
  278. package/src/bsdiff/zstd/examples/streaming_memory_usage.c +0 -137
  279. package/src/bsdiff/zstd/lib/BUCK +0 -232
  280. package/src/bsdiff/zstd/lib/Makefile +0 -369
  281. package/src/bsdiff/zstd/lib/README.md +0 -237
  282. package/src/bsdiff/zstd/lib/common/allocations.h +0 -55
  283. package/src/bsdiff/zstd/lib/common/bits.h +0 -200
  284. package/src/bsdiff/zstd/lib/common/bitstream.h +0 -457
  285. package/src/bsdiff/zstd/lib/common/compiler.h +0 -450
  286. package/src/bsdiff/zstd/lib/common/cpu.h +0 -249
  287. package/src/bsdiff/zstd/lib/common/debug.c +0 -30
  288. package/src/bsdiff/zstd/lib/common/debug.h +0 -116
  289. package/src/bsdiff/zstd/lib/common/entropy_common.c +0 -340
  290. package/src/bsdiff/zstd/lib/common/error_private.c +0 -63
  291. package/src/bsdiff/zstd/lib/common/error_private.h +0 -168
  292. package/src/bsdiff/zstd/lib/common/fse.h +0 -640
  293. package/src/bsdiff/zstd/lib/common/fse_decompress.c +0 -313
  294. package/src/bsdiff/zstd/lib/common/huf.h +0 -286
  295. package/src/bsdiff/zstd/lib/common/mem.h +0 -426
  296. package/src/bsdiff/zstd/lib/common/pool.c +0 -371
  297. package/src/bsdiff/zstd/lib/common/pool.h +0 -90
  298. package/src/bsdiff/zstd/lib/common/portability_macros.h +0 -158
  299. package/src/bsdiff/zstd/lib/common/threading.c +0 -182
  300. package/src/bsdiff/zstd/lib/common/threading.h +0 -150
  301. package/src/bsdiff/zstd/lib/common/xxhash.c +0 -18
  302. package/src/bsdiff/zstd/lib/common/xxhash.h +0 -7020
  303. package/src/bsdiff/zstd/lib/common/zstd_common.c +0 -48
  304. package/src/bsdiff/zstd/lib/common/zstd_deps.h +0 -111
  305. package/src/bsdiff/zstd/lib/common/zstd_internal.h +0 -392
  306. package/src/bsdiff/zstd/lib/common/zstd_trace.h +0 -163
  307. package/src/bsdiff/zstd/lib/compress/clevels.h +0 -134
  308. package/src/bsdiff/zstd/lib/compress/fse_compress.c +0 -625
  309. package/src/bsdiff/zstd/lib/compress/hist.c +0 -181
  310. package/src/bsdiff/zstd/lib/compress/hist.h +0 -75
  311. package/src/bsdiff/zstd/lib/compress/huf_compress.c +0 -1464
  312. package/src/bsdiff/zstd/lib/compress/zstd_compress.c +0 -7153
  313. package/src/bsdiff/zstd/lib/compress/zstd_compress_internal.h +0 -1534
  314. package/src/bsdiff/zstd/lib/compress/zstd_compress_literals.c +0 -235
  315. package/src/bsdiff/zstd/lib/compress/zstd_compress_literals.h +0 -39
  316. package/src/bsdiff/zstd/lib/compress/zstd_compress_sequences.c +0 -442
  317. package/src/bsdiff/zstd/lib/compress/zstd_compress_sequences.h +0 -54
  318. package/src/bsdiff/zstd/lib/compress/zstd_compress_superblock.c +0 -688
  319. package/src/bsdiff/zstd/lib/compress/zstd_compress_superblock.h +0 -32
  320. package/src/bsdiff/zstd/lib/compress/zstd_cwksp.h +0 -748
  321. package/src/bsdiff/zstd/lib/compress/zstd_double_fast.c +0 -770
  322. package/src/bsdiff/zstd/lib/compress/zstd_double_fast.h +0 -50
  323. package/src/bsdiff/zstd/lib/compress/zstd_fast.c +0 -968
  324. package/src/bsdiff/zstd/lib/compress/zstd_fast.h +0 -38
  325. package/src/bsdiff/zstd/lib/compress/zstd_lazy.c +0 -2199
  326. package/src/bsdiff/zstd/lib/compress/zstd_lazy.h +0 -202
  327. package/src/bsdiff/zstd/lib/compress/zstd_ldm.c +0 -730
  328. package/src/bsdiff/zstd/lib/compress/zstd_ldm.h +0 -117
  329. package/src/bsdiff/zstd/lib/compress/zstd_ldm_geartab.h +0 -106
  330. package/src/bsdiff/zstd/lib/compress/zstd_opt.c +0 -1576
  331. package/src/bsdiff/zstd/lib/compress/zstd_opt.h +0 -80
  332. package/src/bsdiff/zstd/lib/compress/zstdmt_compress.c +0 -1882
  333. package/src/bsdiff/zstd/lib/compress/zstdmt_compress.h +0 -113
  334. package/src/bsdiff/zstd/lib/decompress/huf_decompress.c +0 -1944
  335. package/src/bsdiff/zstd/lib/decompress/huf_decompress_amd64.S +0 -595
  336. package/src/bsdiff/zstd/lib/decompress/zstd_ddict.c +0 -244
  337. package/src/bsdiff/zstd/lib/decompress/zstd_ddict.h +0 -44
  338. package/src/bsdiff/zstd/lib/decompress/zstd_decompress.c +0 -2407
  339. package/src/bsdiff/zstd/lib/decompress/zstd_decompress_block.c +0 -2215
  340. package/src/bsdiff/zstd/lib/decompress/zstd_decompress_block.h +0 -73
  341. package/src/bsdiff/zstd/lib/decompress/zstd_decompress_internal.h +0 -240
  342. package/src/bsdiff/zstd/lib/deprecated/zbuff.h +0 -214
  343. package/src/bsdiff/zstd/lib/deprecated/zbuff_common.c +0 -26
  344. package/src/bsdiff/zstd/lib/deprecated/zbuff_compress.c +0 -167
  345. package/src/bsdiff/zstd/lib/deprecated/zbuff_decompress.c +0 -77
  346. package/src/bsdiff/zstd/lib/dictBuilder/cover.c +0 -1261
  347. package/src/bsdiff/zstd/lib/dictBuilder/cover.h +0 -152
  348. package/src/bsdiff/zstd/lib/dictBuilder/divsufsort.c +0 -1913
  349. package/src/bsdiff/zstd/lib/dictBuilder/divsufsort.h +0 -67
  350. package/src/bsdiff/zstd/lib/dictBuilder/fastcover.c +0 -766
  351. package/src/bsdiff/zstd/lib/dictBuilder/zdict.c +0 -1133
  352. package/src/bsdiff/zstd/lib/dll/example/Makefile +0 -48
  353. package/src/bsdiff/zstd/lib/dll/example/README.md +0 -63
  354. package/src/bsdiff/zstd/lib/dll/example/build_package.bat +0 -20
  355. package/src/bsdiff/zstd/lib/dll/example/fullbench-dll.sln +0 -25
  356. package/src/bsdiff/zstd/lib/dll/example/fullbench-dll.vcxproj +0 -181
  357. package/src/bsdiff/zstd/lib/legacy/zstd_legacy.h +0 -452
  358. package/src/bsdiff/zstd/lib/legacy/zstd_v01.c +0 -2127
  359. package/src/bsdiff/zstd/lib/legacy/zstd_v01.h +0 -94
  360. package/src/bsdiff/zstd/lib/legacy/zstd_v02.c +0 -3465
  361. package/src/bsdiff/zstd/lib/legacy/zstd_v02.h +0 -93
  362. package/src/bsdiff/zstd/lib/legacy/zstd_v03.c +0 -3105
  363. package/src/bsdiff/zstd/lib/legacy/zstd_v03.h +0 -93
  364. package/src/bsdiff/zstd/lib/legacy/zstd_v04.c +0 -3598
  365. package/src/bsdiff/zstd/lib/legacy/zstd_v04.h +0 -142
  366. package/src/bsdiff/zstd/lib/legacy/zstd_v05.c +0 -4005
  367. package/src/bsdiff/zstd/lib/legacy/zstd_v05.h +0 -162
  368. package/src/bsdiff/zstd/lib/legacy/zstd_v06.c +0 -4106
  369. package/src/bsdiff/zstd/lib/legacy/zstd_v06.h +0 -172
  370. package/src/bsdiff/zstd/lib/legacy/zstd_v07.c +0 -4490
  371. package/src/bsdiff/zstd/lib/legacy/zstd_v07.h +0 -187
  372. package/src/bsdiff/zstd/lib/libzstd.mk +0 -237
  373. package/src/bsdiff/zstd/lib/libzstd.pc.in +0 -16
  374. package/src/bsdiff/zstd/lib/module.modulemap +0 -35
  375. package/src/bsdiff/zstd/lib/zdict.h +0 -474
  376. package/src/bsdiff/zstd/lib/zstd.h +0 -3089
  377. package/src/bsdiff/zstd/lib/zstd_errors.h +0 -114
  378. package/src/bsdiff/zstd/programs/BUCK +0 -44
  379. package/src/bsdiff/zstd/programs/Makefile +0 -445
  380. package/src/bsdiff/zstd/programs/README.md +0 -302
  381. package/src/bsdiff/zstd/programs/benchfn.c +0 -256
  382. package/src/bsdiff/zstd/programs/benchfn.h +0 -183
  383. package/src/bsdiff/zstd/programs/benchzstd.c +0 -1264
  384. package/src/bsdiff/zstd/programs/benchzstd.h +0 -198
  385. package/src/bsdiff/zstd/programs/datagen.c +0 -186
  386. package/src/bsdiff/zstd/programs/datagen.h +0 -30
  387. package/src/bsdiff/zstd/programs/dibio.c +0 -440
  388. package/src/bsdiff/zstd/programs/dibio.h +0 -39
  389. package/src/bsdiff/zstd/programs/fileio.c +0 -3470
  390. package/src/bsdiff/zstd/programs/fileio.h +0 -181
  391. package/src/bsdiff/zstd/programs/fileio_asyncio.c +0 -663
  392. package/src/bsdiff/zstd/programs/fileio_asyncio.h +0 -203
  393. package/src/bsdiff/zstd/programs/fileio_common.h +0 -125
  394. package/src/bsdiff/zstd/programs/fileio_types.h +0 -86
  395. package/src/bsdiff/zstd/programs/lorem.c +0 -285
  396. package/src/bsdiff/zstd/programs/lorem.h +0 -32
  397. package/src/bsdiff/zstd/programs/platform.h +0 -218
  398. package/src/bsdiff/zstd/programs/timefn.c +0 -168
  399. package/src/bsdiff/zstd/programs/timefn.h +0 -70
  400. package/src/bsdiff/zstd/programs/util.c +0 -1652
  401. package/src/bsdiff/zstd/programs/util.h +0 -359
  402. package/src/bsdiff/zstd/programs/windres/verrsrc.h +0 -17
  403. package/src/bsdiff/zstd/programs/windres/zstd.rc +0 -51
  404. package/src/bsdiff/zstd/programs/windres/zstd32.res +0 -0
  405. package/src/bsdiff/zstd/programs/windres/zstd64.res +0 -0
  406. package/src/bsdiff/zstd/programs/zstd.1 +0 -566
  407. package/src/bsdiff/zstd/programs/zstd.1.md +0 -695
  408. package/src/bsdiff/zstd/programs/zstdcli.c +0 -1625
  409. package/src/bsdiff/zstd/programs/zstdcli_trace.c +0 -172
  410. package/src/bsdiff/zstd/programs/zstdcli_trace.h +0 -24
  411. package/src/bsdiff/zstd/programs/zstdgrep +0 -134
  412. package/src/bsdiff/zstd/programs/zstdgrep.1 +0 -26
  413. package/src/bsdiff/zstd/programs/zstdgrep.1.md +0 -30
  414. package/src/bsdiff/zstd/programs/zstdless +0 -8
  415. package/src/bsdiff/zstd/programs/zstdless.1 +0 -14
  416. package/src/bsdiff/zstd/programs/zstdless.1.md +0 -16
  417. package/src/bsdiff/zstd/tests/DEPRECATED-test-zstd-speed.py +0 -378
  418. package/src/bsdiff/zstd/tests/Makefile +0 -477
  419. package/src/bsdiff/zstd/tests/README.md +0 -184
  420. package/src/bsdiff/zstd/tests/automated_benchmarking.py +0 -326
  421. package/src/bsdiff/zstd/tests/bigdict.c +0 -128
  422. package/src/bsdiff/zstd/tests/checkTag.c +0 -65
  423. package/src/bsdiff/zstd/tests/check_size.py +0 -31
  424. package/src/bsdiff/zstd/tests/cli-tests/README.md +0 -258
  425. package/src/bsdiff/zstd/tests/cli-tests/basic/args.sh +0 -10
  426. package/src/bsdiff/zstd/tests/cli-tests/basic/args.sh.exit +0 -1
  427. package/src/bsdiff/zstd/tests/cli-tests/basic/args.sh.stderr.glob +0 -28
  428. package/src/bsdiff/zstd/tests/cli-tests/basic/help.sh +0 -10
  429. package/src/bsdiff/zstd/tests/cli-tests/basic/help.sh.stdout.glob +0 -34
  430. package/src/bsdiff/zstd/tests/cli-tests/basic/memlimit.sh +0 -40
  431. package/src/bsdiff/zstd/tests/cli-tests/basic/memlimit.sh.stderr.exact +0 -13
  432. package/src/bsdiff/zstd/tests/cli-tests/basic/memlimit.sh.stdout.exact +0 -13
  433. package/src/bsdiff/zstd/tests/cli-tests/basic/output_dir.sh +0 -7
  434. package/src/bsdiff/zstd/tests/cli-tests/basic/output_dir.sh.stderr.exact +0 -2
  435. package/src/bsdiff/zstd/tests/cli-tests/basic/output_dir.sh.stdout.exact +0 -2
  436. package/src/bsdiff/zstd/tests/cli-tests/basic/version.sh +0 -6
  437. package/src/bsdiff/zstd/tests/cli-tests/basic/version.sh.stdout.glob +0 -2
  438. package/src/bsdiff/zstd/tests/cli-tests/bin/cmp_size +0 -44
  439. package/src/bsdiff/zstd/tests/cli-tests/bin/datagen +0 -3
  440. package/src/bsdiff/zstd/tests/cli-tests/bin/die +0 -4
  441. package/src/bsdiff/zstd/tests/cli-tests/bin/println +0 -2
  442. package/src/bsdiff/zstd/tests/cli-tests/bin/zstd +0 -9
  443. package/src/bsdiff/zstd/tests/cli-tests/bin/zstdgrep +0 -2
  444. package/src/bsdiff/zstd/tests/cli-tests/bin/zstdless +0 -2
  445. package/src/bsdiff/zstd/tests/cli-tests/cltools/setup +0 -6
  446. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh +0 -8
  447. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh.exit +0 -1
  448. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh.stderr.exact +0 -1
  449. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh.stdout.glob +0 -4
  450. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdless.sh +0 -10
  451. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdless.sh.stderr.exact +0 -2
  452. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdless.sh.stdout.glob +0 -5
  453. package/src/bsdiff/zstd/tests/cli-tests/common/format.sh +0 -19
  454. package/src/bsdiff/zstd/tests/cli-tests/common/mtime.sh +0 -13
  455. package/src/bsdiff/zstd/tests/cli-tests/common/permissions.sh +0 -18
  456. package/src/bsdiff/zstd/tests/cli-tests/common/platform.sh +0 -37
  457. package/src/bsdiff/zstd/tests/cli-tests/compression/adapt.sh +0 -14
  458. package/src/bsdiff/zstd/tests/cli-tests/compression/basic.sh +0 -36
  459. package/src/bsdiff/zstd/tests/cli-tests/compression/compress-literals.sh +0 -10
  460. package/src/bsdiff/zstd/tests/cli-tests/compression/format.sh +0 -16
  461. package/src/bsdiff/zstd/tests/cli-tests/compression/golden.sh +0 -16
  462. package/src/bsdiff/zstd/tests/cli-tests/compression/gzip-compat.sh +0 -17
  463. package/src/bsdiff/zstd/tests/cli-tests/compression/levels.sh +0 -62
  464. package/src/bsdiff/zstd/tests/cli-tests/compression/levels.sh.stderr.exact +0 -69
  465. package/src/bsdiff/zstd/tests/cli-tests/compression/long-distance-matcher.sh +0 -7
  466. package/src/bsdiff/zstd/tests/cli-tests/compression/multi-threaded.sh +0 -15
  467. package/src/bsdiff/zstd/tests/cli-tests/compression/multi-threaded.sh.stderr.exact +0 -11
  468. package/src/bsdiff/zstd/tests/cli-tests/compression/multiple-files.sh +0 -21
  469. package/src/bsdiff/zstd/tests/cli-tests/compression/multiple-files.sh.stdout.exact +0 -12
  470. package/src/bsdiff/zstd/tests/cli-tests/compression/row-match-finder.sh +0 -7
  471. package/src/bsdiff/zstd/tests/cli-tests/compression/setup +0 -7
  472. package/src/bsdiff/zstd/tests/cli-tests/compression/stream-size.sh +0 -7
  473. package/src/bsdiff/zstd/tests/cli-tests/compression/verbose-wlog.sh +0 -11
  474. package/src/bsdiff/zstd/tests/cli-tests/compression/verbose-wlog.sh.stderr.glob +0 -5
  475. package/src/bsdiff/zstd/tests/cli-tests/compression/verbose-wlog.sh.stdout.glob +0 -5
  476. package/src/bsdiff/zstd/tests/cli-tests/compression/window-resize.sh +0 -9
  477. package/src/bsdiff/zstd/tests/cli-tests/compression/window-resize.sh.stderr.ignore +0 -0
  478. package/src/bsdiff/zstd/tests/cli-tests/compression/window-resize.sh.stdout.glob +0 -3
  479. package/src/bsdiff/zstd/tests/cli-tests/decompression/detectErrors.sh +0 -11
  480. package/src/bsdiff/zstd/tests/cli-tests/decompression/golden.sh +0 -7
  481. package/src/bsdiff/zstd/tests/cli-tests/decompression/pass-through.sh +0 -57
  482. package/src/bsdiff/zstd/tests/cli-tests/decompression/pass-through.sh.stderr.exact +0 -11
  483. package/src/bsdiff/zstd/tests/cli-tests/decompression/pass-through.sh.stdout.exact +0 -25
  484. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/empty-input.sh +0 -9
  485. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/empty-input.sh.stderr.exact +0 -1
  486. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/no-inputs.sh +0 -3
  487. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/no-inputs.sh.exit +0 -1
  488. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +0 -5
  489. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh +0 -29
  490. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh.stderr.exact +0 -7
  491. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/golden.sh +0 -9
  492. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/setup +0 -6
  493. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/setup_once +0 -24
  494. package/src/bsdiff/zstd/tests/cli-tests/file-handling/directory-mirror.sh +0 -49
  495. package/src/bsdiff/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stderr.exact +0 -0
  496. package/src/bsdiff/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stdout.exact +0 -0
  497. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh +0 -12
  498. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh.stderr.exact +0 -26
  499. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh +0 -9
  500. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact +0 -42
  501. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh +0 -8
  502. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh.stderr.exact +0 -24
  503. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh +0 -8
  504. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.exact +0 -24
  505. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh +0 -8
  506. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh.stderr.exact +0 -18
  507. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh +0 -8
  508. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact +0 -38
  509. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh +0 -7
  510. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh.stderr.exact +0 -18
  511. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh +0 -7
  512. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.exact +0 -20
  513. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh +0 -7
  514. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh.stderr.exact +0 -14
  515. package/src/bsdiff/zstd/tests/cli-tests/progress/no-progress.sh +0 -46
  516. package/src/bsdiff/zstd/tests/cli-tests/progress/no-progress.sh.stderr.glob +0 -96
  517. package/src/bsdiff/zstd/tests/cli-tests/progress/progress.sh +0 -41
  518. package/src/bsdiff/zstd/tests/cli-tests/progress/progress.sh.stderr.glob +0 -62
  519. package/src/bsdiff/zstd/tests/cli-tests/run.py +0 -731
  520. package/src/bsdiff/zstd/tests/cli-tests/zstd-symlinks/setup +0 -6
  521. package/src/bsdiff/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh +0 -12
  522. package/src/bsdiff/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh.stdout.exact +0 -8
  523. package/src/bsdiff/zstd/tests/datagencli.c +0 -149
  524. package/src/bsdiff/zstd/tests/decodecorpus.c +0 -1936
  525. package/src/bsdiff/zstd/tests/dict-files/zero-weight-dict +0 -0
  526. package/src/bsdiff/zstd/tests/external_matchfinder.c +0 -140
  527. package/src/bsdiff/zstd/tests/external_matchfinder.h +0 -39
  528. package/src/bsdiff/zstd/tests/fullbench.c +0 -980
  529. package/src/bsdiff/zstd/tests/fuzz/Makefile +0 -277
  530. package/src/bsdiff/zstd/tests/fuzz/README.md +0 -161
  531. package/src/bsdiff/zstd/tests/fuzz/block_decompress.c +0 -53
  532. package/src/bsdiff/zstd/tests/fuzz/block_round_trip.c +0 -103
  533. package/src/bsdiff/zstd/tests/fuzz/decompress_cross_format.c +0 -130
  534. package/src/bsdiff/zstd/tests/fuzz/decompress_dstSize_tooSmall.c +0 -74
  535. package/src/bsdiff/zstd/tests/fuzz/dictionary_decompress.c +0 -77
  536. package/src/bsdiff/zstd/tests/fuzz/dictionary_loader.c +0 -106
  537. package/src/bsdiff/zstd/tests/fuzz/dictionary_round_trip.c +0 -155
  538. package/src/bsdiff/zstd/tests/fuzz/dictionary_stream_round_trip.c +0 -209
  539. package/src/bsdiff/zstd/tests/fuzz/fse_read_ncount.c +0 -100
  540. package/src/bsdiff/zstd/tests/fuzz/fuzz.h +0 -57
  541. package/src/bsdiff/zstd/tests/fuzz/fuzz.py +0 -911
  542. package/src/bsdiff/zstd/tests/fuzz/fuzz_data_producer.c +0 -95
  543. package/src/bsdiff/zstd/tests/fuzz/fuzz_data_producer.h +0 -66
  544. package/src/bsdiff/zstd/tests/fuzz/fuzz_helpers.c +0 -48
  545. package/src/bsdiff/zstd/tests/fuzz/fuzz_helpers.h +0 -81
  546. package/src/bsdiff/zstd/tests/fuzz/fuzz_third_party_seq_prod.h +0 -116
  547. package/src/bsdiff/zstd/tests/fuzz/generate_sequences.c +0 -88
  548. package/src/bsdiff/zstd/tests/fuzz/huf_decompress.c +0 -68
  549. package/src/bsdiff/zstd/tests/fuzz/huf_round_trip.c +0 -137
  550. package/src/bsdiff/zstd/tests/fuzz/raw_dictionary_round_trip.c +0 -119
  551. package/src/bsdiff/zstd/tests/fuzz/regression_driver.c +0 -90
  552. package/src/bsdiff/zstd/tests/fuzz/seekable_roundtrip.c +0 -88
  553. package/src/bsdiff/zstd/tests/fuzz/seq_prod_fuzz_example/Makefile +0 -16
  554. package/src/bsdiff/zstd/tests/fuzz/seq_prod_fuzz_example/README.md +0 -12
  555. package/src/bsdiff/zstd/tests/fuzz/seq_prod_fuzz_example/example_seq_prod.c +0 -52
  556. package/src/bsdiff/zstd/tests/fuzz/sequence_compression_api.c +0 -381
  557. package/src/bsdiff/zstd/tests/fuzz/simple_compress.c +0 -60
  558. package/src/bsdiff/zstd/tests/fuzz/simple_decompress.c +0 -59
  559. package/src/bsdiff/zstd/tests/fuzz/simple_round_trip.c +0 -182
  560. package/src/bsdiff/zstd/tests/fuzz/stream_decompress.c +0 -119
  561. package/src/bsdiff/zstd/tests/fuzz/stream_round_trip.c +0 -218
  562. package/src/bsdiff/zstd/tests/fuzz/zstd_frame_info.c +0 -43
  563. package/src/bsdiff/zstd/tests/fuzz/zstd_helpers.c +0 -207
  564. package/src/bsdiff/zstd/tests/fuzz/zstd_helpers.h +0 -56
  565. package/src/bsdiff/zstd/tests/fuzzer.c +0 -4933
  566. package/src/bsdiff/zstd/tests/golden-compression/PR-3517-block-splitter-corruption-test +0 -1
  567. package/src/bsdiff/zstd/tests/golden-compression/http +0 -1
  568. package/src/bsdiff/zstd/tests/golden-compression/huffman-compressed-larger +0 -0
  569. package/src/bsdiff/zstd/tests/golden-compression/large-literal-and-match-lengths +0 -0
  570. package/src/bsdiff/zstd/tests/golden-decompression/block-128k.zst +0 -0
  571. package/src/bsdiff/zstd/tests/golden-decompression/empty-block.zst +0 -0
  572. package/src/bsdiff/zstd/tests/golden-decompression/rle-first-block.zst +0 -0
  573. package/src/bsdiff/zstd/tests/golden-decompression/zeroSeq_2B.zst +0 -0
  574. package/src/bsdiff/zstd/tests/golden-decompression-errors/off0.bin.zst +0 -0
  575. package/src/bsdiff/zstd/tests/golden-decompression-errors/zeroSeq_extraneous.zst +0 -0
  576. package/src/bsdiff/zstd/tests/golden-dictionaries/http-dict-missing-symbols +0 -0
  577. package/src/bsdiff/zstd/tests/gzip/Makefile +0 -45
  578. package/src/bsdiff/zstd/tests/gzip/gzip-env.sh +0 -46
  579. package/src/bsdiff/zstd/tests/gzip/helin-segv.sh +0 -31
  580. package/src/bsdiff/zstd/tests/gzip/help-version.sh +0 -270
  581. package/src/bsdiff/zstd/tests/gzip/hufts-segv.gz +0 -0
  582. package/src/bsdiff/zstd/tests/gzip/hufts.sh +0 -34
  583. package/src/bsdiff/zstd/tests/gzip/init.cfg +0 -5
  584. package/src/bsdiff/zstd/tests/gzip/init.sh +0 -616
  585. package/src/bsdiff/zstd/tests/gzip/keep.sh +0 -51
  586. package/src/bsdiff/zstd/tests/gzip/list.sh +0 -31
  587. package/src/bsdiff/zstd/tests/gzip/memcpy-abuse.sh +0 -34
  588. package/src/bsdiff/zstd/tests/gzip/mixed.sh +0 -68
  589. package/src/bsdiff/zstd/tests/gzip/null-suffix-clobber.sh +0 -35
  590. package/src/bsdiff/zstd/tests/gzip/stdin.sh +0 -31
  591. package/src/bsdiff/zstd/tests/gzip/test-driver.sh +0 -150
  592. package/src/bsdiff/zstd/tests/gzip/trailing-nul.sh +0 -37
  593. package/src/bsdiff/zstd/tests/gzip/unpack-invalid.sh +0 -36
  594. package/src/bsdiff/zstd/tests/gzip/z-suffix.sh +0 -30
  595. package/src/bsdiff/zstd/tests/gzip/zdiff.sh +0 -48
  596. package/src/bsdiff/zstd/tests/gzip/zgrep-context.sh +0 -47
  597. package/src/bsdiff/zstd/tests/gzip/zgrep-f.sh +0 -43
  598. package/src/bsdiff/zstd/tests/gzip/zgrep-signal.sh +0 -64
  599. package/src/bsdiff/zstd/tests/gzip/znew-k.sh +0 -40
  600. package/src/bsdiff/zstd/tests/invalidDictionaries.c +0 -61
  601. package/src/bsdiff/zstd/tests/legacy.c +0 -260
  602. package/src/bsdiff/zstd/tests/libzstd_builds.sh +0 -104
  603. package/src/bsdiff/zstd/tests/longmatch.c +0 -102
  604. package/src/bsdiff/zstd/tests/loremOut.c +0 -50
  605. package/src/bsdiff/zstd/tests/loremOut.h +0 -15
  606. package/src/bsdiff/zstd/tests/paramgrill.c +0 -2966
  607. package/src/bsdiff/zstd/tests/playTests.sh +0 -1928
  608. package/src/bsdiff/zstd/tests/poolTests.c +0 -271
  609. package/src/bsdiff/zstd/tests/rateLimiter.py +0 -41
  610. package/src/bsdiff/zstd/tests/regression/Makefile +0 -60
  611. package/src/bsdiff/zstd/tests/regression/README.md +0 -28
  612. package/src/bsdiff/zstd/tests/regression/config.c +0 -404
  613. package/src/bsdiff/zstd/tests/regression/config.h +0 -91
  614. package/src/bsdiff/zstd/tests/regression/data.c +0 -631
  615. package/src/bsdiff/zstd/tests/regression/data.h +0 -121
  616. package/src/bsdiff/zstd/tests/regression/levels.h +0 -59
  617. package/src/bsdiff/zstd/tests/regression/method.c +0 -701
  618. package/src/bsdiff/zstd/tests/regression/method.h +0 -65
  619. package/src/bsdiff/zstd/tests/regression/result.c +0 -28
  620. package/src/bsdiff/zstd/tests/regression/result.h +0 -103
  621. package/src/bsdiff/zstd/tests/regression/results.csv +0 -1480
  622. package/src/bsdiff/zstd/tests/regression/test.c +0 -362
  623. package/src/bsdiff/zstd/tests/roundTripCrash.c +0 -241
  624. package/src/bsdiff/zstd/tests/seqgen.c +0 -260
  625. package/src/bsdiff/zstd/tests/seqgen.h +0 -58
  626. package/src/bsdiff/zstd/tests/test-license.py +0 -156
  627. package/src/bsdiff/zstd/tests/test-variants.sh +0 -115
  628. package/src/bsdiff/zstd/tests/test-zstd-versions.py +0 -308
  629. package/src/bsdiff/zstd/tests/zstreamtest.c +0 -3407
  630. package/src/bsdiff/zstd/zlibWrapper/BUCK +0 -22
  631. package/src/bsdiff/zstd/zlibWrapper/Makefile +0 -120
  632. package/src/bsdiff/zstd/zlibWrapper/README.md +0 -163
  633. package/src/bsdiff/zstd/zlibWrapper/examples/example.c +0 -598
  634. package/src/bsdiff/zstd/zlibWrapper/examples/example_original.c +0 -599
  635. package/src/bsdiff/zstd/zlibWrapper/examples/fitblk.c +0 -254
  636. package/src/bsdiff/zstd/zlibWrapper/examples/fitblk_original.c +0 -233
  637. package/src/bsdiff/zstd/zlibWrapper/examples/minigzip.c +0 -605
  638. package/src/bsdiff/zstd/zlibWrapper/examples/zwrapbench.c +0 -1018
  639. package/src/bsdiff/zstd/zlibWrapper/gzclose.c +0 -26
  640. package/src/bsdiff/zstd/zlibWrapper/gzcompatibility.h +0 -68
  641. package/src/bsdiff/zstd/zlibWrapper/gzguts.h +0 -229
  642. package/src/bsdiff/zstd/zlibWrapper/gzlib.c +0 -587
  643. package/src/bsdiff/zstd/zlibWrapper/gzread.c +0 -637
  644. package/src/bsdiff/zstd/zlibWrapper/gzwrite.c +0 -631
  645. package/src/bsdiff/zstd/zlibWrapper/zstd_zlibwrapper.c +0 -1200
  646. package/src/bsdiff/zstd/zlibWrapper/zstd_zlibwrapper.h +0 -91
  647. package/src/objc/build/objcWrapper.o +0 -0
  648. package/src/objc/objcWrapper.m +0 -1380
  649. package/src/zig/build/index.js +0 -782
  650. package/src/zig/build/libObjcWrapper.a +0 -0
  651. package/src/zig/build.zig +0 -29
  652. package/src/zig/macos/application.zig +0 -6
  653. package/src/zig/macos/objc.zig +0 -123
  654. package/src/zig/macos/tray.zig +0 -102
  655. package/src/zig/macos/webview.zig +0 -693
  656. package/src/zig/macos/window.zig +0 -189
  657. package/src/zig/main.zig +0 -16
  658. package/src/zig/rpc/pipesin.zig +0 -202
  659. package/src/zig/rpc/rpc.zig +0 -19
  660. package/src/zig/rpc/schema/handlers.zig +0 -402
  661. package/src/zig/rpc/schema/request.zig +0 -59
  662. package/src/zig/rpc/schema/schema.zig +0 -412
  663. package/src/zig/rpc/stdin.zig +0 -112
  664. package/src/zig/rpc/stdout.zig +0 -106
  665. package/src/zig/rpc/types.zig +0 -41
  666. package/src/zig/utils.zig +0 -49
  667. package/src/zig/zig-out/bin/webview +0 -0
@@ -1,1264 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- * All rights reserved.
4
- *
5
- * This source code is licensed under both the BSD-style license (found in the
6
- * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
- * in the COPYING file in the root directory of this source tree).
8
- * You may select, at your option, one of the above-listed licenses.
9
- */
10
-
11
- /* **************************************
12
- * Tuning parameters
13
- ****************************************/
14
- #ifndef BMK_TIMETEST_DEFAULT_S /* default minimum time per test */
15
- # define BMK_TIMETEST_DEFAULT_S 3
16
- #endif
17
-
18
- /* *************************************
19
- * Includes
20
- ***************************************/
21
- /* this must be included first */
22
- #include "platform.h" /* Large Files support, compiler specifics */
23
-
24
- /* then following system includes */
25
- #include <assert.h> /* assert */
26
- #include <errno.h>
27
- #include <stdio.h> /* fprintf, fopen */
28
- #include <stdlib.h> /* malloc, free */
29
- #include <string.h> /* memset, strerror */
30
- #include "util.h" /* UTIL_getFileSize, UTIL_sleep */
31
- #include "../lib/common/mem.h"
32
- #include "benchfn.h"
33
- #include "timefn.h" /* UTIL_time_t */
34
- #ifndef ZSTD_STATIC_LINKING_ONLY
35
- # define ZSTD_STATIC_LINKING_ONLY
36
- #endif
37
- #include "../lib/zstd.h"
38
- #include "datagen.h" /* RDG_genBuffer */
39
- #include "lorem.h" /* LOREM_genBuffer */
40
- #ifndef XXH_INLINE_ALL
41
- # define XXH_INLINE_ALL
42
- #endif
43
- #include "../lib/common/xxhash.h"
44
- #include "../lib/zstd_errors.h"
45
- #include "benchzstd.h"
46
-
47
- /* *************************************
48
- * Constants
49
- ***************************************/
50
- #ifndef ZSTD_GIT_COMMIT
51
- # define ZSTD_GIT_COMMIT_STRING ""
52
- #else
53
- # define ZSTD_GIT_COMMIT_STRING ZSTD_EXPAND_AND_QUOTE(ZSTD_GIT_COMMIT)
54
- #endif
55
-
56
- #define TIMELOOP_MICROSEC (1 * 1000000ULL) /* 1 second */
57
- #define TIMELOOP_NANOSEC (1 * 1000000000ULL) /* 1 second */
58
- #define ACTIVEPERIOD_MICROSEC (70 * TIMELOOP_MICROSEC) /* 70 seconds */
59
- #define COOLPERIOD_SEC 10
60
-
61
- #define KB *(1 << 10)
62
- #define MB *(1 << 20)
63
- #define GB *(1U << 30)
64
-
65
- #define BMK_RUNTEST_DEFAULT_MS 1000
66
-
67
- static const size_t maxMemory = (sizeof(size_t) == 4)
68
- ?
69
- /* 32-bit */ (2 GB - 64 MB)
70
- :
71
- /* 64-bit */ (size_t)(1ULL << ((sizeof(size_t) * 8) - 31));
72
-
73
- /* *************************************
74
- * console display
75
- ***************************************/
76
- #define DISPLAY(...) \
77
- { \
78
- fprintf(stderr, __VA_ARGS__); \
79
- fflush(NULL); \
80
- }
81
- #define DISPLAYLEVEL(l, ...) \
82
- if (displayLevel >= l) { \
83
- DISPLAY(__VA_ARGS__); \
84
- }
85
- /* 0 : no display; 1: errors; 2 : + result + interaction + warnings; 3 : +
86
- * progression; 4 : + information */
87
- #define OUTPUT(...) \
88
- { \
89
- fprintf(stdout, __VA_ARGS__); \
90
- fflush(NULL); \
91
- }
92
- #define OUTPUTLEVEL(l, ...) \
93
- if (displayLevel >= l) { \
94
- OUTPUT(__VA_ARGS__); \
95
- }
96
-
97
- /* *************************************
98
- * Exceptions
99
- ***************************************/
100
- #ifndef DEBUG
101
- # define DEBUG 0
102
- #endif
103
- #define DEBUGOUTPUT(...) \
104
- { \
105
- if (DEBUG) \
106
- DISPLAY(__VA_ARGS__); \
107
- }
108
-
109
- #define RETURN_ERROR_INT(errorNum, ...) \
110
- { \
111
- DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
112
- DISPLAYLEVEL(1, "Error %i : ", errorNum); \
113
- DISPLAYLEVEL(1, __VA_ARGS__); \
114
- DISPLAYLEVEL(1, " \n"); \
115
- return errorNum; \
116
- }
117
-
118
- #define CHECK_Z(zf) \
119
- { \
120
- size_t const zerr = zf; \
121
- if (ZSTD_isError(zerr)) { \
122
- DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
123
- DISPLAY("Error : "); \
124
- DISPLAY("%s failed : %s", #zf, ZSTD_getErrorName(zerr)); \
125
- DISPLAY(" \n"); \
126
- exit(1); \
127
- } \
128
- }
129
-
130
- #define RETURN_ERROR(errorNum, retType, ...) \
131
- { \
132
- retType r; \
133
- memset(&r, 0, sizeof(retType)); \
134
- DEBUGOUTPUT("%s: %i: \n", __FILE__, __LINE__); \
135
- DISPLAYLEVEL(1, "Error %i : ", errorNum); \
136
- DISPLAYLEVEL(1, __VA_ARGS__); \
137
- DISPLAYLEVEL(1, " \n"); \
138
- r.tag = errorNum; \
139
- return r; \
140
- }
141
-
142
- /* replacement for snprintf(), which is not supported by C89
143
- * sprintf() would be the supported one, but it's labelled unsafe,
144
- * so some modern static analyzer will flag it as such, making it unusable.
145
- * formatString_u() replaces snprintf() for the specific case where there are only %u arguments */
146
- static int formatString_u(char* buffer, size_t buffer_size, const char* formatString, unsigned int value)
147
- {
148
- size_t written = 0;
149
- int i;
150
- assert(value <= 100);
151
-
152
- for (i = 0; formatString[i] != '\0' && written < buffer_size - 1; ++i) {
153
- if (formatString[i] != '%') {
154
- buffer[written++] = formatString[i];
155
- continue;
156
- }
157
-
158
- if (formatString[++i] == 'u') {
159
- /* Handle single digit */
160
- if (value < 10) {
161
- buffer[written++] = '0' + (char)value;
162
- } else if (value < 100) {
163
- /* Handle two digits */
164
- if (written >= buffer_size - 2) {
165
- return -1; /* buffer overflow */
166
- }
167
- buffer[written++] = '0' + (char)(value / 10);
168
- buffer[written++] = '0' + (char)(value % 10);
169
- } else { /* 100 */
170
- if (written >= buffer_size - 3) {
171
- return -1; /* buffer overflow */
172
- }
173
- buffer[written++] = '1';
174
- buffer[written++] = '0';
175
- buffer[written++] = '0';
176
- }
177
- } else if (formatString[i] == '%') { /* Check for escaped percent sign */
178
- buffer[written++] = '%';
179
- } else {
180
- return -1; /* unsupported format */
181
- }
182
- }
183
-
184
- if (written < buffer_size) {
185
- buffer[written] = '\0';
186
- } else {
187
- buffer[0] = '\0'; /* Handle truncation */
188
- }
189
-
190
- return (int)written;
191
- }
192
-
193
- /* *************************************
194
- * Benchmark Parameters
195
- ***************************************/
196
-
197
- BMK_advancedParams_t BMK_initAdvancedParams(void)
198
- {
199
- BMK_advancedParams_t const res = {
200
- BMK_both, /* mode */
201
- BMK_TIMETEST_DEFAULT_S, /* nbSeconds */
202
- 0, /* blockSize */
203
- 0, /* targetCBlockSize */
204
- 0, /* nbWorkers */
205
- 0, /* realTime */
206
- 0, /* additionalParam */
207
- 0, /* ldmFlag */
208
- 0, /* ldmMinMatch */
209
- 0, /* ldmHashLog */
210
- 0, /* ldmBuckSizeLog */
211
- 0, /* ldmHashRateLog */
212
- ZSTD_ps_auto, /* literalCompressionMode */
213
- 0 /* useRowMatchFinder */
214
- };
215
- return res;
216
- }
217
-
218
- /* ********************************************************
219
- * Bench functions
220
- **********************************************************/
221
- typedef struct {
222
- const void* srcPtr;
223
- size_t srcSize;
224
- void* cPtr;
225
- size_t cRoom;
226
- size_t cSize;
227
- void* resPtr;
228
- size_t resSize;
229
- } blockParam_t;
230
-
231
- #undef MIN
232
- #undef MAX
233
- #define MIN(a, b) ((a) < (b) ? (a) : (b))
234
- #define MAX(a, b) ((a) > (b) ? (a) : (b))
235
-
236
- static void BMK_initCCtx(
237
- ZSTD_CCtx* ctx,
238
- const void* dictBuffer,
239
- size_t dictBufferSize,
240
- int cLevel,
241
- const ZSTD_compressionParameters* comprParams,
242
- const BMK_advancedParams_t* adv)
243
- {
244
- ZSTD_CCtx_reset(ctx, ZSTD_reset_session_and_parameters);
245
- if (adv->nbWorkers == 1) {
246
- CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_nbWorkers, 0));
247
- } else {
248
- CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_nbWorkers, adv->nbWorkers));
249
- }
250
- CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_compressionLevel, cLevel));
251
- CHECK_Z(ZSTD_CCtx_setParameter(
252
- ctx, ZSTD_c_useRowMatchFinder, adv->useRowMatchFinder));
253
- CHECK_Z(ZSTD_CCtx_setParameter(
254
- ctx, ZSTD_c_enableLongDistanceMatching, adv->ldmFlag));
255
- CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_ldmMinMatch, adv->ldmMinMatch));
256
- CHECK_Z(ZSTD_CCtx_setParameter(ctx, ZSTD_c_ldmHashLog, adv->ldmHashLog));
257
- CHECK_Z(ZSTD_CCtx_setParameter(
258
- ctx, ZSTD_c_ldmBucketSizeLog, adv->ldmBucketSizeLog));
259
- CHECK_Z(ZSTD_CCtx_setParameter(
260
- ctx, ZSTD_c_ldmHashRateLog, adv->ldmHashRateLog));
261
- CHECK_Z(ZSTD_CCtx_setParameter(
262
- ctx, ZSTD_c_windowLog, (int)comprParams->windowLog));
263
- CHECK_Z(ZSTD_CCtx_setParameter(
264
- ctx, ZSTD_c_hashLog, (int)comprParams->hashLog));
265
- CHECK_Z(ZSTD_CCtx_setParameter(
266
- ctx, ZSTD_c_chainLog, (int)comprParams->chainLog));
267
- CHECK_Z(ZSTD_CCtx_setParameter(
268
- ctx, ZSTD_c_searchLog, (int)comprParams->searchLog));
269
- CHECK_Z(ZSTD_CCtx_setParameter(
270
- ctx, ZSTD_c_minMatch, (int)comprParams->minMatch));
271
- CHECK_Z(ZSTD_CCtx_setParameter(
272
- ctx, ZSTD_c_targetLength, (int)comprParams->targetLength));
273
- CHECK_Z(ZSTD_CCtx_setParameter(
274
- ctx,
275
- ZSTD_c_literalCompressionMode,
276
- (int)adv->literalCompressionMode));
277
- CHECK_Z(ZSTD_CCtx_setParameter(
278
- ctx, ZSTD_c_strategy, (int)comprParams->strategy));
279
- CHECK_Z(ZSTD_CCtx_setParameter(
280
- ctx, ZSTD_c_targetCBlockSize, (int)adv->targetCBlockSize));
281
- CHECK_Z(ZSTD_CCtx_loadDictionary(ctx, dictBuffer, dictBufferSize));
282
- }
283
-
284
- static void
285
- BMK_initDCtx(ZSTD_DCtx* dctx, const void* dictBuffer, size_t dictBufferSize)
286
- {
287
- CHECK_Z(ZSTD_DCtx_reset(dctx, ZSTD_reset_session_and_parameters));
288
- CHECK_Z(ZSTD_DCtx_loadDictionary(dctx, dictBuffer, dictBufferSize));
289
- }
290
-
291
- typedef struct {
292
- ZSTD_CCtx* cctx;
293
- const void* dictBuffer;
294
- size_t dictBufferSize;
295
- int cLevel;
296
- const ZSTD_compressionParameters* comprParams;
297
- const BMK_advancedParams_t* adv;
298
- } BMK_initCCtxArgs;
299
-
300
- static size_t local_initCCtx(void* payload)
301
- {
302
- BMK_initCCtxArgs* ag = (BMK_initCCtxArgs*)payload;
303
- BMK_initCCtx(
304
- ag->cctx,
305
- ag->dictBuffer,
306
- ag->dictBufferSize,
307
- ag->cLevel,
308
- ag->comprParams,
309
- ag->adv);
310
- return 0;
311
- }
312
-
313
- typedef struct {
314
- ZSTD_DCtx* dctx;
315
- const void* dictBuffer;
316
- size_t dictBufferSize;
317
- } BMK_initDCtxArgs;
318
-
319
- static size_t local_initDCtx(void* payload)
320
- {
321
- BMK_initDCtxArgs* ag = (BMK_initDCtxArgs*)payload;
322
- BMK_initDCtx(ag->dctx, ag->dictBuffer, ag->dictBufferSize);
323
- return 0;
324
- }
325
-
326
- /* `addArgs` is the context */
327
- static size_t local_defaultCompress(
328
- const void* srcBuffer,
329
- size_t srcSize,
330
- void* dstBuffer,
331
- size_t dstSize,
332
- void* addArgs)
333
- {
334
- ZSTD_CCtx* const cctx = (ZSTD_CCtx*)addArgs;
335
- return ZSTD_compress2(cctx, dstBuffer, dstSize, srcBuffer, srcSize);
336
- }
337
-
338
- /* `addArgs` is the context */
339
- static size_t local_defaultDecompress(
340
- const void* srcBuffer,
341
- size_t srcSize,
342
- void* dstBuffer,
343
- size_t dstCapacity,
344
- void* addArgs)
345
- {
346
- size_t moreToFlush = 1;
347
- ZSTD_DCtx* const dctx = (ZSTD_DCtx*)addArgs;
348
- ZSTD_inBuffer in;
349
- ZSTD_outBuffer out;
350
- in.src = srcBuffer;
351
- in.size = srcSize;
352
- in.pos = 0;
353
- out.dst = dstBuffer;
354
- out.size = dstCapacity;
355
- out.pos = 0;
356
- while (moreToFlush) {
357
- if (out.pos == out.size) {
358
- return (size_t)-ZSTD_error_dstSize_tooSmall;
359
- }
360
- moreToFlush = ZSTD_decompressStream(dctx, &out, &in);
361
- if (ZSTD_isError(moreToFlush)) {
362
- return moreToFlush;
363
- }
364
- }
365
- return out.pos;
366
- }
367
-
368
- /* ================================================================= */
369
- /* Benchmark Zstandard, mem-to-mem scenarios */
370
- /* ================================================================= */
371
-
372
- int BMK_isSuccessful_benchOutcome(BMK_benchOutcome_t outcome)
373
- {
374
- return outcome.tag == 0;
375
- }
376
-
377
- BMK_benchResult_t BMK_extract_benchResult(BMK_benchOutcome_t outcome)
378
- {
379
- assert(outcome.tag == 0);
380
- return outcome.internal_never_use_directly;
381
- }
382
-
383
- static BMK_benchOutcome_t BMK_benchOutcome_error(void)
384
- {
385
- BMK_benchOutcome_t b;
386
- memset(&b, 0, sizeof(b));
387
- b.tag = 1;
388
- return b;
389
- }
390
-
391
- static BMK_benchOutcome_t BMK_benchOutcome_setValidResult(
392
- BMK_benchResult_t result)
393
- {
394
- BMK_benchOutcome_t b;
395
- b.tag = 0;
396
- b.internal_never_use_directly = result;
397
- return b;
398
- }
399
-
400
- /* benchMem with no allocation */
401
- static BMK_benchOutcome_t BMK_benchMemAdvancedNoAlloc(
402
- const void** srcPtrs,
403
- size_t* srcSizes,
404
- void** cPtrs,
405
- size_t* cCapacities,
406
- size_t* cSizes,
407
- void** resPtrs,
408
- size_t* resSizes,
409
- void** resultBufferPtr,
410
- void* compressedBuffer,
411
- size_t maxCompressedSize,
412
- BMK_timedFnState_t* timeStateCompress,
413
- BMK_timedFnState_t* timeStateDecompress,
414
-
415
- const void* srcBuffer,
416
- size_t srcSize,
417
- const size_t* fileSizes,
418
- unsigned nbFiles,
419
- const int cLevel,
420
- const ZSTD_compressionParameters* comprParams,
421
- const void* dictBuffer,
422
- size_t dictBufferSize,
423
- ZSTD_CCtx* cctx,
424
- ZSTD_DCtx* dctx,
425
- int displayLevel,
426
- const char* displayName,
427
- const BMK_advancedParams_t* adv)
428
- {
429
- size_t const blockSize =
430
- ((adv->blockSize >= 32 && (adv->mode != BMK_decodeOnly))
431
- ? adv->blockSize
432
- : srcSize)
433
- + (!srcSize); /* avoid div by 0 */
434
- BMK_benchResult_t benchResult;
435
- size_t const loadedCompressedSize = srcSize;
436
- size_t cSize = 0;
437
- double ratio = 0.;
438
- U32 nbBlocks;
439
-
440
- assert(cctx != NULL);
441
- assert(dctx != NULL);
442
-
443
- /* init */
444
- memset(&benchResult, 0, sizeof(benchResult));
445
- if (strlen(displayName) > 17)
446
- displayName +=
447
- strlen(displayName) - 17; /* display last 17 characters */
448
- if (adv->mode == BMK_decodeOnly) {
449
- /* benchmark only decompression : source must be already compressed */
450
- const char* srcPtr = (const char*)srcBuffer;
451
- U64 totalDSize64 = 0;
452
- U32 fileNb;
453
- for (fileNb = 0; fileNb < nbFiles; fileNb++) {
454
- U64 const fSize64 =
455
- ZSTD_findDecompressedSize(srcPtr, fileSizes[fileNb]);
456
- if (fSize64 == ZSTD_CONTENTSIZE_UNKNOWN) {
457
- RETURN_ERROR(
458
- 32,
459
- BMK_benchOutcome_t,
460
- "Decompressed size cannot be determined: cannot benchmark");
461
- }
462
- if (fSize64 == ZSTD_CONTENTSIZE_ERROR) {
463
- RETURN_ERROR(
464
- 32,
465
- BMK_benchOutcome_t,
466
- "Error while trying to assess decompressed size: data may be invalid");
467
- }
468
- totalDSize64 += fSize64;
469
- srcPtr += fileSizes[fileNb];
470
- }
471
- {
472
- size_t const decodedSize = (size_t)totalDSize64;
473
- assert((U64)decodedSize == totalDSize64); /* check overflow */
474
- free(*resultBufferPtr);
475
- if (totalDSize64 > decodedSize) { /* size_t overflow */
476
- RETURN_ERROR(
477
- 32,
478
- BMK_benchOutcome_t,
479
- "decompressed size is too large for local system");
480
- }
481
- *resultBufferPtr = malloc(decodedSize);
482
- if (!(*resultBufferPtr)) {
483
- RETURN_ERROR(
484
- 33,
485
- BMK_benchOutcome_t,
486
- "allocation error: not enough memory");
487
- }
488
- cSize = srcSize;
489
- srcSize = decodedSize;
490
- ratio = (double)srcSize / (double)cSize;
491
- }
492
- }
493
-
494
- /* Init data blocks */
495
- {
496
- const char* srcPtr = (const char*)srcBuffer;
497
- char* cPtr = (char*)compressedBuffer;
498
- char* resPtr = (char*)(*resultBufferPtr);
499
- U32 fileNb;
500
- for (nbBlocks = 0, fileNb = 0; fileNb < nbFiles; fileNb++) {
501
- size_t remaining = fileSizes[fileNb];
502
- U32 const nbBlocksforThisFile = (adv->mode == BMK_decodeOnly)
503
- ? 1
504
- : (U32)((remaining + (blockSize - 1)) / blockSize);
505
- U32 const blockEnd = nbBlocks + nbBlocksforThisFile;
506
- for (; nbBlocks < blockEnd; nbBlocks++) {
507
- size_t const thisBlockSize = MIN(remaining, blockSize);
508
- srcPtrs[nbBlocks] = srcPtr;
509
- srcSizes[nbBlocks] = thisBlockSize;
510
- cPtrs[nbBlocks] = cPtr;
511
- cCapacities[nbBlocks] = (adv->mode == BMK_decodeOnly)
512
- ? thisBlockSize
513
- : ZSTD_compressBound(thisBlockSize);
514
- resPtrs[nbBlocks] = resPtr;
515
- resSizes[nbBlocks] = (adv->mode == BMK_decodeOnly)
516
- ? (size_t)ZSTD_findDecompressedSize(
517
- srcPtr, thisBlockSize)
518
- : thisBlockSize;
519
- srcPtr += thisBlockSize;
520
- cPtr += cCapacities[nbBlocks];
521
- resPtr += thisBlockSize;
522
- remaining -= thisBlockSize;
523
- if (adv->mode == BMK_decodeOnly) {
524
- cSizes[nbBlocks] = thisBlockSize;
525
- benchResult.cSize = thisBlockSize;
526
- }
527
- }
528
- }
529
- }
530
-
531
- /* warming up `compressedBuffer` */
532
- if (adv->mode == BMK_decodeOnly) {
533
- memcpy(compressedBuffer, srcBuffer, loadedCompressedSize);
534
- } else {
535
- RDG_genBuffer(compressedBuffer, maxCompressedSize, 0.10, 0.50, 1);
536
- }
537
-
538
- if (!UTIL_support_MT_measurements() && adv->nbWorkers > 1) {
539
- OUTPUTLEVEL(
540
- 2,
541
- "Warning : time measurements may be incorrect in multithreading mode... \n")
542
- }
543
-
544
- /* Bench */
545
- {
546
- U64 const crcOrig = (adv->mode == BMK_decodeOnly)
547
- ? 0
548
- : XXH64(srcBuffer, srcSize, 0);
549
- #define NB_MARKS 4
550
- const char* marks[NB_MARKS] = { " |", " /", " =", " \\" };
551
- U32 markNb = 0;
552
- int compressionCompleted = (adv->mode == BMK_decodeOnly);
553
- int decompressionCompleted = (adv->mode == BMK_compressOnly);
554
- BMK_benchParams_t cbp, dbp;
555
- BMK_initCCtxArgs cctxprep;
556
- BMK_initDCtxArgs dctxprep;
557
-
558
- cbp.benchFn = local_defaultCompress; /* ZSTD_compress2 */
559
- cbp.benchPayload = cctx;
560
- cbp.initFn = local_initCCtx; /* BMK_initCCtx */
561
- cbp.initPayload = &cctxprep;
562
- cbp.errorFn = ZSTD_isError;
563
- cbp.blockCount = nbBlocks;
564
- cbp.srcBuffers = srcPtrs;
565
- cbp.srcSizes = srcSizes;
566
- cbp.dstBuffers = cPtrs;
567
- cbp.dstCapacities = cCapacities;
568
- cbp.blockResults = cSizes;
569
-
570
- cctxprep.cctx = cctx;
571
- cctxprep.dictBuffer = dictBuffer;
572
- cctxprep.dictBufferSize = dictBufferSize;
573
- cctxprep.cLevel = cLevel;
574
- cctxprep.comprParams = comprParams;
575
- cctxprep.adv = adv;
576
-
577
- dbp.benchFn = local_defaultDecompress;
578
- dbp.benchPayload = dctx;
579
- dbp.initFn = local_initDCtx;
580
- dbp.initPayload = &dctxprep;
581
- dbp.errorFn = ZSTD_isError;
582
- dbp.blockCount = nbBlocks;
583
- dbp.srcBuffers = (const void* const*)cPtrs;
584
- dbp.srcSizes = cSizes;
585
- dbp.dstBuffers = resPtrs;
586
- dbp.dstCapacities = resSizes;
587
- dbp.blockResults = NULL;
588
-
589
- dctxprep.dctx = dctx;
590
- dctxprep.dictBuffer = dictBuffer;
591
- dctxprep.dictBufferSize = dictBufferSize;
592
-
593
- OUTPUTLEVEL(2, "\r%70s\r", ""); /* blank line */
594
- assert(srcSize < UINT_MAX);
595
- OUTPUTLEVEL(
596
- 2,
597
- "%2s-%-17.17s :%10u -> \r",
598
- marks[markNb],
599
- displayName,
600
- (unsigned)srcSize);
601
-
602
- while (!(compressionCompleted && decompressionCompleted)) {
603
- if (!compressionCompleted) {
604
- BMK_runOutcome_t const cOutcome =
605
- BMK_benchTimedFn(timeStateCompress, cbp);
606
-
607
- if (!BMK_isSuccessful_runOutcome(cOutcome)) {
608
- RETURN_ERROR(30, BMK_benchOutcome_t, "compression error");
609
- }
610
-
611
- {
612
- BMK_runTime_t const cResult = BMK_extract_runTime(cOutcome);
613
- cSize = cResult.sumOfReturn;
614
- ratio = (double)srcSize / (double)cSize;
615
- {
616
- BMK_benchResult_t newResult;
617
- newResult.cSpeed =
618
- (U64)((double)srcSize * TIMELOOP_NANOSEC
619
- / cResult.nanoSecPerRun);
620
- benchResult.cSize = cSize;
621
- if (newResult.cSpeed > benchResult.cSpeed)
622
- benchResult.cSpeed = newResult.cSpeed;
623
- }
624
- }
625
-
626
- {
627
- int const ratioAccuracy = (ratio < 10.) ? 3 : 2;
628
- assert(cSize < UINT_MAX);
629
- OUTPUTLEVEL(
630
- 2,
631
- "%2s-%-17.17s :%10u ->%10u (x%5.*f), %6.*f MB/s \r",
632
- marks[markNb],
633
- displayName,
634
- (unsigned)srcSize,
635
- (unsigned)cSize,
636
- ratioAccuracy,
637
- ratio,
638
- benchResult.cSpeed < (10 * MB_UNIT) ? 2 : 1,
639
- (double)benchResult.cSpeed / MB_UNIT);
640
- }
641
- compressionCompleted =
642
- BMK_isCompleted_TimedFn(timeStateCompress);
643
- }
644
-
645
- if (!decompressionCompleted) {
646
- BMK_runOutcome_t const dOutcome =
647
- BMK_benchTimedFn(timeStateDecompress, dbp);
648
-
649
- if (!BMK_isSuccessful_runOutcome(dOutcome)) {
650
- RETURN_ERROR(30, BMK_benchOutcome_t, "decompression error");
651
- }
652
-
653
- {
654
- BMK_runTime_t const dResult = BMK_extract_runTime(dOutcome);
655
- U64 const newDSpeed =
656
- (U64)((double)srcSize * TIMELOOP_NANOSEC
657
- / dResult.nanoSecPerRun);
658
- if (newDSpeed > benchResult.dSpeed)
659
- benchResult.dSpeed = newDSpeed;
660
- }
661
-
662
- {
663
- int const ratioAccuracy = (ratio < 10.) ? 3 : 2;
664
- OUTPUTLEVEL(
665
- 2,
666
- "%2s-%-17.17s :%10u ->%10u (x%5.*f), %6.*f MB/s, %6.1f MB/s\r",
667
- marks[markNb],
668
- displayName,
669
- (unsigned)srcSize,
670
- (unsigned)cSize,
671
- ratioAccuracy,
672
- ratio,
673
- benchResult.cSpeed < (10 * MB_UNIT) ? 2 : 1,
674
- (double)benchResult.cSpeed / MB_UNIT,
675
- (double)benchResult.dSpeed / MB_UNIT);
676
- }
677
- decompressionCompleted =
678
- BMK_isCompleted_TimedFn(timeStateDecompress);
679
- }
680
- markNb = (markNb + 1) % NB_MARKS;
681
- } /* while (!(compressionCompleted && decompressionCompleted)) */
682
-
683
- /* CRC Checking */
684
- {
685
- const BYTE* resultBuffer = (const BYTE*)(*resultBufferPtr);
686
- U64 const crcCheck = XXH64(resultBuffer, srcSize, 0);
687
- if ((adv->mode == BMK_both) && (crcOrig != crcCheck)) {
688
- size_t u;
689
- DISPLAY("!!! WARNING !!! %14s : Invalid Checksum : %x != %x \n",
690
- displayName,
691
- (unsigned)crcOrig,
692
- (unsigned)crcCheck);
693
- for (u = 0; u < srcSize; u++) {
694
- if (((const BYTE*)srcBuffer)[u] != resultBuffer[u]) {
695
- unsigned segNb, bNb, pos;
696
- size_t bacc = 0;
697
- DISPLAY("Decoding error at pos %u ", (unsigned)u);
698
- for (segNb = 0; segNb < nbBlocks; segNb++) {
699
- if (bacc + srcSizes[segNb] > u)
700
- break;
701
- bacc += srcSizes[segNb];
702
- }
703
- pos = (U32)(u - bacc);
704
- bNb = pos / (128 KB);
705
- DISPLAY("(sample %u, block %u, pos %u) \n",
706
- segNb,
707
- bNb,
708
- pos);
709
- {
710
- size_t const lowest = (u > 5) ? 5 : u;
711
- size_t n;
712
- DISPLAY("origin: ");
713
- for (n = lowest; n > 0; n--)
714
- DISPLAY("%02X ",
715
- ((const BYTE*)srcBuffer)[u - n]);
716
- DISPLAY(" :%02X: ", ((const BYTE*)srcBuffer)[u]);
717
- for (n = 1; n < 3; n++)
718
- DISPLAY("%02X ",
719
- ((const BYTE*)srcBuffer)[u + n]);
720
- DISPLAY(" \n");
721
- DISPLAY("decode: ");
722
- for (n = lowest; n > 0; n--)
723
- DISPLAY("%02X ", resultBuffer[u - n]);
724
- DISPLAY(" :%02X: ", resultBuffer[u]);
725
- for (n = 1; n < 3; n++)
726
- DISPLAY("%02X ", resultBuffer[u + n]);
727
- DISPLAY(" \n");
728
- }
729
- break;
730
- }
731
- if (u == srcSize - 1) { /* should never happen */
732
- DISPLAY("no difference detected\n");
733
- }
734
- } /* for (u=0; u<srcSize; u++) */
735
- } /* if ((adv->mode == BMK_both) && (crcOrig!=crcCheck)) */
736
- } /* CRC Checking */
737
-
738
- if (displayLevel
739
- == 1) { /* hidden display mode -q, used by python speed benchmark */
740
- double const cSpeed = (double)benchResult.cSpeed / MB_UNIT;
741
- double const dSpeed = (double)benchResult.dSpeed / MB_UNIT;
742
- if (adv->additionalParam) {
743
- OUTPUT("-%-3i%11i (%5.3f) %6.2f MB/s %6.1f MB/s %s (param=%d)\n",
744
- cLevel,
745
- (int)cSize,
746
- ratio,
747
- cSpeed,
748
- dSpeed,
749
- displayName,
750
- adv->additionalParam);
751
- } else {
752
- OUTPUT("-%-3i%11i (%5.3f) %6.2f MB/s %6.1f MB/s %s\n",
753
- cLevel,
754
- (int)cSize,
755
- ratio,
756
- cSpeed,
757
- dSpeed,
758
- displayName);
759
- }
760
- }
761
-
762
- OUTPUTLEVEL(2, "%2i#\n", cLevel);
763
- } /* Bench */
764
-
765
- benchResult.cMem =
766
- (1ULL << (comprParams->windowLog)) + ZSTD_sizeof_CCtx(cctx);
767
- return BMK_benchOutcome_setValidResult(benchResult);
768
- }
769
-
770
- BMK_benchOutcome_t BMK_benchMemAdvanced(
771
- const void* srcBuffer,
772
- size_t srcSize,
773
- void* dstBuffer,
774
- size_t dstCapacity,
775
- const size_t* fileSizes,
776
- unsigned nbFiles,
777
- int cLevel,
778
- const ZSTD_compressionParameters* comprParams,
779
- const void* dictBuffer,
780
- size_t dictBufferSize,
781
- int displayLevel,
782
- const char* displayName,
783
- const BMK_advancedParams_t* adv)
784
-
785
- {
786
- int const dstParamsError =
787
- !dstBuffer ^ !dstCapacity; /* must be both NULL or none */
788
-
789
- size_t const blockSize =
790
- ((adv->blockSize >= 32 && (adv->mode != BMK_decodeOnly))
791
- ? adv->blockSize
792
- : srcSize)
793
- + (!srcSize) /* avoid div by 0 */;
794
- U32 const maxNbBlocks =
795
- (U32)((srcSize + (blockSize - 1)) / blockSize) + nbFiles;
796
-
797
- /* these are the blockTable parameters, just split up */
798
- const void** const srcPtrs =
799
- (const void**)malloc(maxNbBlocks * sizeof(void*));
800
- size_t* const srcSizes = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
801
-
802
- void** const cPtrs = (void**)malloc(maxNbBlocks * sizeof(void*));
803
- size_t* const cSizes = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
804
- size_t* const cCapacities = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
805
-
806
- void** const resPtrs = (void**)malloc(maxNbBlocks * sizeof(void*));
807
- size_t* const resSizes = (size_t*)malloc(maxNbBlocks * sizeof(size_t));
808
-
809
- BMK_timedFnState_t* timeStateCompress = BMK_createTimedFnState(
810
- adv->nbSeconds * 1000, BMK_RUNTEST_DEFAULT_MS);
811
- BMK_timedFnState_t* timeStateDecompress = BMK_createTimedFnState(
812
- adv->nbSeconds * 1000, BMK_RUNTEST_DEFAULT_MS);
813
-
814
- ZSTD_CCtx* const cctx = ZSTD_createCCtx();
815
- ZSTD_DCtx* const dctx = ZSTD_createDCtx();
816
-
817
- const size_t maxCompressedSize = dstCapacity
818
- ? dstCapacity
819
- : ZSTD_compressBound(srcSize) + (maxNbBlocks * 1024);
820
-
821
- void* const internalDstBuffer =
822
- dstBuffer ? NULL : malloc(maxCompressedSize);
823
- void* const compressedBuffer = dstBuffer ? dstBuffer : internalDstBuffer;
824
-
825
- BMK_benchOutcome_t outcome =
826
- BMK_benchOutcome_error(); /* error by default */
827
-
828
- void* resultBuffer = srcSize ? malloc(srcSize) : NULL;
829
-
830
- int const allocationincomplete = !srcPtrs || !srcSizes || !cPtrs || !cSizes
831
- || !cCapacities || !resPtrs || !resSizes || !timeStateCompress
832
- || !timeStateDecompress || !cctx || !dctx || !compressedBuffer
833
- || !resultBuffer;
834
-
835
- if (!allocationincomplete && !dstParamsError) {
836
- outcome = BMK_benchMemAdvancedNoAlloc(
837
- srcPtrs,
838
- srcSizes,
839
- cPtrs,
840
- cCapacities,
841
- cSizes,
842
- resPtrs,
843
- resSizes,
844
- &resultBuffer,
845
- compressedBuffer,
846
- maxCompressedSize,
847
- timeStateCompress,
848
- timeStateDecompress,
849
- srcBuffer,
850
- srcSize,
851
- fileSizes,
852
- nbFiles,
853
- cLevel,
854
- comprParams,
855
- dictBuffer,
856
- dictBufferSize,
857
- cctx,
858
- dctx,
859
- displayLevel,
860
- displayName,
861
- adv);
862
- }
863
-
864
- /* clean up */
865
- BMK_freeTimedFnState(timeStateCompress);
866
- BMK_freeTimedFnState(timeStateDecompress);
867
-
868
- ZSTD_freeCCtx(cctx);
869
- ZSTD_freeDCtx(dctx);
870
-
871
- free(internalDstBuffer);
872
- free(resultBuffer);
873
-
874
- free((void*)srcPtrs);
875
- free(srcSizes);
876
- free(cPtrs);
877
- free(cSizes);
878
- free(cCapacities);
879
- free(resPtrs);
880
- free(resSizes);
881
-
882
- if (allocationincomplete) {
883
- RETURN_ERROR(
884
- 31, BMK_benchOutcome_t, "allocation error : not enough memory");
885
- }
886
-
887
- if (dstParamsError) {
888
- RETURN_ERROR(32, BMK_benchOutcome_t, "Dst parameters not coherent");
889
- }
890
- return outcome;
891
- }
892
-
893
- BMK_benchOutcome_t BMK_benchMem(
894
- const void* srcBuffer,
895
- size_t srcSize,
896
- const size_t* fileSizes,
897
- unsigned nbFiles,
898
- int cLevel,
899
- const ZSTD_compressionParameters* comprParams,
900
- const void* dictBuffer,
901
- size_t dictBufferSize,
902
- int displayLevel,
903
- const char* displayName)
904
- {
905
- BMK_advancedParams_t const adv = BMK_initAdvancedParams();
906
- return BMK_benchMemAdvanced(
907
- srcBuffer,
908
- srcSize,
909
- NULL,
910
- 0,
911
- fileSizes,
912
- nbFiles,
913
- cLevel,
914
- comprParams,
915
- dictBuffer,
916
- dictBufferSize,
917
- displayLevel,
918
- displayName,
919
- &adv);
920
- }
921
-
922
- static BMK_benchOutcome_t BMK_benchCLevel(
923
- const void* srcBuffer,
924
- size_t benchedSize,
925
- const size_t* fileSizes,
926
- unsigned nbFiles,
927
- int cLevel,
928
- const ZSTD_compressionParameters* comprParams,
929
- const void* dictBuffer,
930
- size_t dictBufferSize,
931
- int displayLevel,
932
- const char* displayName,
933
- BMK_advancedParams_t const* const adv)
934
- {
935
- const char* pch = strrchr(displayName, '\\'); /* Windows */
936
- if (!pch)
937
- pch = strrchr(displayName, '/'); /* Linux */
938
- if (pch)
939
- displayName = pch + 1;
940
-
941
- if (adv->realTime) {
942
- DISPLAYLEVEL(2, "Note : switching to real-time priority \n");
943
- SET_REALTIME_PRIORITY;
944
- }
945
-
946
- if (displayLevel == 1 && !adv->additionalParam) /* --quiet mode */
947
- OUTPUT("bench %s %s: input %u bytes, %u seconds, %u KB blocks\n",
948
- ZSTD_VERSION_STRING,
949
- ZSTD_GIT_COMMIT_STRING,
950
- (unsigned)benchedSize,
951
- adv->nbSeconds,
952
- (unsigned)(adv->blockSize >> 10));
953
-
954
- return BMK_benchMemAdvanced(
955
- srcBuffer,
956
- benchedSize,
957
- NULL,
958
- 0,
959
- fileSizes,
960
- nbFiles,
961
- cLevel,
962
- comprParams,
963
- dictBuffer,
964
- dictBufferSize,
965
- displayLevel,
966
- displayName,
967
- adv);
968
- }
969
-
970
- int BMK_syntheticTest(
971
- int cLevel,
972
- double compressibility,
973
- const ZSTD_compressionParameters* compressionParams,
974
- int displayLevel,
975
- const BMK_advancedParams_t* adv)
976
- {
977
- char nameBuff[20] = { 0 };
978
- const char* name = nameBuff;
979
- size_t const benchedSize = adv->blockSize ? adv->blockSize : 10000000;
980
- void* srcBuffer;
981
- BMK_benchOutcome_t res;
982
-
983
- if (cLevel > ZSTD_maxCLevel()) {
984
- DISPLAYLEVEL(1, "Invalid Compression Level");
985
- return 15;
986
- }
987
-
988
- /* Memory allocation */
989
- srcBuffer = malloc(benchedSize);
990
- if (!srcBuffer) {
991
- DISPLAYLEVEL(1, "allocation error : not enough memory");
992
- return 16;
993
- }
994
-
995
- /* Fill input buffer */
996
- if (compressibility < 0.0) {
997
- LOREM_genBuffer(srcBuffer, benchedSize, 0);
998
- name = "Lorem ipsum";
999
- } else {
1000
- RDG_genBuffer(srcBuffer, benchedSize, compressibility, 0.0, 0);
1001
- formatString_u(
1002
- nameBuff,
1003
- sizeof(nameBuff),
1004
- "Synthetic %u%%",
1005
- (unsigned)(compressibility * 100));
1006
- }
1007
-
1008
- /* Bench */
1009
- res = BMK_benchCLevel(
1010
- srcBuffer,
1011
- benchedSize,
1012
- &benchedSize /* ? */,
1013
- 1 /* ? */,
1014
- cLevel,
1015
- compressionParams,
1016
- NULL,
1017
- 0, /* dictionary */
1018
- displayLevel,
1019
- name,
1020
- adv);
1021
-
1022
- /* clean up */
1023
- free(srcBuffer);
1024
-
1025
- return !BMK_isSuccessful_benchOutcome(res);
1026
- }
1027
-
1028
- static size_t BMK_findMaxMem(U64 requiredMem)
1029
- {
1030
- size_t const step = 64 MB;
1031
- BYTE* testmem = NULL;
1032
-
1033
- requiredMem = (((requiredMem >> 26) + 1) << 26);
1034
- requiredMem += step;
1035
- if (requiredMem > maxMemory)
1036
- requiredMem = maxMemory;
1037
-
1038
- do {
1039
- testmem = (BYTE*)malloc((size_t)requiredMem);
1040
- requiredMem -= step;
1041
- } while (!testmem && requiredMem > 0);
1042
-
1043
- free(testmem);
1044
- return (size_t)(requiredMem);
1045
- }
1046
-
1047
- /*! BMK_loadFiles() :
1048
- * Loads `buffer` with content of files listed within `fileNamesTable`.
1049
- * At most, fills `buffer` entirely. */
1050
- static int BMK_loadFiles(
1051
- void* buffer,
1052
- size_t bufferSize,
1053
- size_t* fileSizes,
1054
- const char* const* fileNamesTable,
1055
- unsigned nbFiles,
1056
- int displayLevel)
1057
- {
1058
- size_t pos = 0, totalSize = 0;
1059
- unsigned n;
1060
- for (n = 0; n < nbFiles; n++) {
1061
- U64 fileSize = UTIL_getFileSize(
1062
- fileNamesTable[n]); /* last file may be shortened */
1063
- if (UTIL_isDirectory(fileNamesTable[n])) {
1064
- DISPLAYLEVEL(
1065
- 2, "Ignoring %s directory... \n", fileNamesTable[n]);
1066
- fileSizes[n] = 0;
1067
- continue;
1068
- }
1069
- if (fileSize == UTIL_FILESIZE_UNKNOWN) {
1070
- DISPLAYLEVEL(
1071
- 2,
1072
- "Cannot evaluate size of %s, ignoring ... \n",
1073
- fileNamesTable[n]);
1074
- fileSizes[n] = 0;
1075
- continue;
1076
- }
1077
- {
1078
- FILE* const f = fopen(fileNamesTable[n], "rb");
1079
- if (f == NULL)
1080
- RETURN_ERROR_INT(
1081
- 10, "impossible to open file %s", fileNamesTable[n]);
1082
- OUTPUTLEVEL(2, "Loading %s... \r", fileNamesTable[n]);
1083
- if (fileSize > bufferSize - pos)
1084
- fileSize = bufferSize - pos,
1085
- nbFiles = n; /* buffer too small - stop after this file */
1086
- {
1087
- size_t const readSize =
1088
- fread(((char*)buffer) + pos, 1, (size_t)fileSize, f);
1089
- if (readSize != (size_t)fileSize)
1090
- RETURN_ERROR_INT(
1091
- 11, "could not read %s", fileNamesTable[n]);
1092
- pos += readSize;
1093
- }
1094
- fileSizes[n] = (size_t)fileSize;
1095
- totalSize += (size_t)fileSize;
1096
- fclose(f);
1097
- }
1098
- }
1099
-
1100
- if (totalSize == 0)
1101
- RETURN_ERROR_INT(12, "no data to bench");
1102
- return 0;
1103
- }
1104
-
1105
- int BMK_benchFilesAdvanced(
1106
- const char* const* fileNamesTable,
1107
- unsigned nbFiles,
1108
- const char* dictFileName,
1109
- int cLevel,
1110
- const ZSTD_compressionParameters* compressionParams,
1111
- int displayLevel,
1112
- const BMK_advancedParams_t* adv)
1113
- {
1114
- void* srcBuffer = NULL;
1115
- size_t benchedSize;
1116
- void* dictBuffer = NULL;
1117
- size_t dictBufferSize = 0;
1118
- size_t* fileSizes = NULL;
1119
- BMK_benchOutcome_t res;
1120
- U64 const totalSizeToLoad = UTIL_getTotalFileSize(fileNamesTable, nbFiles);
1121
-
1122
- if (!nbFiles) {
1123
- DISPLAYLEVEL(1, "No Files to Benchmark");
1124
- return 13;
1125
- }
1126
-
1127
- if (cLevel > ZSTD_maxCLevel()) {
1128
- DISPLAYLEVEL(1, "Invalid Compression Level");
1129
- return 14;
1130
- }
1131
-
1132
- if (totalSizeToLoad == UTIL_FILESIZE_UNKNOWN) {
1133
- DISPLAYLEVEL(1, "Error loading files");
1134
- return 15;
1135
- }
1136
-
1137
- fileSizes = (size_t*)calloc(nbFiles, sizeof(size_t));
1138
- if (!fileSizes) {
1139
- DISPLAYLEVEL(1, "not enough memory for fileSizes");
1140
- return 16;
1141
- }
1142
-
1143
- /* Load dictionary */
1144
- if (dictFileName != NULL) {
1145
- U64 const dictFileSize = UTIL_getFileSize(dictFileName);
1146
- if (dictFileSize == UTIL_FILESIZE_UNKNOWN) {
1147
- DISPLAYLEVEL(
1148
- 1,
1149
- "error loading %s : %s \n",
1150
- dictFileName,
1151
- strerror(errno));
1152
- free(fileSizes);
1153
- DISPLAYLEVEL(1, "benchmark aborted");
1154
- return 17;
1155
- }
1156
- if (dictFileSize > 64 MB) {
1157
- free(fileSizes);
1158
- DISPLAYLEVEL(1, "dictionary file %s too large", dictFileName);
1159
- return 18;
1160
- }
1161
- dictBufferSize = (size_t)dictFileSize;
1162
- dictBuffer = malloc(dictBufferSize);
1163
- if (dictBuffer == NULL) {
1164
- free(fileSizes);
1165
- DISPLAYLEVEL(
1166
- 1,
1167
- "not enough memory for dictionary (%u bytes)",
1168
- (unsigned)dictBufferSize);
1169
- return 19;
1170
- }
1171
-
1172
- {
1173
- int const errorCode = BMK_loadFiles(
1174
- dictBuffer,
1175
- dictBufferSize,
1176
- fileSizes,
1177
- &dictFileName /*?*/,
1178
- 1 /*?*/,
1179
- displayLevel);
1180
- if (errorCode) {
1181
- res = BMK_benchOutcome_error();
1182
- goto _cleanUp;
1183
- }
1184
- }
1185
- }
1186
-
1187
- /* Memory allocation & restrictions */
1188
- benchedSize = BMK_findMaxMem(totalSizeToLoad * 3) / 3;
1189
- if ((U64)benchedSize > totalSizeToLoad)
1190
- benchedSize = (size_t)totalSizeToLoad;
1191
- if (benchedSize < totalSizeToLoad)
1192
- DISPLAY("Not enough memory; testing %u MB only...\n",
1193
- (unsigned)(benchedSize >> 20));
1194
-
1195
- srcBuffer = benchedSize ? malloc(benchedSize) : NULL;
1196
- if (!srcBuffer) {
1197
- free(dictBuffer);
1198
- free(fileSizes);
1199
- DISPLAYLEVEL(1, "not enough memory for srcBuffer");
1200
- return 20;
1201
- }
1202
-
1203
- /* Load input buffer */
1204
- {
1205
- int const errorCode = BMK_loadFiles(
1206
- srcBuffer,
1207
- benchedSize,
1208
- fileSizes,
1209
- fileNamesTable,
1210
- nbFiles,
1211
- displayLevel);
1212
- if (errorCode) {
1213
- res = BMK_benchOutcome_error();
1214
- goto _cleanUp;
1215
- }
1216
- }
1217
-
1218
- /* Bench */
1219
- {
1220
- char mfName[20] = { 0 };
1221
- formatString_u(mfName, sizeof(mfName), " %u files", nbFiles);
1222
- {
1223
- const char* const displayName =
1224
- (nbFiles > 1) ? mfName : fileNamesTable[0];
1225
- res = BMK_benchCLevel(
1226
- srcBuffer,
1227
- benchedSize,
1228
- fileSizes,
1229
- nbFiles,
1230
- cLevel,
1231
- compressionParams,
1232
- dictBuffer,
1233
- dictBufferSize,
1234
- displayLevel,
1235
- displayName,
1236
- adv);
1237
- }
1238
- }
1239
-
1240
- _cleanUp:
1241
- free(srcBuffer);
1242
- free(dictBuffer);
1243
- free(fileSizes);
1244
- return !BMK_isSuccessful_benchOutcome(res);
1245
- }
1246
-
1247
- int BMK_benchFiles(
1248
- const char* const* fileNamesTable,
1249
- unsigned nbFiles,
1250
- const char* dictFileName,
1251
- int cLevel,
1252
- const ZSTD_compressionParameters* compressionParams,
1253
- int displayLevel)
1254
- {
1255
- BMK_advancedParams_t const adv = BMK_initAdvancedParams();
1256
- return BMK_benchFilesAdvanced(
1257
- fileNamesTable,
1258
- nbFiles,
1259
- dictFileName,
1260
- cLevel,
1261
- compressionParams,
1262
- displayLevel,
1263
- &adv);
1264
- }