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,1018 +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
- */
9
-
10
-
11
- /* *************************************
12
- * Includes
13
- ***************************************/
14
- #include "util.h" /* Compiler options, UTIL_GetFileSize, UTIL_sleep */
15
- #include <stdlib.h> /* malloc, free */
16
- #include <string.h> /* memset */
17
- #include <stdio.h> /* fprintf, fopen, ftello64 */
18
- #include <time.h> /* clock_t, clock, CLOCKS_PER_SEC */
19
- #include <ctype.h> /* toupper */
20
- #include <errno.h> /* errno */
21
-
22
- #include "timefn.h" /* UTIL_time_t, UTIL_getTime, UTIL_clockSpanMicro, UTIL_waitForNextTick */
23
- #include "mem.h"
24
- #define ZSTD_STATIC_LINKING_ONLY
25
- #include "zstd.h"
26
- #include "datagen.h" /* RDG_genBuffer */
27
- #include "xxhash.h"
28
-
29
- #include "../zstd_zlibwrapper.h"
30
-
31
-
32
-
33
- /*-************************************
34
- * Tuning parameters
35
- **************************************/
36
- #ifndef ZSTDCLI_CLEVEL_DEFAULT
37
- # define ZSTDCLI_CLEVEL_DEFAULT 3
38
- #endif
39
-
40
-
41
- /*-************************************
42
- * Constants
43
- **************************************/
44
- #define COMPRESSOR_NAME "Zstandard wrapper for zlib command line interface"
45
- #ifndef ZSTD_VERSION
46
- # define ZSTD_VERSION "v" ZSTD_VERSION_STRING
47
- #endif
48
- #define AUTHOR "Yann Collet"
49
- #define WELCOME_MESSAGE "*** %s %i-bits %s, by %s ***\n", COMPRESSOR_NAME, (int)(sizeof(size_t)*8), ZSTD_VERSION, AUTHOR
50
-
51
- #ifndef ZSTD_GIT_COMMIT
52
- # define ZSTD_GIT_COMMIT_STRING ""
53
- #else
54
- # define ZSTD_GIT_COMMIT_STRING ZSTD_EXPAND_AND_QUOTE(ZSTD_GIT_COMMIT)
55
- #endif
56
-
57
- #define NBLOOPS 3
58
- #define TIMELOOP_MICROSEC 1*1000000ULL /* 1 second */
59
- #define ACTIVEPERIOD_MICROSEC 70*1000000ULL /* 70 seconds */
60
- #define COOLPERIOD_SEC 10
61
-
62
- #define KB *(1 <<10)
63
- #define MB *(1 <<20)
64
- #define GB *(1U<<30)
65
-
66
- static const size_t maxMemory = (sizeof(size_t)==4) ? (2 GB - 64 MB) : (size_t)(1ULL << ((sizeof(size_t)*8)-31));
67
-
68
- static U32 g_compressibilityDefault = 50;
69
-
70
-
71
- /* *************************************
72
- * console display
73
- ***************************************/
74
- #define DEFAULT_DISPLAY_LEVEL 2
75
- #define DISPLAY(...) fprintf(displayOut, __VA_ARGS__)
76
- #define DISPLAYLEVEL(l, ...) if (g_displayLevel>=l) { DISPLAY(__VA_ARGS__); }
77
- static unsigned g_displayLevel = DEFAULT_DISPLAY_LEVEL; /* 0 : no display; 1: errors; 2 : + result + interaction + warnings; 3 : + progression; 4 : + information */
78
- static FILE* displayOut;
79
-
80
- #define DISPLAYUPDATE(l, ...) if (g_displayLevel>=l) { \
81
- if ((clock() - g_time > refreshRate) || (g_displayLevel>=4)) \
82
- { g_time = clock(); DISPLAY(__VA_ARGS__); \
83
- if (g_displayLevel>=4) fflush(displayOut); } }
84
- static const clock_t refreshRate = CLOCKS_PER_SEC * 15 / 100;
85
- static clock_t g_time = 0;
86
-
87
-
88
- /* *************************************
89
- * Exceptions
90
- ***************************************/
91
- #ifndef DEBUG
92
- # define DEBUG 0
93
- #endif
94
- #define DEBUGOUTPUT(...) { if (DEBUG) DISPLAY(__VA_ARGS__); }
95
- #define EXM_THROW(error, ...) \
96
- { \
97
- DEBUGOUTPUT("Error defined at %s, line %i : \n", __FILE__, __LINE__); \
98
- DISPLAYLEVEL(1, "Error %i : ", error); \
99
- DISPLAYLEVEL(1, __VA_ARGS__); \
100
- DISPLAYLEVEL(1, "\n"); \
101
- exit(error); \
102
- }
103
-
104
-
105
- /* *************************************
106
- * Benchmark Parameters
107
- ***************************************/
108
- static unsigned g_nbIterations = NBLOOPS;
109
- static size_t g_blockSize = 0;
110
- int g_additionalParam = 0;
111
-
112
- static void BMK_setNotificationLevel(unsigned level) { g_displayLevel=level; }
113
-
114
- static void BMK_setAdditionalParam(int additionalParam) { g_additionalParam=additionalParam; }
115
-
116
- static void BMK_SetNbIterations(unsigned nbLoops)
117
- {
118
- g_nbIterations = nbLoops;
119
- DISPLAYLEVEL(3, "- test >= %u seconds per compression / decompression -\n", g_nbIterations);
120
- }
121
-
122
- static void BMK_SetBlockSize(size_t blockSize)
123
- {
124
- g_blockSize = blockSize;
125
- DISPLAYLEVEL(2, "using blocks of size %u KB \n", (unsigned)(blockSize>>10));
126
- }
127
-
128
-
129
- /* ********************************************************
130
- * Bench functions
131
- **********************************************************/
132
- #undef MIN
133
- #undef MAX
134
- #define MIN(a,b) ((a)<(b) ? (a) : (b))
135
- #define MAX(a,b) ((a)>(b) ? (a) : (b))
136
-
137
- typedef struct
138
- {
139
- z_const char* srcPtr;
140
- size_t srcSize;
141
- char* cPtr;
142
- size_t cRoom;
143
- size_t cSize;
144
- char* resPtr;
145
- size_t resSize;
146
- } blockParam_t;
147
-
148
- typedef enum { BMK_ZSTD, BMK_ZSTD_STREAM, BMK_ZLIB, BMK_ZWRAP_ZLIB, BMK_ZWRAP_ZSTD, BMK_ZLIB_REUSE, BMK_ZWRAP_ZLIB_REUSE, BMK_ZWRAP_ZSTD_REUSE } BMK_compressor;
149
-
150
-
151
- static int BMK_benchMem(z_const void* srcBuffer, size_t srcSize,
152
- const char* displayName, int cLevel,
153
- const size_t* fileSizes, U32 nbFiles,
154
- const void* dictBuffer, size_t dictBufferSize, BMK_compressor compressor)
155
- {
156
- size_t const blockSize = (g_blockSize>=32 ? g_blockSize : srcSize) + (!srcSize) /* avoid div by 0 */ ;
157
- size_t const avgSize = MIN(g_blockSize, (srcSize / nbFiles));
158
- U32 const maxNbBlocks = (U32) ((srcSize + (blockSize-1)) / blockSize) + nbFiles;
159
- blockParam_t* const blockTable = (blockParam_t*) malloc(maxNbBlocks * sizeof(blockParam_t));
160
- size_t const maxCompressedSize = ZSTD_compressBound(srcSize) + (maxNbBlocks * 1024); /* add some room for safety */
161
- void* const compressedBuffer = malloc(maxCompressedSize);
162
- void* const resultBuffer = malloc(srcSize);
163
- ZSTD_CCtx* const ctx = ZSTD_createCCtx();
164
- ZSTD_DCtx* const dctx = ZSTD_createDCtx();
165
- U32 nbBlocks;
166
-
167
- /* checks */
168
- if (!compressedBuffer || !resultBuffer || !blockTable || !ctx || !dctx)
169
- EXM_THROW(31, "allocation error : not enough memory");
170
-
171
- /* init */
172
- if (strlen(displayName)>17) displayName += strlen(displayName)-17; /* can only display 17 characters */
173
-
174
- /* Init blockTable data */
175
- { z_const char* srcPtr = (z_const char*)srcBuffer;
176
- char* cPtr = (char*)compressedBuffer;
177
- char* resPtr = (char*)resultBuffer;
178
- U32 fileNb;
179
- for (nbBlocks=0, fileNb=0; fileNb<nbFiles; fileNb++) {
180
- size_t remaining = fileSizes[fileNb];
181
- U32 const nbBlocksforThisFile = (U32)((remaining + (blockSize-1)) / blockSize);
182
- U32 const blockEnd = nbBlocks + nbBlocksforThisFile;
183
- for ( ; nbBlocks<blockEnd; nbBlocks++) {
184
- size_t const thisBlockSize = MIN(remaining, blockSize);
185
- blockTable[nbBlocks].srcPtr = srcPtr;
186
- blockTable[nbBlocks].cPtr = cPtr;
187
- blockTable[nbBlocks].resPtr = resPtr;
188
- blockTable[nbBlocks].srcSize = thisBlockSize;
189
- blockTable[nbBlocks].cRoom = ZSTD_compressBound(thisBlockSize);
190
- srcPtr += thisBlockSize;
191
- cPtr += blockTable[nbBlocks].cRoom;
192
- resPtr += thisBlockSize;
193
- remaining -= thisBlockSize;
194
- } } }
195
-
196
- /* warming up memory */
197
- RDG_genBuffer(compressedBuffer, maxCompressedSize, 0.10, 0.50, 1);
198
-
199
- /* Bench */
200
- { U64 fastestC = (U64)(-1LL), fastestD = (U64)(-1LL);
201
- U64 const crcOrig = XXH64(srcBuffer, srcSize, 0);
202
- UTIL_time_t coolTime;
203
- U64 const maxTime = (g_nbIterations * TIMELOOP_MICROSEC) + 100;
204
- U64 totalCTime=0, totalDTime=0;
205
- U32 cCompleted=0, dCompleted=0;
206
- # define NB_MARKS 4
207
- const char* const marks[NB_MARKS] = { " |", " /", " =", "\\" };
208
- U32 markNb = 0;
209
- size_t cSize = 0;
210
- double ratio = 0.;
211
-
212
- coolTime = UTIL_getTime();
213
- DISPLAYLEVEL(2, "\r%79s\r", "");
214
- while (!cCompleted | !dCompleted) {
215
- UTIL_time_t clockStart;
216
- U64 clockLoop = g_nbIterations ? TIMELOOP_MICROSEC : 1;
217
-
218
- /* overheat protection */
219
- if (UTIL_clockSpanMicro(coolTime) > ACTIVEPERIOD_MICROSEC) {
220
- DISPLAYLEVEL(2, "\rcooling down ... \r");
221
- UTIL_sleep(COOLPERIOD_SEC);
222
- coolTime = UTIL_getTime();
223
- }
224
-
225
- /* Compression */
226
- DISPLAYLEVEL(2, "%2s-%-17.17s :%10u ->\r", marks[markNb], displayName, (unsigned)srcSize);
227
- if (!cCompleted) memset(compressedBuffer, 0xE5, maxCompressedSize); /* warm up and erase result buffer */
228
-
229
- UTIL_sleepMilli(1); /* give processor time to other processes */
230
- UTIL_waitForNextTick();
231
- clockStart = UTIL_getTime();
232
-
233
- if (!cCompleted) { /* still some time to do compression tests */
234
- U32 nbLoops = 0;
235
- if (compressor == BMK_ZSTD) {
236
- ZSTD_parameters const zparams = ZSTD_getParams(cLevel, avgSize, dictBufferSize);
237
- ZSTD_customMem const cmem = { NULL, NULL, NULL };
238
- ZSTD_CDict* const cdict = ZSTD_createCDict_advanced(dictBuffer, dictBufferSize, ZSTD_dlm_byRef, ZSTD_dct_auto, zparams.cParams, cmem);
239
- if (cdict==NULL) EXM_THROW(1, "ZSTD_createCDict_advanced() allocation failure");
240
-
241
- do {
242
- U32 blockNb;
243
- size_t rSize;
244
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
245
- if (dictBufferSize) {
246
- rSize = ZSTD_compress_usingCDict(ctx,
247
- blockTable[blockNb].cPtr, blockTable[blockNb].cRoom,
248
- blockTable[blockNb].srcPtr,blockTable[blockNb].srcSize,
249
- cdict);
250
- } else {
251
- rSize = ZSTD_compressCCtx (ctx,
252
- blockTable[blockNb].cPtr, blockTable[blockNb].cRoom,
253
- blockTable[blockNb].srcPtr,blockTable[blockNb].srcSize, cLevel);
254
- }
255
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_compress_usingCDict() failed : %s", ZSTD_getErrorName(rSize));
256
- blockTable[blockNb].cSize = rSize;
257
- }
258
- nbLoops++;
259
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
260
- ZSTD_freeCDict(cdict);
261
- } else if (compressor == BMK_ZSTD_STREAM) {
262
- ZSTD_parameters const zparams = ZSTD_getParams(cLevel, avgSize, dictBufferSize);
263
- ZSTD_inBuffer inBuffer;
264
- ZSTD_outBuffer outBuffer;
265
- ZSTD_CStream* zbc = ZSTD_createCStream();
266
- size_t rSize;
267
- ZSTD_CCtx_params* cctxParams = ZSTD_createCCtxParams();
268
-
269
- if (!cctxParams) EXM_THROW(1, "ZSTD_createCCtxParams() allocation failure");
270
- if (zbc == NULL) EXM_THROW(1, "ZSTD_createCStream() allocation failure");
271
-
272
- { int initErr = 0;
273
- initErr |= ZSTD_isError(ZSTD_CCtx_reset(zbc, ZSTD_reset_session_only));
274
- initErr |= ZSTD_isError(ZSTD_CCtxParams_init_advanced(cctxParams, zparams));
275
- initErr |= ZSTD_isError(ZSTD_CCtx_setParametersUsingCCtxParams(zbc, cctxParams));
276
- initErr |= ZSTD_isError(ZSTD_CCtx_setPledgedSrcSize(zbc, avgSize));
277
- initErr |= ZSTD_isError(ZSTD_CCtx_loadDictionary(zbc, dictBuffer, dictBufferSize));
278
-
279
- ZSTD_freeCCtxParams(cctxParams);
280
- if (initErr) EXM_THROW(1, "CCtx init failed!");
281
- }
282
-
283
- do {
284
- U32 blockNb;
285
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
286
- rSize = ZSTD_CCtx_reset(zbc, ZSTD_reset_session_only);
287
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_CCtx_reset() failed : %s", ZSTD_getErrorName(rSize));
288
- rSize = ZSTD_CCtx_setPledgedSrcSize(zbc, blockTable[blockNb].srcSize);
289
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_CCtx_setPledgedSrcSize() failed : %s", ZSTD_getErrorName(rSize));
290
- inBuffer.src = blockTable[blockNb].srcPtr;
291
- inBuffer.size = blockTable[blockNb].srcSize;
292
- inBuffer.pos = 0;
293
- outBuffer.dst = blockTable[blockNb].cPtr;
294
- outBuffer.size = blockTable[blockNb].cRoom;
295
- outBuffer.pos = 0;
296
- rSize = ZSTD_compressStream(zbc, &outBuffer, &inBuffer);
297
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_compressStream() failed : %s", ZSTD_getErrorName(rSize));
298
- rSize = ZSTD_endStream(zbc, &outBuffer);
299
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_endStream() failed : %s", ZSTD_getErrorName(rSize));
300
- blockTable[blockNb].cSize = outBuffer.pos;
301
- }
302
- nbLoops++;
303
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
304
- ZSTD_freeCStream(zbc);
305
- } else if (compressor == BMK_ZWRAP_ZLIB_REUSE || compressor == BMK_ZWRAP_ZSTD_REUSE || compressor == BMK_ZLIB_REUSE) {
306
- z_stream def;
307
- int ret;
308
- int useSetDict = (dictBuffer != NULL);
309
- if (compressor == BMK_ZLIB_REUSE || compressor == BMK_ZWRAP_ZLIB_REUSE) ZWRAP_useZSTDcompression(0);
310
- else ZWRAP_useZSTDcompression(1);
311
- def.zalloc = Z_NULL;
312
- def.zfree = Z_NULL;
313
- def.opaque = Z_NULL;
314
- ret = deflateInit(&def, cLevel);
315
- if (ret != Z_OK) EXM_THROW(1, "deflateInit failure");
316
- /* if (ZWRAP_isUsingZSTDcompression()) {
317
- ret = ZWRAP_setPledgedSrcSize(&def, avgSize);
318
- if (ret != Z_OK) EXM_THROW(1, "ZWRAP_setPledgedSrcSize failure");
319
- } */
320
- do {
321
- U32 blockNb;
322
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
323
- if (ZWRAP_isUsingZSTDcompression())
324
- ret = ZWRAP_deflateReset_keepDict(&def); /* reuse dictionary to make compression faster */
325
- else
326
- ret = deflateReset(&def);
327
- if (ret != Z_OK) EXM_THROW(1, "deflateReset failure");
328
- if (useSetDict) {
329
- ret = deflateSetDictionary(&def, (const z_Bytef*)dictBuffer, dictBufferSize);
330
- if (ret != Z_OK) EXM_THROW(1, "deflateSetDictionary failure");
331
- if (ZWRAP_isUsingZSTDcompression()) useSetDict = 0; /* zstd doesn't require deflateSetDictionary after ZWRAP_deflateReset_keepDict */
332
- }
333
- def.next_in = (z_const z_Bytef*) blockTable[blockNb].srcPtr;
334
- def.avail_in = (uInt)blockTable[blockNb].srcSize;
335
- def.total_in = 0;
336
- def.next_out = (z_Bytef*) blockTable[blockNb].cPtr;
337
- def.avail_out = (uInt)blockTable[blockNb].cRoom;
338
- def.total_out = 0;
339
- ret = deflate(&def, Z_FINISH);
340
- if (ret != Z_STREAM_END) EXM_THROW(1, "deflate failure ret=%d srcSize=%d" , ret, (int)blockTable[blockNb].srcSize);
341
- blockTable[blockNb].cSize = def.total_out;
342
- }
343
- nbLoops++;
344
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
345
- ret = deflateEnd(&def);
346
- if (ret != Z_OK) EXM_THROW(1, "deflateEnd failure");
347
- } else {
348
- z_stream def;
349
- if (compressor == BMK_ZLIB || compressor == BMK_ZWRAP_ZLIB) ZWRAP_useZSTDcompression(0);
350
- else ZWRAP_useZSTDcompression(1);
351
- do {
352
- U32 blockNb;
353
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
354
- int ret;
355
- def.zalloc = Z_NULL;
356
- def.zfree = Z_NULL;
357
- def.opaque = Z_NULL;
358
- ret = deflateInit(&def, cLevel);
359
- if (ret != Z_OK) EXM_THROW(1, "deflateInit failure");
360
- if (dictBuffer) {
361
- ret = deflateSetDictionary(&def, (const z_Bytef*)dictBuffer, dictBufferSize);
362
- if (ret != Z_OK) EXM_THROW(1, "deflateSetDictionary failure");
363
- }
364
- def.next_in = (z_const z_Bytef*) blockTable[blockNb].srcPtr;
365
- def.avail_in = (uInt)blockTable[blockNb].srcSize;
366
- def.total_in = 0;
367
- def.next_out = (z_Bytef*) blockTable[blockNb].cPtr;
368
- def.avail_out = (uInt)blockTable[blockNb].cRoom;
369
- def.total_out = 0;
370
- ret = deflate(&def, Z_FINISH);
371
- if (ret != Z_STREAM_END) EXM_THROW(1, "deflate failure");
372
- ret = deflateEnd(&def);
373
- if (ret != Z_OK) EXM_THROW(1, "deflateEnd failure");
374
- blockTable[blockNb].cSize = def.total_out;
375
- }
376
- nbLoops++;
377
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
378
- }
379
- { U64 const clockSpan = UTIL_clockSpanMicro(clockStart);
380
- if (clockSpan < fastestC*nbLoops) fastestC = clockSpan / nbLoops;
381
- totalCTime += clockSpan;
382
- cCompleted = totalCTime>maxTime;
383
- } }
384
-
385
- cSize = 0;
386
- { U32 blockNb; for (blockNb=0; blockNb<nbBlocks; blockNb++) cSize += blockTable[blockNb].cSize; }
387
- ratio = (double)srcSize / (double)cSize;
388
- markNb = (markNb+1) % NB_MARKS;
389
- DISPLAYLEVEL(2, "%2s-%-17.17s :%10u ->%10u (%5.3f),%6.1f MB/s\r",
390
- marks[markNb], displayName, (unsigned)srcSize, (unsigned)cSize, ratio,
391
- (double)srcSize / (double)fastestC );
392
-
393
- (void)fastestD; (void)crcOrig; /* unused when decompression disabled */
394
- #if 1
395
- /* Decompression */
396
- if (!dCompleted) memset(resultBuffer, 0xD6, srcSize); /* warm result buffer */
397
-
398
- UTIL_sleepMilli(1); /* give processor time to other processes */
399
- UTIL_waitForNextTick();
400
- clockStart = UTIL_getTime();
401
-
402
- if (!dCompleted) {
403
- U32 nbLoops = 0;
404
- if (compressor == BMK_ZSTD) {
405
- ZSTD_DDict* ddict = ZSTD_createDDict(dictBuffer, dictBufferSize);
406
- if (!ddict) EXM_THROW(2, "ZSTD_createDDict() allocation failure");
407
- do {
408
- unsigned blockNb;
409
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
410
- size_t const regenSize = ZSTD_decompress_usingDDict(dctx,
411
- blockTable[blockNb].resPtr, blockTable[blockNb].srcSize,
412
- blockTable[blockNb].cPtr, blockTable[blockNb].cSize,
413
- ddict);
414
- if (ZSTD_isError(regenSize)) {
415
- DISPLAY("ZSTD_decompress_usingDDict() failed on block %u : %s \n",
416
- blockNb, ZSTD_getErrorName(regenSize));
417
- clockLoop = 0; /* force immediate test end */
418
- break;
419
- }
420
- blockTable[blockNb].resSize = regenSize;
421
- }
422
- nbLoops++;
423
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
424
- ZSTD_freeDDict(ddict);
425
- } else if (compressor == BMK_ZSTD_STREAM) {
426
- ZSTD_inBuffer inBuffer;
427
- ZSTD_outBuffer outBuffer;
428
- ZSTD_DStream* zbd = ZSTD_createDStream();
429
- size_t rSize;
430
- if (zbd == NULL) EXM_THROW(1, "ZSTD_createDStream() allocation failure");
431
- rSize = ZSTD_DCtx_reset(zbd, ZSTD_reset_session_only);
432
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_DCtx_reset() failed : %s", ZSTD_getErrorName(rSize));
433
- rSize = ZSTD_DCtx_loadDictionary(zbd, dictBuffer, dictBufferSize);
434
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_DCtx_loadDictionary() failed : %s", ZSTD_getErrorName(rSize));
435
- do {
436
- U32 blockNb;
437
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
438
- rSize = ZSTD_DCtx_reset(zbd, ZSTD_reset_session_only);
439
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_DCtx_reset() failed : %s", ZSTD_getErrorName(rSize));
440
- inBuffer.src = blockTable[blockNb].cPtr;
441
- inBuffer.size = blockTable[blockNb].cSize;
442
- inBuffer.pos = 0;
443
- outBuffer.dst = blockTable[blockNb].resPtr;
444
- outBuffer.size = blockTable[blockNb].srcSize;
445
- outBuffer.pos = 0;
446
- rSize = ZSTD_decompressStream(zbd, &outBuffer, &inBuffer);
447
- if (ZSTD_isError(rSize)) EXM_THROW(1, "ZSTD_decompressStream() failed : %s", ZSTD_getErrorName(rSize));
448
- blockTable[blockNb].resSize = outBuffer.pos;
449
- }
450
- nbLoops++;
451
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
452
- ZSTD_freeDStream(zbd);
453
- } else if (compressor == BMK_ZWRAP_ZLIB_REUSE || compressor == BMK_ZWRAP_ZSTD_REUSE || compressor == BMK_ZLIB_REUSE) {
454
- z_stream inf;
455
- int ret;
456
- if (compressor == BMK_ZLIB_REUSE) ZWRAP_setDecompressionType(ZWRAP_FORCE_ZLIB);
457
- else ZWRAP_setDecompressionType(ZWRAP_AUTO);
458
- inf.zalloc = Z_NULL;
459
- inf.zfree = Z_NULL;
460
- inf.opaque = Z_NULL;
461
- ret = inflateInit(&inf);
462
- if (ret != Z_OK) EXM_THROW(1, "inflateInit failure");
463
- do {
464
- U32 blockNb;
465
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
466
- if (ZWRAP_isUsingZSTDdecompression(&inf))
467
- ret = ZWRAP_inflateReset_keepDict(&inf); /* reuse dictionary to make decompression faster; inflate will return Z_NEED_DICT only for the first time */
468
- else
469
- ret = inflateReset(&inf);
470
- if (ret != Z_OK) EXM_THROW(1, "inflateReset failure");
471
- inf.next_in = (z_const z_Bytef*) blockTable[blockNb].cPtr;
472
- inf.avail_in = (uInt)blockTable[blockNb].cSize;
473
- inf.total_in = 0;
474
- inf.next_out = (z_Bytef*) blockTable[blockNb].resPtr;
475
- inf.avail_out = (uInt)blockTable[blockNb].srcSize;
476
- inf.total_out = 0;
477
- ret = inflate(&inf, Z_FINISH);
478
- if (ret == Z_NEED_DICT) {
479
- ret = inflateSetDictionary(&inf, (const z_Bytef*)dictBuffer, dictBufferSize);
480
- if (ret != Z_OK) EXM_THROW(1, "inflateSetDictionary failure");
481
- ret = inflate(&inf, Z_FINISH);
482
- }
483
- if (ret != Z_STREAM_END) EXM_THROW(1, "inflate failure");
484
- blockTable[blockNb].resSize = inf.total_out;
485
- }
486
- nbLoops++;
487
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
488
- ret = inflateEnd(&inf);
489
- if (ret != Z_OK) EXM_THROW(1, "inflateEnd failure");
490
- } else {
491
- z_stream inf;
492
- if (compressor == BMK_ZLIB) ZWRAP_setDecompressionType(ZWRAP_FORCE_ZLIB);
493
- else ZWRAP_setDecompressionType(ZWRAP_AUTO);
494
- do {
495
- U32 blockNb;
496
- for (blockNb=0; blockNb<nbBlocks; blockNb++) {
497
- int ret;
498
- inf.zalloc = Z_NULL;
499
- inf.zfree = Z_NULL;
500
- inf.opaque = Z_NULL;
501
- ret = inflateInit(&inf);
502
- if (ret != Z_OK) EXM_THROW(1, "inflateInit failure");
503
- inf.next_in = (z_const z_Bytef*) blockTable[blockNb].cPtr;
504
- inf.avail_in = (uInt)blockTable[blockNb].cSize;
505
- inf.total_in = 0;
506
- inf.next_out = (z_Bytef*) blockTable[blockNb].resPtr;
507
- inf.avail_out = (uInt)blockTable[blockNb].srcSize;
508
- inf.total_out = 0;
509
- ret = inflate(&inf, Z_FINISH);
510
- if (ret == Z_NEED_DICT) {
511
- ret = inflateSetDictionary(&inf, (const z_Bytef*) dictBuffer, dictBufferSize);
512
- if (ret != Z_OK) EXM_THROW(1, "inflateSetDictionary failure");
513
- ret = inflate(&inf, Z_FINISH);
514
- }
515
- if (ret != Z_STREAM_END) EXM_THROW(1, "inflate failure");
516
- ret = inflateEnd(&inf);
517
- if (ret != Z_OK) EXM_THROW(1, "inflateEnd failure");
518
- blockTable[blockNb].resSize = inf.total_out;
519
- }
520
- nbLoops++;
521
- } while (UTIL_clockSpanMicro(clockStart) < clockLoop);
522
- }
523
- { U64 const clockSpan = UTIL_clockSpanMicro(clockStart);
524
- if (clockSpan < fastestD*nbLoops) fastestD = clockSpan / nbLoops;
525
- totalDTime += clockSpan;
526
- dCompleted = totalDTime>maxTime;
527
- } }
528
-
529
- markNb = (markNb+1) % NB_MARKS;
530
- DISPLAYLEVEL(2, "%2s-%-17.17s :%10u ->%10u (%5.3f),%6.1f MB/s ,%6.1f MB/s\r",
531
- marks[markNb], displayName, (unsigned)srcSize, (unsigned)cSize, ratio,
532
- (double)srcSize / (double)fastestC,
533
- (double)srcSize / (double)fastestD );
534
-
535
- /* CRC Checking */
536
- { U64 const crcCheck = XXH64(resultBuffer, srcSize, 0);
537
- if (crcOrig!=crcCheck) {
538
- size_t u;
539
- DISPLAY("!!! WARNING !!! %14s : Invalid Checksum : %x != %x \n", displayName, (unsigned)crcOrig, (unsigned)crcCheck);
540
- for (u=0; u<srcSize; u++) {
541
- if (((const BYTE*)srcBuffer)[u] != ((const BYTE*)resultBuffer)[u]) {
542
- unsigned segNb, bNb, pos;
543
- size_t bacc = 0;
544
- DISPLAY("Decoding error at pos %u ", (unsigned)u);
545
- for (segNb = 0; segNb < nbBlocks; segNb++) {
546
- if (bacc + blockTable[segNb].srcSize > u) break;
547
- bacc += blockTable[segNb].srcSize;
548
- }
549
- pos = (U32)(u - bacc);
550
- bNb = pos / (128 KB);
551
- DISPLAY("(block %u, sub %u, pos %u) \n", segNb, bNb, pos);
552
- break;
553
- }
554
- if (u==srcSize-1) { /* should never happen */
555
- DISPLAY("no difference detected\n");
556
- } }
557
- break;
558
- } } /* CRC Checking */
559
- #endif
560
- } /* for (testNb = 1; testNb <= (g_nbIterations + !g_nbIterations); testNb++) */
561
-
562
- if (g_displayLevel == 1) {
563
- double cSpeed = (double)srcSize / (double)fastestC;
564
- double dSpeed = (double)srcSize / (double)fastestD;
565
- if (g_additionalParam)
566
- DISPLAY("-%-3i%11i (%5.3f) %6.2f MB/s %6.1f MB/s %s (param=%d)\n", cLevel, (int)cSize, ratio, cSpeed, dSpeed, displayName, g_additionalParam);
567
- else
568
- DISPLAY("-%-3i%11i (%5.3f) %6.2f MB/s %6.1f MB/s %s\n", cLevel, (int)cSize, ratio, cSpeed, dSpeed, displayName);
569
- }
570
- DISPLAYLEVEL(2, "%2i#\n", cLevel);
571
- } /* Bench */
572
-
573
- /* clean up */
574
- free(blockTable);
575
- free(compressedBuffer);
576
- free(resultBuffer);
577
- ZSTD_freeCCtx(ctx);
578
- ZSTD_freeDCtx(dctx);
579
- return 0;
580
- }
581
-
582
-
583
- static size_t BMK_findMaxMem(U64 requiredMem)
584
- {
585
- size_t const step = 64 MB;
586
- BYTE* testmem = NULL;
587
-
588
- requiredMem = (((requiredMem >> 26) + 1) << 26);
589
- requiredMem += step;
590
- if (requiredMem > maxMemory) requiredMem = maxMemory;
591
-
592
- do {
593
- testmem = (BYTE*)malloc((size_t)requiredMem);
594
- requiredMem -= step;
595
- } while (!testmem && requiredMem); /* do not allocate zero bytes */
596
-
597
- free(testmem);
598
- return (size_t)(requiredMem+1); /* avoid zero */
599
- }
600
-
601
- static void BMK_benchCLevel(void* srcBuffer, size_t benchedSize,
602
- const char* displayName, int cLevel, int cLevelLast,
603
- const size_t* fileSizes, unsigned nbFiles,
604
- const void* dictBuffer, size_t dictBufferSize)
605
- {
606
- int l;
607
-
608
- const char* pch = strrchr(displayName, '\\'); /* Windows */
609
- if (!pch) pch = strrchr(displayName, '/'); /* Linux */
610
- if (pch) displayName = pch+1;
611
-
612
- SET_REALTIME_PRIORITY;
613
-
614
- if (g_displayLevel == 1 && !g_additionalParam)
615
- DISPLAY("bench %s %s: input %u bytes, %u seconds, %u KB blocks\n",
616
- ZSTD_VERSION_STRING, ZSTD_GIT_COMMIT_STRING,
617
- (unsigned)benchedSize, g_nbIterations, (unsigned)(g_blockSize>>10));
618
-
619
- if (cLevelLast < cLevel) cLevelLast = cLevel;
620
-
621
- DISPLAY("benchmarking zstd %s (using ZSTD_CStream)\n", ZSTD_VERSION_STRING);
622
- for (l=cLevel; l <= cLevelLast; l++) {
623
- BMK_benchMem(srcBuffer, benchedSize,
624
- displayName, l,
625
- fileSizes, nbFiles,
626
- dictBuffer, dictBufferSize, BMK_ZSTD_STREAM);
627
- }
628
-
629
- DISPLAY("benchmarking zstd %s (using ZSTD_CCtx)\n", ZSTD_VERSION_STRING);
630
- for (l=cLevel; l <= cLevelLast; l++) {
631
- BMK_benchMem(srcBuffer, benchedSize,
632
- displayName, l,
633
- fileSizes, nbFiles,
634
- dictBuffer, dictBufferSize, BMK_ZSTD);
635
- }
636
-
637
- DISPLAY("benchmarking zstd %s (using zlibWrapper)\n", ZSTD_VERSION_STRING);
638
- for (l=cLevel; l <= cLevelLast; l++) {
639
- BMK_benchMem(srcBuffer, benchedSize,
640
- displayName, l,
641
- fileSizes, nbFiles,
642
- dictBuffer, dictBufferSize, BMK_ZWRAP_ZSTD_REUSE);
643
- }
644
-
645
- DISPLAY("benchmarking zstd %s (zlibWrapper not reusing a context)\n", ZSTD_VERSION_STRING);
646
- for (l=cLevel; l <= cLevelLast; l++) {
647
- BMK_benchMem(srcBuffer, benchedSize,
648
- displayName, l,
649
- fileSizes, nbFiles,
650
- dictBuffer, dictBufferSize, BMK_ZWRAP_ZSTD);
651
- }
652
-
653
-
654
- if (cLevelLast > Z_BEST_COMPRESSION) cLevelLast = Z_BEST_COMPRESSION;
655
-
656
- DISPLAY("\n");
657
- DISPLAY("benchmarking zlib %s\n", ZLIB_VERSION);
658
- for (l=cLevel; l <= cLevelLast; l++) {
659
- BMK_benchMem(srcBuffer, benchedSize,
660
- displayName, l,
661
- fileSizes, nbFiles,
662
- dictBuffer, dictBufferSize, BMK_ZLIB_REUSE);
663
- }
664
-
665
- DISPLAY("benchmarking zlib %s (zlib not reusing a context)\n", ZLIB_VERSION);
666
- for (l=cLevel; l <= cLevelLast; l++) {
667
- BMK_benchMem(srcBuffer, benchedSize,
668
- displayName, l,
669
- fileSizes, nbFiles,
670
- dictBuffer, dictBufferSize, BMK_ZLIB);
671
- }
672
-
673
- DISPLAY("benchmarking zlib %s (using zlibWrapper)\n", ZLIB_VERSION);
674
- for (l=cLevel; l <= cLevelLast; l++) {
675
- BMK_benchMem(srcBuffer, benchedSize,
676
- displayName, l,
677
- fileSizes, nbFiles,
678
- dictBuffer, dictBufferSize, BMK_ZWRAP_ZLIB_REUSE);
679
- }
680
-
681
- DISPLAY("benchmarking zlib %s (zlibWrapper not reusing a context)\n", ZLIB_VERSION);
682
- for (l=cLevel; l <= cLevelLast; l++) {
683
- BMK_benchMem(srcBuffer, benchedSize,
684
- displayName, l,
685
- fileSizes, nbFiles,
686
- dictBuffer, dictBufferSize, BMK_ZWRAP_ZLIB);
687
- }
688
- }
689
-
690
-
691
- /*! BMK_loadFiles() :
692
- Loads `buffer` with content of files listed within `fileNamesTable`.
693
- At most, fills `buffer` entirely */
694
- static void BMK_loadFiles(void* buffer, size_t bufferSize,
695
- size_t* fileSizes,
696
- const char** fileNamesTable, unsigned nbFiles)
697
- {
698
- size_t pos = 0, totalSize = 0;
699
- unsigned n;
700
- for (n=0; n<nbFiles; n++) {
701
- FILE* f;
702
- U64 fileSize = UTIL_getFileSize(fileNamesTable[n]);
703
- if (UTIL_isDirectory(fileNamesTable[n])) {
704
- DISPLAYLEVEL(2, "Ignoring %s directory... \n", fileNamesTable[n]);
705
- fileSizes[n] = 0;
706
- continue;
707
- }
708
- if (fileSize == UTIL_FILESIZE_UNKNOWN) {
709
- DISPLAYLEVEL(2, "Cannot determine size of %s ... \n", fileNamesTable[n]);
710
- fileSizes[n] = 0;
711
- continue;
712
- }
713
- f = fopen(fileNamesTable[n], "rb");
714
- if (f==NULL) EXM_THROW(10, "impossible to open file %s", fileNamesTable[n]);
715
- DISPLAYUPDATE(2, "Loading %s... \r", fileNamesTable[n]);
716
- if (fileSize > bufferSize-pos) fileSize = bufferSize-pos, nbFiles=n; /* buffer too small - stop after this file */
717
- { size_t const readSize = fread(((char*)buffer)+pos, 1, (size_t)fileSize, f);
718
- if (readSize != (size_t)fileSize) EXM_THROW(11, "could not read %s", fileNamesTable[n]);
719
- pos += readSize; }
720
- fileSizes[n] = (size_t)fileSize;
721
- totalSize += (size_t)fileSize;
722
- fclose(f);
723
- }
724
-
725
- if (totalSize == 0) EXM_THROW(12, "no data to bench");
726
- }
727
-
728
- static void BMK_benchFileTable(const char** fileNamesTable, unsigned nbFiles,
729
- const char* dictFileName, int cLevel, int cLevelLast)
730
- {
731
- void* srcBuffer;
732
- size_t benchedSize;
733
- void* dictBuffer = NULL;
734
- size_t dictBufferSize = 0;
735
- size_t* fileSizes = (size_t*)malloc(nbFiles * sizeof(size_t));
736
- U64 const totalSizeToLoad = UTIL_getTotalFileSize(fileNamesTable, nbFiles);
737
- char mfName[20] = {0};
738
-
739
- if (!fileSizes) EXM_THROW(12, "not enough memory for fileSizes");
740
-
741
- /* Load dictionary */
742
- if (dictFileName != NULL) {
743
- U64 const dictFileSize = UTIL_getFileSize(dictFileName);
744
- if (dictFileSize > 64 MB)
745
- EXM_THROW(10, "dictionary file %s too large", dictFileName);
746
- dictBufferSize = (size_t)dictFileSize;
747
- dictBuffer = malloc(dictBufferSize);
748
- if (dictBuffer==NULL)
749
- EXM_THROW(11, "not enough memory for dictionary (%u bytes)", (unsigned)dictBufferSize);
750
- BMK_loadFiles(dictBuffer, dictBufferSize, fileSizes, &dictFileName, 1);
751
- }
752
-
753
- /* Memory allocation & restrictions */
754
- benchedSize = BMK_findMaxMem(totalSizeToLoad * 3) / 3;
755
- if ((U64)benchedSize > totalSizeToLoad) benchedSize = (size_t)totalSizeToLoad;
756
- if (benchedSize < totalSizeToLoad)
757
- DISPLAY("Not enough memory; testing %u MB only...\n", (unsigned)(benchedSize >> 20));
758
- srcBuffer = malloc(benchedSize + !benchedSize);
759
- if (!srcBuffer) EXM_THROW(12, "not enough memory");
760
-
761
- /* Load input buffer */
762
- BMK_loadFiles(srcBuffer, benchedSize, fileSizes, fileNamesTable, nbFiles);
763
-
764
- /* Bench */
765
- snprintf (mfName, sizeof(mfName), " %u files", nbFiles);
766
- { const char* displayName = (nbFiles > 1) ? mfName : fileNamesTable[0];
767
- BMK_benchCLevel(srcBuffer, benchedSize,
768
- displayName, cLevel, cLevelLast,
769
- fileSizes, nbFiles,
770
- dictBuffer, dictBufferSize);
771
- }
772
-
773
- /* clean up */
774
- free(srcBuffer);
775
- free(dictBuffer);
776
- free(fileSizes);
777
- }
778
-
779
-
780
- static void BMK_syntheticTest(int cLevel, int cLevelLast, double compressibility)
781
- {
782
- char name[20] = {0};
783
- size_t benchedSize = 10000000;
784
- void* const srcBuffer = malloc(benchedSize);
785
-
786
- /* Memory allocation */
787
- if (!srcBuffer) EXM_THROW(21, "not enough memory");
788
-
789
- /* Fill input buffer */
790
- RDG_genBuffer(srcBuffer, benchedSize, compressibility, 0.0, 0);
791
-
792
- /* Bench */
793
- snprintf (name, sizeof(name), "Synthetic %2u%%", (unsigned)(compressibility*100));
794
- BMK_benchCLevel(srcBuffer, benchedSize, name, cLevel, cLevelLast, &benchedSize, 1, NULL, 0);
795
-
796
- /* clean up */
797
- free(srcBuffer);
798
- }
799
-
800
-
801
- static int BMK_benchFiles(const char** fileNamesTable, unsigned nbFiles,
802
- const char* dictFileName, int cLevel, int cLevelLast)
803
- {
804
- double const compressibility = (double)g_compressibilityDefault / 100;
805
-
806
- if (nbFiles == 0)
807
- BMK_syntheticTest(cLevel, cLevelLast, compressibility);
808
- else
809
- BMK_benchFileTable(fileNamesTable, nbFiles, dictFileName, cLevel, cLevelLast);
810
- return 0;
811
- }
812
-
813
-
814
-
815
-
816
- /*-************************************
817
- * Command Line
818
- **************************************/
819
- static int usage(const char* programName)
820
- {
821
- DISPLAY(WELCOME_MESSAGE);
822
- DISPLAY( "Usage :\n");
823
- DISPLAY( " %s [args] [FILE(s)] [-o file]\n", programName);
824
- DISPLAY( "\n");
825
- DISPLAY( "FILE : a filename\n");
826
- DISPLAY( " with no FILE, or when FILE is - , read standard input\n");
827
- DISPLAY( "Arguments :\n");
828
- DISPLAY( " -D file: use `file` as Dictionary \n");
829
- DISPLAY( " -h/-H : display help/long help and exit\n");
830
- DISPLAY( " -V : display Version number and exit\n");
831
- DISPLAY( " -v : verbose mode; specify multiple times to increase log level (default:%d)\n", DEFAULT_DISPLAY_LEVEL);
832
- DISPLAY( " -q : suppress warnings; specify twice to suppress errors too\n");
833
- #ifdef UTIL_HAS_CREATEFILELIST
834
- DISPLAY( " -r : operate recursively on directories\n");
835
- #endif
836
- DISPLAY( "\n");
837
- DISPLAY( "Benchmark arguments :\n");
838
- DISPLAY( " -b# : benchmark file(s), using # compression level (default : %d) \n", ZSTDCLI_CLEVEL_DEFAULT);
839
- DISPLAY( " -e# : test all compression levels from -bX to # (default: %d)\n", ZSTDCLI_CLEVEL_DEFAULT);
840
- DISPLAY( " -i# : minimum evaluation time in seconds (default : 3s)\n");
841
- DISPLAY( " -B# : cut file into independent chunks of size # (default: no chunking)\n");
842
- return 0;
843
- }
844
-
845
- static int badusage(const char* programName)
846
- {
847
- DISPLAYLEVEL(1, "Incorrect parameters\n");
848
- if (g_displayLevel >= 1) usage(programName);
849
- return 1;
850
- }
851
-
852
- static void waitEnter(void)
853
- {
854
- int unused;
855
- DISPLAY("Press enter to continue...\n");
856
- unused = getchar();
857
- (void)unused;
858
- }
859
-
860
- /*! readU32FromChar() :
861
- @return : unsigned integer value reach from input in `char` format
862
- Will also modify `*stringPtr`, advancing it to position where it stopped reading.
863
- Note : this function can overflow if digit string > MAX_UINT */
864
- static unsigned readU32FromChar(const char** stringPtr)
865
- {
866
- unsigned result = 0;
867
- while ((**stringPtr >='0') && (**stringPtr <='9'))
868
- result *= 10, result += (unsigned)(**stringPtr - '0'), (*stringPtr)++ ;
869
- return result;
870
- }
871
-
872
-
873
- #define CLEAN_RETURN(i) { operationResult = (i); goto _end; }
874
-
875
- int main(int argCount, char** argv)
876
- {
877
- int argNb,
878
- main_pause=0,
879
- nextEntryIsDictionary=0,
880
- operationResult=0,
881
- nextArgumentIsFile=0;
882
- int cLevel = ZSTDCLI_CLEVEL_DEFAULT;
883
- int cLevelLast = 1;
884
- unsigned recursive = 0;
885
- FileNamesTable* filenames = UTIL_allocateFileNamesTable((size_t)argCount);
886
- const char* programName = argv[0];
887
- const char* dictFileName = NULL;
888
- char* dynNameSpace = NULL;
889
-
890
- /* init */
891
- if (filenames==NULL) { DISPLAY("zstd: %s \n", strerror(errno)); exit(1); }
892
- displayOut = stderr;
893
-
894
- /* Pick out program name from path. Don't rely on stdlib because of conflicting behavior */
895
- { size_t pos;
896
- for (pos = strlen(programName); pos > 0; pos--) { if (programName[pos] == '/') { pos++; break; } }
897
- programName += pos;
898
- }
899
-
900
- /* command switches */
901
- for(argNb=1; argNb<argCount; argNb++) {
902
- const char* argument = argv[argNb];
903
- if(!argument) continue; /* Protection if argument empty */
904
-
905
- if (nextArgumentIsFile==0) {
906
-
907
- /* long commands (--long-word) */
908
- if (!strcmp(argument, "--")) { nextArgumentIsFile=1; continue; }
909
- if (!strcmp(argument, "--version")) { displayOut=stdout; DISPLAY(WELCOME_MESSAGE); CLEAN_RETURN(0); }
910
- if (!strcmp(argument, "--help")) { displayOut=stdout; CLEAN_RETURN(usage(programName)); }
911
- if (!strcmp(argument, "--verbose")) { g_displayLevel++; continue; }
912
- if (!strcmp(argument, "--quiet")) { g_displayLevel--; continue; }
913
-
914
- /* Decode commands (note : aggregated commands are allowed) */
915
- if (argument[0]=='-') {
916
- argument++;
917
-
918
- while (argument[0]!=0) {
919
- switch(argument[0])
920
- {
921
- /* Display help */
922
- case 'V': displayOut=stdout; DISPLAY(WELCOME_MESSAGE); CLEAN_RETURN(0); /* Version Only */
923
- case 'H':
924
- case 'h': displayOut=stdout; CLEAN_RETURN(usage(programName));
925
-
926
- /* Use file content as dictionary */
927
- case 'D': nextEntryIsDictionary = 1; argument++; break;
928
-
929
- /* Verbose mode */
930
- case 'v': g_displayLevel++; argument++; break;
931
-
932
- /* Quiet mode */
933
- case 'q': g_displayLevel--; argument++; break;
934
-
935
- #ifdef UTIL_HAS_CREATEFILELIST
936
- /* recursive */
937
- case 'r': recursive=1; argument++; break;
938
- #endif
939
-
940
- /* Benchmark */
941
- case 'b':
942
- /* first compression Level */
943
- argument++;
944
- cLevel = (int)readU32FromChar(&argument);
945
- break;
946
-
947
- /* range bench (benchmark only) */
948
- case 'e':
949
- /* last compression Level */
950
- argument++;
951
- cLevelLast = (int)readU32FromChar(&argument);
952
- break;
953
-
954
- /* Modify Nb Iterations (benchmark only) */
955
- case 'i':
956
- argument++;
957
- { U32 const iters = readU32FromChar(&argument);
958
- BMK_setNotificationLevel(g_displayLevel);
959
- BMK_SetNbIterations(iters);
960
- }
961
- break;
962
-
963
- /* cut input into blocks (benchmark only) */
964
- case 'B':
965
- argument++;
966
- { size_t bSize = readU32FromChar(&argument);
967
- if (toupper(*argument)=='K') bSize<<=10, argument++; /* allows using KB notation */
968
- if (toupper(*argument)=='M') bSize<<=20, argument++;
969
- if (toupper(*argument)=='B') argument++;
970
- BMK_setNotificationLevel(g_displayLevel);
971
- BMK_SetBlockSize(bSize);
972
- }
973
- break;
974
-
975
- /* Pause at the end (-p) or set an additional param (-p#) (hidden option) */
976
- case 'p': argument++;
977
- if ((*argument>='0') && (*argument<='9')) {
978
- BMK_setAdditionalParam((int)readU32FromChar(&argument));
979
- } else
980
- main_pause=1;
981
- break;
982
- /* unknown command */
983
- default : CLEAN_RETURN(badusage(programName));
984
- }
985
- }
986
- continue;
987
- } /* if (argument[0]=='-') */
988
-
989
- } /* if (nextArgumentIsAFile==0) */
990
-
991
- if (nextEntryIsDictionary) {
992
- nextEntryIsDictionary = 0;
993
- dictFileName = argument;
994
- continue;
995
- }
996
-
997
- /* add filename to list */
998
- UTIL_refFilename(filenames, argument);
999
- }
1000
-
1001
- /* Welcome message (if verbose) */
1002
- DISPLAYLEVEL(3, WELCOME_MESSAGE);
1003
-
1004
- #ifdef UTIL_HAS_CREATEFILELIST
1005
- if (recursive) {
1006
- UTIL_expandFNT(&filenames, 1);
1007
- }
1008
- #endif
1009
-
1010
- BMK_setNotificationLevel(g_displayLevel);
1011
- BMK_benchFiles(filenames->fileNames, (unsigned)filenames->tableSize, dictFileName, cLevel, cLevelLast);
1012
-
1013
- _end:
1014
- if (main_pause) waitEnter();
1015
- free(dynNameSpace);
1016
- UTIL_freeFileNamesTable(filenames);
1017
- return operationResult;
1018
- }