electrobun 0.0.1 → 0.0.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 (729) hide show
  1. package/.colab.json +1 -0
  2. package/.gitmodules +3 -0
  3. package/README.md +14 -12
  4. package/bun.lockb +0 -0
  5. package/dist/bsdiff +0 -0
  6. package/dist/bspatch +0 -0
  7. package/dist/webview +0 -0
  8. package/docs-old/architecture.md +46 -0
  9. package/documentation/README.md +41 -0
  10. package/documentation/babel.config.js +3 -0
  11. package/documentation/blog/2024-08-20-electrobun.md +22 -0
  12. package/documentation/blog/authors.yml +8 -0
  13. package/documentation/docs/apis/Application Icons.md +9 -0
  14. package/documentation/docs/apis/Bundled Assets.md +95 -0
  15. package/documentation/docs/apis/browser/DraggableRegions.md +36 -0
  16. package/documentation/docs/apis/browser/Electrobun Webview Tag.md +200 -0
  17. package/documentation/docs/apis/browser/Electroview Class.md +158 -0
  18. package/documentation/docs/apis/browser/GlobalProperties.md +11 -0
  19. package/documentation/docs/apis/browser/index.md +25 -0
  20. package/documentation/docs/apis/bun/ApplicationMenu.md +141 -0
  21. package/documentation/docs/apis/bun/BrowserView.md +513 -0
  22. package/documentation/docs/apis/bun/BrowserWindow.md +423 -0
  23. package/documentation/docs/apis/bun/ContextMenu.md +50 -0
  24. package/documentation/docs/apis/bun/Events.md +50 -0
  25. package/documentation/docs/apis/bun/PATHS.md +17 -0
  26. package/documentation/docs/apis/bun/Tray.md +115 -0
  27. package/documentation/docs/apis/bun/Updater.md +74 -0
  28. package/documentation/docs/apis/bun/Utils.md +51 -0
  29. package/documentation/docs/apis/bun/index.md +26 -0
  30. package/documentation/docs/apis/cli/Electrobun.config.md +97 -0
  31. package/documentation/docs/apis/cli/cli args.md +76 -0
  32. package/documentation/docs/guides/Architecture/Events.md +19 -0
  33. package/documentation/docs/guides/Architecture/IPC and Isolation.md +20 -0
  34. package/documentation/docs/guides/Architecture/Overview.md +140 -0
  35. package/documentation/docs/guides/Architecture/Updates.md +7 -0
  36. package/documentation/docs/guides/Architecture/Webview Tag.md +5 -0
  37. package/documentation/docs/guides/Compatability.md +8 -0
  38. package/documentation/docs/guides/Getting Started/Creating UI.md +147 -0
  39. package/documentation/docs/guides/Getting Started/Distributing.md +116 -0
  40. package/documentation/docs/guides/Getting Started/Getting Started.md +7 -0
  41. package/documentation/docs/guides/Getting Started/Hello World.md +93 -0
  42. package/documentation/docs/guides/Getting Started/What is Electrobun.md +39 -0
  43. package/documentation/docs/guides/Guides/Using Tailwind +0 -0
  44. package/documentation/docusaurus.config.ts +153 -0
  45. package/documentation/package-lock.json +14530 -0
  46. package/documentation/package.json +47 -0
  47. package/documentation/sidebars.ts +32 -0
  48. package/documentation/src/components/HomepageFeatures/index.tsx +70 -0
  49. package/documentation/src/components/HomepageFeatures/styles.module.css +11 -0
  50. package/documentation/src/css/custom.css +30 -0
  51. package/documentation/src/pages/index.module.css +23 -0
  52. package/documentation/src/pages/index.tsx +137 -0
  53. package/documentation/static/.nojekyll +0 -0
  54. package/{example/icon.iconset/icon_128x128@2x.png → documentation/static/img/electrobun-logo-256.png} +0 -0
  55. package/documentation/tsconfig.json +7 -0
  56. package/package.json +11 -6
  57. package/src/browser/index.ts +2 -2
  58. package/src/bun/core/BrowserView.ts +14 -1
  59. package/src/cli/build/electrobun +0 -0
  60. package/src/cli/index.ts +3 -1
  61. package/docs/architecture.md +0 -84
  62. package/example/assets/electrobun-logo-32-template.png +0 -0
  63. package/example/buildScript.ts +0 -1
  64. package/example/bun.lockb +0 -0
  65. package/example/electrobun.config +0 -48
  66. package/example/icon.iconset/icon_128x128.png +0 -0
  67. package/example/icon.iconset/icon_16x16.png +0 -0
  68. package/example/icon.iconset/icon_16x16@2x.png +0 -0
  69. package/example/icon.iconset/icon_256x256.png +0 -0
  70. package/example/icon.iconset/icon_256x256@2x.png +0 -0
  71. package/example/icon.iconset/icon_32x32.png +0 -0
  72. package/example/icon.iconset/icon_32x32@2x.png +0 -0
  73. package/example/icon.iconset/icon_512x512.png +0 -0
  74. package/example/icon.iconset/icon_512x512@2x.png +0 -0
  75. package/example/package-lock.json +0 -32
  76. package/example/package.json +0 -11
  77. package/example/src/bun/index.ts +0 -403
  78. package/example/src/mainview/index.css +0 -4
  79. package/example/src/mainview/index.html +0 -13
  80. package/example/src/mainview/index.ts +0 -45
  81. package/example/src/mainview/rpc.ts +0 -36
  82. package/example/src/myextension/preload.ts +0 -15
  83. package/example/src/myextension/rpc.ts +0 -15
  84. package/example/src/webviewtag/index.html +0 -94
  85. package/example/src/webviewtag/index.ts +0 -26
  86. package/src/bsdiff/bsdiff.zig +0 -842
  87. package/src/bsdiff/bspatch.zig +0 -253
  88. package/src/bsdiff/build.zig +0 -73
  89. package/src/bsdiff/zig-out/bin/bsdiff +0 -0
  90. package/src/bsdiff/zig-out/bin/bspatch +0 -0
  91. package/src/bsdiff/zig-out/lib/libzstd.a +0 -0
  92. package/src/bsdiff/zstd/.buckconfig +0 -9
  93. package/src/bsdiff/zstd/.buckversion +0 -1
  94. package/src/bsdiff/zstd/.circleci/config.yml +0 -123
  95. package/src/bsdiff/zstd/.circleci/images/primary/Dockerfile +0 -9
  96. package/src/bsdiff/zstd/.cirrus.yml +0 -10
  97. package/src/bsdiff/zstd/.gitattributes +0 -21
  98. package/src/bsdiff/zstd/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
  99. package/src/bsdiff/zstd/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  100. package/src/bsdiff/zstd/.github/dependabot.yml +0 -6
  101. package/src/bsdiff/zstd/.github/workflows/commit.yml +0 -89
  102. package/src/bsdiff/zstd/.github/workflows/dev-long-tests.yml +0 -297
  103. package/src/bsdiff/zstd/.github/workflows/dev-short-tests.yml +0 -633
  104. package/src/bsdiff/zstd/.github/workflows/nightly.yml +0 -65
  105. package/src/bsdiff/zstd/.github/workflows/publish-release-artifacts.yml +0 -73
  106. package/src/bsdiff/zstd/.github/workflows/scorecards.yml +0 -64
  107. package/src/bsdiff/zstd/.github/workflows/windows-artifacts.yml +0 -58
  108. package/src/bsdiff/zstd/CHANGELOG +0 -837
  109. package/src/bsdiff/zstd/CODE_OF_CONDUCT.md +0 -5
  110. package/src/bsdiff/zstd/CONTRIBUTING.md +0 -489
  111. package/src/bsdiff/zstd/COPYING +0 -339
  112. package/src/bsdiff/zstd/LICENSE +0 -30
  113. package/src/bsdiff/zstd/Makefile +0 -457
  114. package/src/bsdiff/zstd/Package.swift +0 -36
  115. package/src/bsdiff/zstd/README.md +0 -227
  116. package/src/bsdiff/zstd/SECURITY.md +0 -15
  117. package/src/bsdiff/zstd/TESTING.md +0 -43
  118. package/src/bsdiff/zstd/build/README.md +0 -56
  119. package/src/bsdiff/zstd/build/VS2008/fullbench/fullbench.vcproj +0 -549
  120. package/src/bsdiff/zstd/build/VS2008/fuzzer/fuzzer.vcproj +0 -585
  121. package/src/bsdiff/zstd/build/VS2008/zstd/zstd.vcproj +0 -677
  122. package/src/bsdiff/zstd/build/VS2008/zstd.sln +0 -56
  123. package/src/bsdiff/zstd/build/VS2008/zstdlib/zstdlib.vcproj +0 -635
  124. package/src/bsdiff/zstd/build/VS2010/CompileAsCpp.props +0 -8
  125. package/src/bsdiff/zstd/build/VS2010/datagen/datagen.vcxproj +0 -170
  126. package/src/bsdiff/zstd/build/VS2010/fullbench/fullbench.vcxproj +0 -218
  127. package/src/bsdiff/zstd/build/VS2010/fullbench-dll/fullbench-dll.vcxproj +0 -189
  128. package/src/bsdiff/zstd/build/VS2010/fuzzer/fuzzer.vcxproj +0 -223
  129. package/src/bsdiff/zstd/build/VS2010/libzstd/libzstd.vcxproj +0 -242
  130. package/src/bsdiff/zstd/build/VS2010/libzstd-dll/libzstd-dll.rc +0 -51
  131. package/src/bsdiff/zstd/build/VS2010/libzstd-dll/libzstd-dll.vcxproj +0 -249
  132. package/src/bsdiff/zstd/build/VS2010/zstd/zstd.rc +0 -51
  133. package/src/bsdiff/zstd/build/VS2010/zstd/zstd.vcxproj +0 -265
  134. package/src/bsdiff/zstd/build/VS2010/zstd.sln +0 -89
  135. package/src/bsdiff/zstd/build/VS_scripts/README.md +0 -64
  136. package/src/bsdiff/zstd/build/VS_scripts/build.VS2010.cmd +0 -7
  137. package/src/bsdiff/zstd/build/VS_scripts/build.VS2012.cmd +0 -6
  138. package/src/bsdiff/zstd/build/VS_scripts/build.VS2013.cmd +0 -7
  139. package/src/bsdiff/zstd/build/VS_scripts/build.VS2015.cmd +0 -7
  140. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017.cmd +0 -7
  141. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017Community.cmd +0 -7
  142. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017Enterprise.cmd +0 -7
  143. package/src/bsdiff/zstd/build/VS_scripts/build.VS2017Professional.cmd +0 -7
  144. package/src/bsdiff/zstd/build/VS_scripts/build.generic.cmd +0 -72
  145. package/src/bsdiff/zstd/build/cmake/CMakeLists.txt +0 -216
  146. package/src/bsdiff/zstd/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +0 -121
  147. package/src/bsdiff/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake +0 -49
  148. package/src/bsdiff/zstd/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake +0 -10
  149. package/src/bsdiff/zstd/build/cmake/CMakeModules/JoinPaths.cmake +0 -23
  150. package/src/bsdiff/zstd/build/cmake/README.md +0 -136
  151. package/src/bsdiff/zstd/build/cmake/contrib/CMakeLists.txt +0 -13
  152. package/src/bsdiff/zstd/build/cmake/contrib/gen_html/CMakeLists.txt +0 -30
  153. package/src/bsdiff/zstd/build/cmake/contrib/pzstd/CMakeLists.txt +0 -39
  154. package/src/bsdiff/zstd/build/cmake/lib/CMakeLists.txt +0 -253
  155. package/src/bsdiff/zstd/build/cmake/lib/cmake_uninstall.cmake.in +0 -22
  156. package/src/bsdiff/zstd/build/cmake/programs/CMakeLists.txt +0 -144
  157. package/src/bsdiff/zstd/build/cmake/tests/CMakeLists.txt +0 -118
  158. package/src/bsdiff/zstd/build/cmake/zstdConfig.cmake.in +0 -10
  159. package/src/bsdiff/zstd/build/meson/GetZstdLibraryVersion.py +0 -39
  160. package/src/bsdiff/zstd/build/meson/InstallSymlink.py +0 -55
  161. package/src/bsdiff/zstd/build/meson/README.md +0 -38
  162. package/src/bsdiff/zstd/build/meson/contrib/gen_html/meson.build +0 -30
  163. package/src/bsdiff/zstd/build/meson/contrib/meson.build +0 -12
  164. package/src/bsdiff/zstd/build/meson/contrib/pzstd/meson.build +0 -25
  165. package/src/bsdiff/zstd/build/meson/lib/meson.build +0 -167
  166. package/src/bsdiff/zstd/build/meson/meson.build +0 -145
  167. package/src/bsdiff/zstd/build/meson/meson_options.txt +0 -36
  168. package/src/bsdiff/zstd/build/meson/programs/meson.build +0 -124
  169. package/src/bsdiff/zstd/build/meson/tests/meson.build +0 -217
  170. package/src/bsdiff/zstd/build/meson/tests/valgrindTest.py +0 -90
  171. package/src/bsdiff/zstd/build/single_file_libs/README.md +0 -33
  172. package/src/bsdiff/zstd/build/single_file_libs/build_decoder_test.sh +0 -91
  173. package/src/bsdiff/zstd/build/single_file_libs/build_library_test.sh +0 -97
  174. package/src/bsdiff/zstd/build/single_file_libs/combine.py +0 -234
  175. package/src/bsdiff/zstd/build/single_file_libs/combine.sh +0 -249
  176. package/src/bsdiff/zstd/build/single_file_libs/create_single_file_decoder.sh +0 -19
  177. package/src/bsdiff/zstd/build/single_file_libs/create_single_file_library.sh +0 -19
  178. package/src/bsdiff/zstd/build/single_file_libs/examples/README.md +0 -11
  179. package/src/bsdiff/zstd/build/single_file_libs/examples/emscripten.c +0 -340
  180. package/src/bsdiff/zstd/build/single_file_libs/examples/roundtrip.c +0 -83
  181. package/src/bsdiff/zstd/build/single_file_libs/examples/shell.html +0 -31
  182. package/src/bsdiff/zstd/build/single_file_libs/examples/simple.c +0 -75
  183. package/src/bsdiff/zstd/build/single_file_libs/examples/testcard-dxt1.inl +0 -2731
  184. package/src/bsdiff/zstd/build/single_file_libs/examples/testcard-zstd.inl +0 -261
  185. package/src/bsdiff/zstd/build/single_file_libs/examples/testcard.png +0 -0
  186. package/src/bsdiff/zstd/build/single_file_libs/zstd-in.c +0 -90
  187. package/src/bsdiff/zstd/build/single_file_libs/zstddeclib-in.c +0 -62
  188. package/src/bsdiff/zstd/contrib/VS2005/README.md +0 -3
  189. package/src/bsdiff/zstd/contrib/VS2005/fullbench/fullbench.vcproj +0 -440
  190. package/src/bsdiff/zstd/contrib/VS2005/fuzzer/fuzzer.vcproj +0 -488
  191. package/src/bsdiff/zstd/contrib/VS2005/zstd/zstd.vcproj +0 -552
  192. package/src/bsdiff/zstd/contrib/VS2005/zstd.sln +0 -55
  193. package/src/bsdiff/zstd/contrib/VS2005/zstdlib/zstdlib.vcproj +0 -546
  194. package/src/bsdiff/zstd/contrib/cleanTabs +0 -2
  195. package/src/bsdiff/zstd/contrib/diagnose_corruption/Makefile +0 -35
  196. package/src/bsdiff/zstd/contrib/diagnose_corruption/check_flipped_bits.c +0 -400
  197. package/src/bsdiff/zstd/contrib/docker/Dockerfile +0 -20
  198. package/src/bsdiff/zstd/contrib/docker/README.md +0 -20
  199. package/src/bsdiff/zstd/contrib/externalSequenceProducer/Makefile +0 -40
  200. package/src/bsdiff/zstd/contrib/externalSequenceProducer/README.md +0 -14
  201. package/src/bsdiff/zstd/contrib/externalSequenceProducer/main.c +0 -107
  202. package/src/bsdiff/zstd/contrib/externalSequenceProducer/sequence_producer.c +0 -80
  203. package/src/bsdiff/zstd/contrib/externalSequenceProducer/sequence_producer.h +0 -26
  204. package/src/bsdiff/zstd/contrib/freestanding_lib/freestanding.py +0 -774
  205. package/src/bsdiff/zstd/contrib/gen_html/Makefile +0 -51
  206. package/src/bsdiff/zstd/contrib/gen_html/README.md +0 -31
  207. package/src/bsdiff/zstd/contrib/gen_html/gen-zstd-manual.sh +0 -9
  208. package/src/bsdiff/zstd/contrib/gen_html/gen_html.cpp +0 -224
  209. package/src/bsdiff/zstd/contrib/largeNbDicts/Makefile +0 -58
  210. package/src/bsdiff/zstd/contrib/largeNbDicts/README.md +0 -33
  211. package/src/bsdiff/zstd/contrib/largeNbDicts/largeNbDicts.c +0 -1085
  212. package/src/bsdiff/zstd/contrib/linux-kernel/Makefile +0 -108
  213. package/src/bsdiff/zstd/contrib/linux-kernel/README.md +0 -14
  214. package/src/bsdiff/zstd/contrib/linux-kernel/btrfs-benchmark.sh +0 -104
  215. package/src/bsdiff/zstd/contrib/linux-kernel/btrfs-extract-benchmark.sh +0 -99
  216. package/src/bsdiff/zstd/contrib/linux-kernel/decompress_sources.h +0 -34
  217. package/src/bsdiff/zstd/contrib/linux-kernel/linux.mk +0 -43
  218. package/src/bsdiff/zstd/contrib/linux-kernel/linux_zstd.h +0 -447
  219. package/src/bsdiff/zstd/contrib/linux-kernel/mem.h +0 -262
  220. package/src/bsdiff/zstd/contrib/linux-kernel/squashfs-benchmark.sh +0 -39
  221. package/src/bsdiff/zstd/contrib/linux-kernel/test/Makefile +0 -49
  222. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/asm/unaligned.h +0 -187
  223. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/compiler.h +0 -23
  224. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/errno.h +0 -15
  225. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/kernel.h +0 -19
  226. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/limits.h +0 -15
  227. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/math64.h +0 -15
  228. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/module.h +0 -20
  229. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/printk.h +0 -15
  230. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/stddef.h +0 -15
  231. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/swab.h +0 -16
  232. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/types.h +0 -16
  233. package/src/bsdiff/zstd/contrib/linux-kernel/test/include/linux/xxhash.h +0 -745
  234. package/src/bsdiff/zstd/contrib/linux-kernel/test/macro-test.sh +0 -44
  235. package/src/bsdiff/zstd/contrib/linux-kernel/test/static_test.c +0 -52
  236. package/src/bsdiff/zstd/contrib/linux-kernel/test/test.c +0 -229
  237. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_common_module.c +0 -29
  238. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_compress_module.c +0 -164
  239. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_decompress_module.c +0 -105
  240. package/src/bsdiff/zstd/contrib/linux-kernel/zstd_deps.h +0 -121
  241. package/src/bsdiff/zstd/contrib/match_finders/README.md +0 -42
  242. package/src/bsdiff/zstd/contrib/match_finders/zstd_edist.c +0 -558
  243. package/src/bsdiff/zstd/contrib/match_finders/zstd_edist.h +0 -70
  244. package/src/bsdiff/zstd/contrib/premake/premake4.lua +0 -6
  245. package/src/bsdiff/zstd/contrib/premake/zstd.lua +0 -80
  246. package/src/bsdiff/zstd/contrib/pzstd/BUCK +0 -72
  247. package/src/bsdiff/zstd/contrib/pzstd/ErrorHolder.h +0 -54
  248. package/src/bsdiff/zstd/contrib/pzstd/Logging.h +0 -72
  249. package/src/bsdiff/zstd/contrib/pzstd/Makefile +0 -265
  250. package/src/bsdiff/zstd/contrib/pzstd/Options.cpp +0 -424
  251. package/src/bsdiff/zstd/contrib/pzstd/Options.h +0 -71
  252. package/src/bsdiff/zstd/contrib/pzstd/Pzstd.cpp +0 -618
  253. package/src/bsdiff/zstd/contrib/pzstd/Pzstd.h +0 -153
  254. package/src/bsdiff/zstd/contrib/pzstd/README.md +0 -56
  255. package/src/bsdiff/zstd/contrib/pzstd/SkippableFrame.cpp +0 -30
  256. package/src/bsdiff/zstd/contrib/pzstd/SkippableFrame.h +0 -64
  257. package/src/bsdiff/zstd/contrib/pzstd/images/Cspeed.png +0 -0
  258. package/src/bsdiff/zstd/contrib/pzstd/images/Dspeed.png +0 -0
  259. package/src/bsdiff/zstd/contrib/pzstd/main.cpp +0 -27
  260. package/src/bsdiff/zstd/contrib/pzstd/test/BUCK +0 -37
  261. package/src/bsdiff/zstd/contrib/pzstd/test/OptionsTest.cpp +0 -536
  262. package/src/bsdiff/zstd/contrib/pzstd/test/PzstdTest.cpp +0 -149
  263. package/src/bsdiff/zstd/contrib/pzstd/test/RoundTrip.h +0 -86
  264. package/src/bsdiff/zstd/contrib/pzstd/test/RoundTripTest.cpp +0 -86
  265. package/src/bsdiff/zstd/contrib/pzstd/utils/BUCK +0 -75
  266. package/src/bsdiff/zstd/contrib/pzstd/utils/Buffer.h +0 -99
  267. package/src/bsdiff/zstd/contrib/pzstd/utils/FileSystem.h +0 -96
  268. package/src/bsdiff/zstd/contrib/pzstd/utils/Likely.h +0 -28
  269. package/src/bsdiff/zstd/contrib/pzstd/utils/Portability.h +0 -16
  270. package/src/bsdiff/zstd/contrib/pzstd/utils/Range.h +0 -133
  271. package/src/bsdiff/zstd/contrib/pzstd/utils/ResourcePool.h +0 -96
  272. package/src/bsdiff/zstd/contrib/pzstd/utils/ScopeGuard.h +0 -50
  273. package/src/bsdiff/zstd/contrib/pzstd/utils/ThreadPool.h +0 -58
  274. package/src/bsdiff/zstd/contrib/pzstd/utils/WorkQueue.h +0 -181
  275. package/src/bsdiff/zstd/contrib/pzstd/utils/test/BUCK +0 -35
  276. package/src/bsdiff/zstd/contrib/pzstd/utils/test/BufferTest.cpp +0 -89
  277. package/src/bsdiff/zstd/contrib/pzstd/utils/test/RangeTest.cpp +0 -82
  278. package/src/bsdiff/zstd/contrib/pzstd/utils/test/ResourcePoolTest.cpp +0 -72
  279. package/src/bsdiff/zstd/contrib/pzstd/utils/test/ScopeGuardTest.cpp +0 -28
  280. package/src/bsdiff/zstd/contrib/pzstd/utils/test/ThreadPoolTest.cpp +0 -71
  281. package/src/bsdiff/zstd/contrib/pzstd/utils/test/WorkQueueTest.cpp +0 -282
  282. package/src/bsdiff/zstd/contrib/recovery/Makefile +0 -35
  283. package/src/bsdiff/zstd/contrib/recovery/recover_directory.c +0 -152
  284. package/src/bsdiff/zstd/contrib/seekable_format/README.md +0 -42
  285. package/src/bsdiff/zstd/contrib/seekable_format/examples/Makefile +0 -53
  286. package/src/bsdiff/zstd/contrib/seekable_format/examples/parallel_compression.c +0 -214
  287. package/src/bsdiff/zstd/contrib/seekable_format/examples/parallel_processing.c +0 -194
  288. package/src/bsdiff/zstd/contrib/seekable_format/examples/seekable_compression.c +0 -136
  289. package/src/bsdiff/zstd/contrib/seekable_format/examples/seekable_decompression.c +0 -141
  290. package/src/bsdiff/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c +0 -147
  291. package/src/bsdiff/zstd/contrib/seekable_format/tests/Makefile +0 -38
  292. package/src/bsdiff/zstd/contrib/seekable_format/tests/seekable_tests.c +0 -363
  293. package/src/bsdiff/zstd/contrib/seekable_format/zstd_seekable.h +0 -226
  294. package/src/bsdiff/zstd/contrib/seekable_format/zstd_seekable_compression_format.md +0 -116
  295. package/src/bsdiff/zstd/contrib/seekable_format/zstdseek_compress.c +0 -365
  296. package/src/bsdiff/zstd/contrib/seekable_format/zstdseek_decompress.c +0 -595
  297. package/src/bsdiff/zstd/contrib/seqBench/Makefile +0 -58
  298. package/src/bsdiff/zstd/contrib/seqBench/seqBench.c +0 -53
  299. package/src/bsdiff/zstd/contrib/snap/snapcraft.yaml +0 -28
  300. package/src/bsdiff/zstd/doc/README.md +0 -26
  301. package/src/bsdiff/zstd/doc/decompressor_errata.md +0 -148
  302. package/src/bsdiff/zstd/doc/decompressor_permissive.md +0 -60
  303. package/src/bsdiff/zstd/doc/educational_decoder/Makefile +0 -62
  304. package/src/bsdiff/zstd/doc/educational_decoder/README.md +0 -36
  305. package/src/bsdiff/zstd/doc/educational_decoder/harness.c +0 -119
  306. package/src/bsdiff/zstd/doc/educational_decoder/zstd_decompress.c +0 -2323
  307. package/src/bsdiff/zstd/doc/educational_decoder/zstd_decompress.h +0 -61
  308. package/src/bsdiff/zstd/doc/images/CSpeed2.png +0 -0
  309. package/src/bsdiff/zstd/doc/images/DCspeed5.png +0 -0
  310. package/src/bsdiff/zstd/doc/images/DSpeed3.png +0 -0
  311. package/src/bsdiff/zstd/doc/images/cdict_v136.png +0 -0
  312. package/src/bsdiff/zstd/doc/images/dict-cr.png +0 -0
  313. package/src/bsdiff/zstd/doc/images/dict-cs.png +0 -0
  314. package/src/bsdiff/zstd/doc/images/dict-ds.png +0 -0
  315. package/src/bsdiff/zstd/doc/images/zstd_cdict_v1_3_5.png +0 -0
  316. package/src/bsdiff/zstd/doc/images/zstd_logo86.png +0 -0
  317. package/src/bsdiff/zstd/doc/zstd_compression_format.md +0 -1737
  318. package/src/bsdiff/zstd/doc/zstd_manual.html +0 -2170
  319. package/src/bsdiff/zstd/examples/Makefile +0 -93
  320. package/src/bsdiff/zstd/examples/README.md +0 -46
  321. package/src/bsdiff/zstd/examples/common.h +0 -246
  322. package/src/bsdiff/zstd/examples/dictionary_compression.c +0 -107
  323. package/src/bsdiff/zstd/examples/dictionary_decompression.c +0 -99
  324. package/src/bsdiff/zstd/examples/multiple_simple_compression.c +0 -116
  325. package/src/bsdiff/zstd/examples/multiple_streaming_compression.c +0 -133
  326. package/src/bsdiff/zstd/examples/simple_compression.c +0 -68
  327. package/src/bsdiff/zstd/examples/simple_decompression.c +0 -65
  328. package/src/bsdiff/zstd/examples/streaming_compression.c +0 -146
  329. package/src/bsdiff/zstd/examples/streaming_compression_thread_pool.c +0 -180
  330. package/src/bsdiff/zstd/examples/streaming_decompression.c +0 -100
  331. package/src/bsdiff/zstd/examples/streaming_memory_usage.c +0 -137
  332. package/src/bsdiff/zstd/lib/BUCK +0 -232
  333. package/src/bsdiff/zstd/lib/Makefile +0 -369
  334. package/src/bsdiff/zstd/lib/README.md +0 -237
  335. package/src/bsdiff/zstd/lib/common/allocations.h +0 -55
  336. package/src/bsdiff/zstd/lib/common/bits.h +0 -200
  337. package/src/bsdiff/zstd/lib/common/bitstream.h +0 -457
  338. package/src/bsdiff/zstd/lib/common/compiler.h +0 -450
  339. package/src/bsdiff/zstd/lib/common/cpu.h +0 -249
  340. package/src/bsdiff/zstd/lib/common/debug.c +0 -30
  341. package/src/bsdiff/zstd/lib/common/debug.h +0 -116
  342. package/src/bsdiff/zstd/lib/common/entropy_common.c +0 -340
  343. package/src/bsdiff/zstd/lib/common/error_private.c +0 -63
  344. package/src/bsdiff/zstd/lib/common/error_private.h +0 -168
  345. package/src/bsdiff/zstd/lib/common/fse.h +0 -640
  346. package/src/bsdiff/zstd/lib/common/fse_decompress.c +0 -313
  347. package/src/bsdiff/zstd/lib/common/huf.h +0 -286
  348. package/src/bsdiff/zstd/lib/common/mem.h +0 -426
  349. package/src/bsdiff/zstd/lib/common/pool.c +0 -371
  350. package/src/bsdiff/zstd/lib/common/pool.h +0 -90
  351. package/src/bsdiff/zstd/lib/common/portability_macros.h +0 -158
  352. package/src/bsdiff/zstd/lib/common/threading.c +0 -182
  353. package/src/bsdiff/zstd/lib/common/threading.h +0 -150
  354. package/src/bsdiff/zstd/lib/common/xxhash.c +0 -18
  355. package/src/bsdiff/zstd/lib/common/xxhash.h +0 -7020
  356. package/src/bsdiff/zstd/lib/common/zstd_common.c +0 -48
  357. package/src/bsdiff/zstd/lib/common/zstd_deps.h +0 -111
  358. package/src/bsdiff/zstd/lib/common/zstd_internal.h +0 -392
  359. package/src/bsdiff/zstd/lib/common/zstd_trace.h +0 -163
  360. package/src/bsdiff/zstd/lib/compress/clevels.h +0 -134
  361. package/src/bsdiff/zstd/lib/compress/fse_compress.c +0 -625
  362. package/src/bsdiff/zstd/lib/compress/hist.c +0 -181
  363. package/src/bsdiff/zstd/lib/compress/hist.h +0 -75
  364. package/src/bsdiff/zstd/lib/compress/huf_compress.c +0 -1464
  365. package/src/bsdiff/zstd/lib/compress/zstd_compress.c +0 -7153
  366. package/src/bsdiff/zstd/lib/compress/zstd_compress_internal.h +0 -1534
  367. package/src/bsdiff/zstd/lib/compress/zstd_compress_literals.c +0 -235
  368. package/src/bsdiff/zstd/lib/compress/zstd_compress_literals.h +0 -39
  369. package/src/bsdiff/zstd/lib/compress/zstd_compress_sequences.c +0 -442
  370. package/src/bsdiff/zstd/lib/compress/zstd_compress_sequences.h +0 -54
  371. package/src/bsdiff/zstd/lib/compress/zstd_compress_superblock.c +0 -688
  372. package/src/bsdiff/zstd/lib/compress/zstd_compress_superblock.h +0 -32
  373. package/src/bsdiff/zstd/lib/compress/zstd_cwksp.h +0 -748
  374. package/src/bsdiff/zstd/lib/compress/zstd_double_fast.c +0 -770
  375. package/src/bsdiff/zstd/lib/compress/zstd_double_fast.h +0 -50
  376. package/src/bsdiff/zstd/lib/compress/zstd_fast.c +0 -968
  377. package/src/bsdiff/zstd/lib/compress/zstd_fast.h +0 -38
  378. package/src/bsdiff/zstd/lib/compress/zstd_lazy.c +0 -2199
  379. package/src/bsdiff/zstd/lib/compress/zstd_lazy.h +0 -202
  380. package/src/bsdiff/zstd/lib/compress/zstd_ldm.c +0 -730
  381. package/src/bsdiff/zstd/lib/compress/zstd_ldm.h +0 -117
  382. package/src/bsdiff/zstd/lib/compress/zstd_ldm_geartab.h +0 -106
  383. package/src/bsdiff/zstd/lib/compress/zstd_opt.c +0 -1576
  384. package/src/bsdiff/zstd/lib/compress/zstd_opt.h +0 -80
  385. package/src/bsdiff/zstd/lib/compress/zstdmt_compress.c +0 -1882
  386. package/src/bsdiff/zstd/lib/compress/zstdmt_compress.h +0 -113
  387. package/src/bsdiff/zstd/lib/decompress/huf_decompress.c +0 -1944
  388. package/src/bsdiff/zstd/lib/decompress/huf_decompress_amd64.S +0 -595
  389. package/src/bsdiff/zstd/lib/decompress/zstd_ddict.c +0 -244
  390. package/src/bsdiff/zstd/lib/decompress/zstd_ddict.h +0 -44
  391. package/src/bsdiff/zstd/lib/decompress/zstd_decompress.c +0 -2407
  392. package/src/bsdiff/zstd/lib/decompress/zstd_decompress_block.c +0 -2215
  393. package/src/bsdiff/zstd/lib/decompress/zstd_decompress_block.h +0 -73
  394. package/src/bsdiff/zstd/lib/decompress/zstd_decompress_internal.h +0 -240
  395. package/src/bsdiff/zstd/lib/deprecated/zbuff.h +0 -214
  396. package/src/bsdiff/zstd/lib/deprecated/zbuff_common.c +0 -26
  397. package/src/bsdiff/zstd/lib/deprecated/zbuff_compress.c +0 -167
  398. package/src/bsdiff/zstd/lib/deprecated/zbuff_decompress.c +0 -77
  399. package/src/bsdiff/zstd/lib/dictBuilder/cover.c +0 -1261
  400. package/src/bsdiff/zstd/lib/dictBuilder/cover.h +0 -152
  401. package/src/bsdiff/zstd/lib/dictBuilder/divsufsort.c +0 -1913
  402. package/src/bsdiff/zstd/lib/dictBuilder/divsufsort.h +0 -67
  403. package/src/bsdiff/zstd/lib/dictBuilder/fastcover.c +0 -766
  404. package/src/bsdiff/zstd/lib/dictBuilder/zdict.c +0 -1133
  405. package/src/bsdiff/zstd/lib/dll/example/Makefile +0 -48
  406. package/src/bsdiff/zstd/lib/dll/example/README.md +0 -63
  407. package/src/bsdiff/zstd/lib/dll/example/build_package.bat +0 -20
  408. package/src/bsdiff/zstd/lib/dll/example/fullbench-dll.sln +0 -25
  409. package/src/bsdiff/zstd/lib/dll/example/fullbench-dll.vcxproj +0 -181
  410. package/src/bsdiff/zstd/lib/legacy/zstd_legacy.h +0 -452
  411. package/src/bsdiff/zstd/lib/legacy/zstd_v01.c +0 -2127
  412. package/src/bsdiff/zstd/lib/legacy/zstd_v01.h +0 -94
  413. package/src/bsdiff/zstd/lib/legacy/zstd_v02.c +0 -3465
  414. package/src/bsdiff/zstd/lib/legacy/zstd_v02.h +0 -93
  415. package/src/bsdiff/zstd/lib/legacy/zstd_v03.c +0 -3105
  416. package/src/bsdiff/zstd/lib/legacy/zstd_v03.h +0 -93
  417. package/src/bsdiff/zstd/lib/legacy/zstd_v04.c +0 -3598
  418. package/src/bsdiff/zstd/lib/legacy/zstd_v04.h +0 -142
  419. package/src/bsdiff/zstd/lib/legacy/zstd_v05.c +0 -4005
  420. package/src/bsdiff/zstd/lib/legacy/zstd_v05.h +0 -162
  421. package/src/bsdiff/zstd/lib/legacy/zstd_v06.c +0 -4106
  422. package/src/bsdiff/zstd/lib/legacy/zstd_v06.h +0 -172
  423. package/src/bsdiff/zstd/lib/legacy/zstd_v07.c +0 -4490
  424. package/src/bsdiff/zstd/lib/legacy/zstd_v07.h +0 -187
  425. package/src/bsdiff/zstd/lib/libzstd.mk +0 -237
  426. package/src/bsdiff/zstd/lib/libzstd.pc.in +0 -16
  427. package/src/bsdiff/zstd/lib/module.modulemap +0 -35
  428. package/src/bsdiff/zstd/lib/zdict.h +0 -474
  429. package/src/bsdiff/zstd/lib/zstd.h +0 -3089
  430. package/src/bsdiff/zstd/lib/zstd_errors.h +0 -114
  431. package/src/bsdiff/zstd/programs/BUCK +0 -44
  432. package/src/bsdiff/zstd/programs/Makefile +0 -445
  433. package/src/bsdiff/zstd/programs/README.md +0 -302
  434. package/src/bsdiff/zstd/programs/benchfn.c +0 -256
  435. package/src/bsdiff/zstd/programs/benchfn.h +0 -183
  436. package/src/bsdiff/zstd/programs/benchzstd.c +0 -1264
  437. package/src/bsdiff/zstd/programs/benchzstd.h +0 -198
  438. package/src/bsdiff/zstd/programs/datagen.c +0 -186
  439. package/src/bsdiff/zstd/programs/datagen.h +0 -30
  440. package/src/bsdiff/zstd/programs/dibio.c +0 -440
  441. package/src/bsdiff/zstd/programs/dibio.h +0 -39
  442. package/src/bsdiff/zstd/programs/fileio.c +0 -3470
  443. package/src/bsdiff/zstd/programs/fileio.h +0 -181
  444. package/src/bsdiff/zstd/programs/fileio_asyncio.c +0 -663
  445. package/src/bsdiff/zstd/programs/fileio_asyncio.h +0 -203
  446. package/src/bsdiff/zstd/programs/fileio_common.h +0 -125
  447. package/src/bsdiff/zstd/programs/fileio_types.h +0 -86
  448. package/src/bsdiff/zstd/programs/lorem.c +0 -285
  449. package/src/bsdiff/zstd/programs/lorem.h +0 -32
  450. package/src/bsdiff/zstd/programs/platform.h +0 -218
  451. package/src/bsdiff/zstd/programs/timefn.c +0 -168
  452. package/src/bsdiff/zstd/programs/timefn.h +0 -70
  453. package/src/bsdiff/zstd/programs/util.c +0 -1652
  454. package/src/bsdiff/zstd/programs/util.h +0 -359
  455. package/src/bsdiff/zstd/programs/windres/verrsrc.h +0 -17
  456. package/src/bsdiff/zstd/programs/windres/zstd.rc +0 -51
  457. package/src/bsdiff/zstd/programs/windres/zstd32.res +0 -0
  458. package/src/bsdiff/zstd/programs/windres/zstd64.res +0 -0
  459. package/src/bsdiff/zstd/programs/zstd.1 +0 -566
  460. package/src/bsdiff/zstd/programs/zstd.1.md +0 -695
  461. package/src/bsdiff/zstd/programs/zstdcli.c +0 -1625
  462. package/src/bsdiff/zstd/programs/zstdcli_trace.c +0 -172
  463. package/src/bsdiff/zstd/programs/zstdcli_trace.h +0 -24
  464. package/src/bsdiff/zstd/programs/zstdgrep +0 -134
  465. package/src/bsdiff/zstd/programs/zstdgrep.1 +0 -26
  466. package/src/bsdiff/zstd/programs/zstdgrep.1.md +0 -30
  467. package/src/bsdiff/zstd/programs/zstdless +0 -8
  468. package/src/bsdiff/zstd/programs/zstdless.1 +0 -14
  469. package/src/bsdiff/zstd/programs/zstdless.1.md +0 -16
  470. package/src/bsdiff/zstd/tests/DEPRECATED-test-zstd-speed.py +0 -378
  471. package/src/bsdiff/zstd/tests/Makefile +0 -477
  472. package/src/bsdiff/zstd/tests/README.md +0 -184
  473. package/src/bsdiff/zstd/tests/automated_benchmarking.py +0 -326
  474. package/src/bsdiff/zstd/tests/bigdict.c +0 -128
  475. package/src/bsdiff/zstd/tests/checkTag.c +0 -65
  476. package/src/bsdiff/zstd/tests/check_size.py +0 -31
  477. package/src/bsdiff/zstd/tests/cli-tests/README.md +0 -258
  478. package/src/bsdiff/zstd/tests/cli-tests/basic/args.sh +0 -10
  479. package/src/bsdiff/zstd/tests/cli-tests/basic/args.sh.exit +0 -1
  480. package/src/bsdiff/zstd/tests/cli-tests/basic/args.sh.stderr.glob +0 -28
  481. package/src/bsdiff/zstd/tests/cli-tests/basic/help.sh +0 -10
  482. package/src/bsdiff/zstd/tests/cli-tests/basic/help.sh.stdout.glob +0 -34
  483. package/src/bsdiff/zstd/tests/cli-tests/basic/memlimit.sh +0 -40
  484. package/src/bsdiff/zstd/tests/cli-tests/basic/memlimit.sh.stderr.exact +0 -13
  485. package/src/bsdiff/zstd/tests/cli-tests/basic/memlimit.sh.stdout.exact +0 -13
  486. package/src/bsdiff/zstd/tests/cli-tests/basic/output_dir.sh +0 -7
  487. package/src/bsdiff/zstd/tests/cli-tests/basic/output_dir.sh.stderr.exact +0 -2
  488. package/src/bsdiff/zstd/tests/cli-tests/basic/output_dir.sh.stdout.exact +0 -2
  489. package/src/bsdiff/zstd/tests/cli-tests/basic/version.sh +0 -6
  490. package/src/bsdiff/zstd/tests/cli-tests/basic/version.sh.stdout.glob +0 -2
  491. package/src/bsdiff/zstd/tests/cli-tests/bin/cmp_size +0 -44
  492. package/src/bsdiff/zstd/tests/cli-tests/bin/datagen +0 -3
  493. package/src/bsdiff/zstd/tests/cli-tests/bin/die +0 -4
  494. package/src/bsdiff/zstd/tests/cli-tests/bin/println +0 -2
  495. package/src/bsdiff/zstd/tests/cli-tests/bin/zstd +0 -9
  496. package/src/bsdiff/zstd/tests/cli-tests/bin/zstdgrep +0 -2
  497. package/src/bsdiff/zstd/tests/cli-tests/bin/zstdless +0 -2
  498. package/src/bsdiff/zstd/tests/cli-tests/cltools/setup +0 -6
  499. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh +0 -8
  500. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh.exit +0 -1
  501. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh.stderr.exact +0 -1
  502. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdgrep.sh.stdout.glob +0 -4
  503. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdless.sh +0 -10
  504. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdless.sh.stderr.exact +0 -2
  505. package/src/bsdiff/zstd/tests/cli-tests/cltools/zstdless.sh.stdout.glob +0 -5
  506. package/src/bsdiff/zstd/tests/cli-tests/common/format.sh +0 -19
  507. package/src/bsdiff/zstd/tests/cli-tests/common/mtime.sh +0 -13
  508. package/src/bsdiff/zstd/tests/cli-tests/common/permissions.sh +0 -18
  509. package/src/bsdiff/zstd/tests/cli-tests/common/platform.sh +0 -37
  510. package/src/bsdiff/zstd/tests/cli-tests/compression/adapt.sh +0 -14
  511. package/src/bsdiff/zstd/tests/cli-tests/compression/basic.sh +0 -36
  512. package/src/bsdiff/zstd/tests/cli-tests/compression/compress-literals.sh +0 -10
  513. package/src/bsdiff/zstd/tests/cli-tests/compression/format.sh +0 -16
  514. package/src/bsdiff/zstd/tests/cli-tests/compression/golden.sh +0 -16
  515. package/src/bsdiff/zstd/tests/cli-tests/compression/gzip-compat.sh +0 -17
  516. package/src/bsdiff/zstd/tests/cli-tests/compression/levels.sh +0 -62
  517. package/src/bsdiff/zstd/tests/cli-tests/compression/levels.sh.stderr.exact +0 -69
  518. package/src/bsdiff/zstd/tests/cli-tests/compression/long-distance-matcher.sh +0 -7
  519. package/src/bsdiff/zstd/tests/cli-tests/compression/multi-threaded.sh +0 -15
  520. package/src/bsdiff/zstd/tests/cli-tests/compression/multi-threaded.sh.stderr.exact +0 -11
  521. package/src/bsdiff/zstd/tests/cli-tests/compression/multiple-files.sh +0 -21
  522. package/src/bsdiff/zstd/tests/cli-tests/compression/multiple-files.sh.stdout.exact +0 -12
  523. package/src/bsdiff/zstd/tests/cli-tests/compression/row-match-finder.sh +0 -7
  524. package/src/bsdiff/zstd/tests/cli-tests/compression/setup +0 -7
  525. package/src/bsdiff/zstd/tests/cli-tests/compression/stream-size.sh +0 -7
  526. package/src/bsdiff/zstd/tests/cli-tests/compression/verbose-wlog.sh +0 -11
  527. package/src/bsdiff/zstd/tests/cli-tests/compression/verbose-wlog.sh.stderr.glob +0 -5
  528. package/src/bsdiff/zstd/tests/cli-tests/compression/verbose-wlog.sh.stdout.glob +0 -5
  529. package/src/bsdiff/zstd/tests/cli-tests/compression/window-resize.sh +0 -9
  530. package/src/bsdiff/zstd/tests/cli-tests/compression/window-resize.sh.stdout.glob +0 -3
  531. package/src/bsdiff/zstd/tests/cli-tests/decompression/detectErrors.sh +0 -11
  532. package/src/bsdiff/zstd/tests/cli-tests/decompression/golden.sh +0 -7
  533. package/src/bsdiff/zstd/tests/cli-tests/decompression/pass-through.sh +0 -57
  534. package/src/bsdiff/zstd/tests/cli-tests/decompression/pass-through.sh.stderr.exact +0 -11
  535. package/src/bsdiff/zstd/tests/cli-tests/decompression/pass-through.sh.stdout.exact +0 -25
  536. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/empty-input.sh +0 -9
  537. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/empty-input.sh.stderr.exact +0 -1
  538. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/no-inputs.sh +0 -3
  539. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/no-inputs.sh.exit +0 -1
  540. package/src/bsdiff/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +0 -5
  541. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh +0 -29
  542. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh.stderr.exact +0 -7
  543. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/golden.sh +0 -9
  544. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/setup +0 -6
  545. package/src/bsdiff/zstd/tests/cli-tests/dictionaries/setup_once +0 -24
  546. package/src/bsdiff/zstd/tests/cli-tests/file-handling/directory-mirror.sh +0 -49
  547. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh +0 -12
  548. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh.stderr.exact +0 -26
  549. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh +0 -9
  550. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact +0 -42
  551. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh +0 -8
  552. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh.stderr.exact +0 -24
  553. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh +0 -8
  554. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.exact +0 -24
  555. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh +0 -8
  556. package/src/bsdiff/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh.stderr.exact +0 -18
  557. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh +0 -8
  558. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact +0 -38
  559. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh +0 -7
  560. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh.stderr.exact +0 -18
  561. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh +0 -7
  562. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.exact +0 -20
  563. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh +0 -7
  564. package/src/bsdiff/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh.stderr.exact +0 -14
  565. package/src/bsdiff/zstd/tests/cli-tests/progress/no-progress.sh +0 -46
  566. package/src/bsdiff/zstd/tests/cli-tests/progress/no-progress.sh.stderr.glob +0 -96
  567. package/src/bsdiff/zstd/tests/cli-tests/progress/progress.sh +0 -41
  568. package/src/bsdiff/zstd/tests/cli-tests/progress/progress.sh.stderr.glob +0 -62
  569. package/src/bsdiff/zstd/tests/cli-tests/run.py +0 -731
  570. package/src/bsdiff/zstd/tests/cli-tests/zstd-symlinks/setup +0 -6
  571. package/src/bsdiff/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh +0 -12
  572. package/src/bsdiff/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh.stdout.exact +0 -8
  573. package/src/bsdiff/zstd/tests/datagencli.c +0 -149
  574. package/src/bsdiff/zstd/tests/decodecorpus.c +0 -1936
  575. package/src/bsdiff/zstd/tests/dict-files/zero-weight-dict +0 -0
  576. package/src/bsdiff/zstd/tests/external_matchfinder.c +0 -140
  577. package/src/bsdiff/zstd/tests/external_matchfinder.h +0 -39
  578. package/src/bsdiff/zstd/tests/fullbench.c +0 -980
  579. package/src/bsdiff/zstd/tests/fuzz/Makefile +0 -277
  580. package/src/bsdiff/zstd/tests/fuzz/README.md +0 -161
  581. package/src/bsdiff/zstd/tests/fuzz/block_decompress.c +0 -53
  582. package/src/bsdiff/zstd/tests/fuzz/block_round_trip.c +0 -103
  583. package/src/bsdiff/zstd/tests/fuzz/decompress_cross_format.c +0 -130
  584. package/src/bsdiff/zstd/tests/fuzz/decompress_dstSize_tooSmall.c +0 -74
  585. package/src/bsdiff/zstd/tests/fuzz/dictionary_decompress.c +0 -77
  586. package/src/bsdiff/zstd/tests/fuzz/dictionary_loader.c +0 -106
  587. package/src/bsdiff/zstd/tests/fuzz/dictionary_round_trip.c +0 -155
  588. package/src/bsdiff/zstd/tests/fuzz/dictionary_stream_round_trip.c +0 -209
  589. package/src/bsdiff/zstd/tests/fuzz/fse_read_ncount.c +0 -100
  590. package/src/bsdiff/zstd/tests/fuzz/fuzz.h +0 -57
  591. package/src/bsdiff/zstd/tests/fuzz/fuzz.py +0 -911
  592. package/src/bsdiff/zstd/tests/fuzz/fuzz_data_producer.c +0 -95
  593. package/src/bsdiff/zstd/tests/fuzz/fuzz_data_producer.h +0 -66
  594. package/src/bsdiff/zstd/tests/fuzz/fuzz_helpers.c +0 -48
  595. package/src/bsdiff/zstd/tests/fuzz/fuzz_helpers.h +0 -81
  596. package/src/bsdiff/zstd/tests/fuzz/fuzz_third_party_seq_prod.h +0 -116
  597. package/src/bsdiff/zstd/tests/fuzz/generate_sequences.c +0 -88
  598. package/src/bsdiff/zstd/tests/fuzz/huf_decompress.c +0 -68
  599. package/src/bsdiff/zstd/tests/fuzz/huf_round_trip.c +0 -137
  600. package/src/bsdiff/zstd/tests/fuzz/raw_dictionary_round_trip.c +0 -119
  601. package/src/bsdiff/zstd/tests/fuzz/regression_driver.c +0 -90
  602. package/src/bsdiff/zstd/tests/fuzz/seekable_roundtrip.c +0 -88
  603. package/src/bsdiff/zstd/tests/fuzz/seq_prod_fuzz_example/Makefile +0 -16
  604. package/src/bsdiff/zstd/tests/fuzz/seq_prod_fuzz_example/README.md +0 -12
  605. package/src/bsdiff/zstd/tests/fuzz/seq_prod_fuzz_example/example_seq_prod.c +0 -52
  606. package/src/bsdiff/zstd/tests/fuzz/sequence_compression_api.c +0 -381
  607. package/src/bsdiff/zstd/tests/fuzz/simple_compress.c +0 -60
  608. package/src/bsdiff/zstd/tests/fuzz/simple_decompress.c +0 -59
  609. package/src/bsdiff/zstd/tests/fuzz/simple_round_trip.c +0 -182
  610. package/src/bsdiff/zstd/tests/fuzz/stream_decompress.c +0 -119
  611. package/src/bsdiff/zstd/tests/fuzz/stream_round_trip.c +0 -218
  612. package/src/bsdiff/zstd/tests/fuzz/zstd_frame_info.c +0 -43
  613. package/src/bsdiff/zstd/tests/fuzz/zstd_helpers.c +0 -207
  614. package/src/bsdiff/zstd/tests/fuzz/zstd_helpers.h +0 -56
  615. package/src/bsdiff/zstd/tests/fuzzer.c +0 -4933
  616. package/src/bsdiff/zstd/tests/golden-compression/PR-3517-block-splitter-corruption-test +0 -1
  617. package/src/bsdiff/zstd/tests/golden-compression/http +0 -1
  618. package/src/bsdiff/zstd/tests/golden-compression/huffman-compressed-larger +0 -0
  619. package/src/bsdiff/zstd/tests/golden-compression/large-literal-and-match-lengths +0 -0
  620. package/src/bsdiff/zstd/tests/golden-decompression/block-128k.zst +0 -0
  621. package/src/bsdiff/zstd/tests/golden-decompression/empty-block.zst +0 -0
  622. package/src/bsdiff/zstd/tests/golden-decompression/rle-first-block.zst +0 -0
  623. package/src/bsdiff/zstd/tests/golden-decompression/zeroSeq_2B.zst +0 -0
  624. package/src/bsdiff/zstd/tests/golden-decompression-errors/off0.bin.zst +0 -0
  625. package/src/bsdiff/zstd/tests/golden-decompression-errors/zeroSeq_extraneous.zst +0 -0
  626. package/src/bsdiff/zstd/tests/golden-dictionaries/http-dict-missing-symbols +0 -0
  627. package/src/bsdiff/zstd/tests/gzip/Makefile +0 -45
  628. package/src/bsdiff/zstd/tests/gzip/gzip-env.sh +0 -46
  629. package/src/bsdiff/zstd/tests/gzip/helin-segv.sh +0 -31
  630. package/src/bsdiff/zstd/tests/gzip/help-version.sh +0 -270
  631. package/src/bsdiff/zstd/tests/gzip/hufts-segv.gz +0 -0
  632. package/src/bsdiff/zstd/tests/gzip/hufts.sh +0 -34
  633. package/src/bsdiff/zstd/tests/gzip/init.cfg +0 -5
  634. package/src/bsdiff/zstd/tests/gzip/init.sh +0 -616
  635. package/src/bsdiff/zstd/tests/gzip/keep.sh +0 -51
  636. package/src/bsdiff/zstd/tests/gzip/list.sh +0 -31
  637. package/src/bsdiff/zstd/tests/gzip/memcpy-abuse.sh +0 -34
  638. package/src/bsdiff/zstd/tests/gzip/mixed.sh +0 -68
  639. package/src/bsdiff/zstd/tests/gzip/null-suffix-clobber.sh +0 -35
  640. package/src/bsdiff/zstd/tests/gzip/stdin.sh +0 -31
  641. package/src/bsdiff/zstd/tests/gzip/test-driver.sh +0 -150
  642. package/src/bsdiff/zstd/tests/gzip/trailing-nul.sh +0 -37
  643. package/src/bsdiff/zstd/tests/gzip/unpack-invalid.sh +0 -36
  644. package/src/bsdiff/zstd/tests/gzip/z-suffix.sh +0 -30
  645. package/src/bsdiff/zstd/tests/gzip/zdiff.sh +0 -48
  646. package/src/bsdiff/zstd/tests/gzip/zgrep-context.sh +0 -47
  647. package/src/bsdiff/zstd/tests/gzip/zgrep-f.sh +0 -43
  648. package/src/bsdiff/zstd/tests/gzip/zgrep-signal.sh +0 -64
  649. package/src/bsdiff/zstd/tests/gzip/znew-k.sh +0 -40
  650. package/src/bsdiff/zstd/tests/invalidDictionaries.c +0 -61
  651. package/src/bsdiff/zstd/tests/legacy.c +0 -260
  652. package/src/bsdiff/zstd/tests/libzstd_builds.sh +0 -104
  653. package/src/bsdiff/zstd/tests/longmatch.c +0 -102
  654. package/src/bsdiff/zstd/tests/loremOut.c +0 -50
  655. package/src/bsdiff/zstd/tests/loremOut.h +0 -15
  656. package/src/bsdiff/zstd/tests/paramgrill.c +0 -2966
  657. package/src/bsdiff/zstd/tests/playTests.sh +0 -1928
  658. package/src/bsdiff/zstd/tests/poolTests.c +0 -271
  659. package/src/bsdiff/zstd/tests/rateLimiter.py +0 -41
  660. package/src/bsdiff/zstd/tests/regression/Makefile +0 -60
  661. package/src/bsdiff/zstd/tests/regression/README.md +0 -28
  662. package/src/bsdiff/zstd/tests/regression/config.c +0 -404
  663. package/src/bsdiff/zstd/tests/regression/config.h +0 -91
  664. package/src/bsdiff/zstd/tests/regression/data.c +0 -631
  665. package/src/bsdiff/zstd/tests/regression/data.h +0 -121
  666. package/src/bsdiff/zstd/tests/regression/levels.h +0 -59
  667. package/src/bsdiff/zstd/tests/regression/method.c +0 -701
  668. package/src/bsdiff/zstd/tests/regression/method.h +0 -65
  669. package/src/bsdiff/zstd/tests/regression/result.c +0 -28
  670. package/src/bsdiff/zstd/tests/regression/result.h +0 -103
  671. package/src/bsdiff/zstd/tests/regression/results.csv +0 -1480
  672. package/src/bsdiff/zstd/tests/regression/test.c +0 -362
  673. package/src/bsdiff/zstd/tests/roundTripCrash.c +0 -241
  674. package/src/bsdiff/zstd/tests/seqgen.c +0 -260
  675. package/src/bsdiff/zstd/tests/seqgen.h +0 -58
  676. package/src/bsdiff/zstd/tests/test-license.py +0 -156
  677. package/src/bsdiff/zstd/tests/test-variants.sh +0 -115
  678. package/src/bsdiff/zstd/tests/test-zstd-versions.py +0 -308
  679. package/src/bsdiff/zstd/tests/zstreamtest.c +0 -3407
  680. package/src/bsdiff/zstd/zlibWrapper/BUCK +0 -22
  681. package/src/bsdiff/zstd/zlibWrapper/Makefile +0 -120
  682. package/src/bsdiff/zstd/zlibWrapper/README.md +0 -163
  683. package/src/bsdiff/zstd/zlibWrapper/examples/example.c +0 -598
  684. package/src/bsdiff/zstd/zlibWrapper/examples/example_original.c +0 -599
  685. package/src/bsdiff/zstd/zlibWrapper/examples/fitblk.c +0 -254
  686. package/src/bsdiff/zstd/zlibWrapper/examples/fitblk_original.c +0 -233
  687. package/src/bsdiff/zstd/zlibWrapper/examples/minigzip.c +0 -605
  688. package/src/bsdiff/zstd/zlibWrapper/examples/zwrapbench.c +0 -1018
  689. package/src/bsdiff/zstd/zlibWrapper/gzclose.c +0 -26
  690. package/src/bsdiff/zstd/zlibWrapper/gzcompatibility.h +0 -68
  691. package/src/bsdiff/zstd/zlibWrapper/gzguts.h +0 -229
  692. package/src/bsdiff/zstd/zlibWrapper/gzlib.c +0 -587
  693. package/src/bsdiff/zstd/zlibWrapper/gzread.c +0 -637
  694. package/src/bsdiff/zstd/zlibWrapper/gzwrite.c +0 -631
  695. package/src/bsdiff/zstd/zlibWrapper/zstd_zlibwrapper.c +0 -1200
  696. package/src/bsdiff/zstd/zlibWrapper/zstd_zlibwrapper.h +0 -91
  697. package/src/objc/build/objcWrapper.o +0 -0
  698. package/src/objc/objcWrapper.m +0 -1380
  699. package/src/zig/build/index.js +0 -782
  700. package/src/zig/build/libObjcWrapper.a +0 -0
  701. package/src/zig/build.zig +0 -29
  702. package/src/zig/macos/application.zig +0 -6
  703. package/src/zig/macos/objc.zig +0 -123
  704. package/src/zig/macos/tray.zig +0 -102
  705. package/src/zig/macos/webview.zig +0 -693
  706. package/src/zig/macos/window.zig +0 -189
  707. package/src/zig/main.zig +0 -16
  708. package/src/zig/rpc/pipesin.zig +0 -202
  709. package/src/zig/rpc/rpc.zig +0 -19
  710. package/src/zig/rpc/schema/handlers.zig +0 -402
  711. package/src/zig/rpc/schema/request.zig +0 -59
  712. package/src/zig/rpc/schema/schema.zig +0 -412
  713. package/src/zig/rpc/stdin.zig +0 -112
  714. package/src/zig/rpc/stdout.zig +0 -106
  715. package/src/zig/rpc/types.zig +0 -41
  716. package/src/zig/utils.zig +0 -49
  717. package/src/zig/zig-out/bin/webview +0 -0
  718. /package/{docs → docs-old}/api/bun-api.md +0 -0
  719. /package/{docs → docs-old}/api/view-api.md +0 -0
  720. /package/{docs → docs-old}/electrobun-config.md +0 -0
  721. /package/{docs → docs-old}/getting-started.md +0 -0
  722. /package/{docs → docs-old}/node_modules/.cache/webpack/client-development-en/0.pack +0 -0
  723. /package/{docs → docs-old}/node_modules/.cache/webpack/client-development-en/index.pack +0 -0
  724. /package/{example/readme.md → documentation/blog/tags.yml} +0 -0
  725. /package/{src/bsdiff/zstd/build/LICENSE → documentation/docs/guides/Guides/Build UI with React} +0 -0
  726. /package/{src/bsdiff/zstd/tests/cli-tests/compression/window-resize.sh.stderr.ignore → documentation/docs/guides/Guides/Build UI with Solidjs} +0 -0
  727. /package/{src/bsdiff/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stderr.exact → documentation/docs/guides/Guides/Build a Web Browser} +0 -0
  728. /package/{src/bsdiff/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stdout.exact → documentation/docs/guides/Guides/Bun <-> Browser RPC} +0 -0
  729. /package/{example/src/webviewtag/electrobun.png → documentation/static/img/electrobun-logo-32.png} +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
- }