zip.js
DirectStorage
zip.js | DirectStorage | |
---|---|---|
5 | 18 | |
3,288 | 657 | |
- | 3.2% | |
9.1 | 4.5 | |
15 days ago | 5 months ago | |
JavaScript | C++ | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zip.js
-
Pigz: Parallel gzip for modern multi-processor, multi-core machines
Similarly, if people are interested, I have coded the possibility to compress zip files on several cores in zip.js [1]. The approach is simpler as it consists of compressing the entries in parallel. It still offers a significant performance gain though when compressing multiple files in a zip file, which is often the nominal case.
[1] https://github.com/gildas-lormeau/zip.js
-
Is there an online reader for books from Libgen?
This shouldn't be an issue. There are JS libraries that can decompress zip (e.g. https://gildas-lormeau.github.io/zip.js/). Nowadays even huge C/C++ codebases can be compiled into JS via Emscripten.
- [HELP] Create password protected ZIP with JavaScript Library
-
isoworker - universal multithreading with main-thread dependencies, 6kB
Well, you can build zip.js with fflate if you want to, see https://github.com/gildas-lormeau/zip.js/blob/master/rollup-fflate.config.js. I wasn't saying that zip.js is faster than fflate or any other library. I'm just saying it can compress files in parallel.
- Zip.js v2
DirectStorage
-
Game Ready & Studio Driver 535.98 FAQ/Discussion
I don't think the GPU decompression optimizations is in this driver. I updated and using the Bulk Loader Demo test I'm actually seeing lower throughput than before. I used to hit around 24-25GB a sec, now I'm only hitting like 21GB a sec. Although it's possible but I doubt it, it could be related to the Windows 11 March update reducing SSD bandwidth. I haven't run the test in months so it might be related.
-
Pigz: Parallel gzip for modern multi-processor, multi-core machines
The data is compressed with GDeflate, not deflate. The single stream is designed to use the parallelism of a GPU. It is described here:
https://github.com/microsoft/DirectStorage/blob/main/GDeflat...
The GPU decompression benchmark I linked earlier allows you to specify a single file that it will compress with GDeflate (and zlib for comparison). The numbers presented in the docs that come with the benchmark and presented elsewhere are consistent with my own runs using a source file that is highly compressible.
Part of the trick of achieving this speedup is to read the data fast enough. I don't know of any NVMe drive that can reach full speed with a queue depth of 1. While running the benchmark in a windows VM with a GPU passed through, on the linux host I observed that the average read size was about 512k and the queue depth was sometimes over 30.
-
From Project Management to Data Compression Innovator: Building LZ4, ZStandard, and Finite State Entropy Encoder
We already have GDeflate, with permissive sources available for both CPU compression/decompression and GPU decompression in the DirectStorage GitHub repo. I haven't personally played with it yet, but I'll be implementing it in a project I'm working on in the next few months and am pretty excited to do so.
-
[Digital Foundry] The Last of Us Part 1 PC vs PS5 - A Disappointing Port With Big Problems To Address
Wrong: https://github.com/microsoft/DirectStorage/blob/main/Docs/diagrams.mmd
-
DirectStorage Performance Compared: AMD vs Intel vs Nvidia
The github repo has some command line parameters.
- DirectStorage in Star Citizen after Gen12
-
Samsung 990 Pro tested with DirectStorage. The Samsung 990 Pro, like the Sabrent Rocket 4 Plus-G and WD SN850X, has gaming / DirectStorage optimizations.
Only the final test where the results of several SSDs are displayed in the graph is a synthetic one. The first two both support DirectStorage and are designed with Microsoft's recommendations for DirectStorage in mind. That is, random reads of 32k or greater block sizes with high queue depths. This is because you need a high queue depth to be able to saturate NVMe drives.
-
Valve Halves Steam Deck SSD Bandwidth on Some Models
For most it'll be a background element they're not aware of, if you're running up to date win10 onwards you have DS capabilities, you can get the sample from microsoft build it and run it fine.
- DirectStorage API for Windows
-
Looks like PS5 exclusive Returnal is headed to PC
Direct Storage github Samples: https://github.com/microsoft/DirectStorage
What are some alternatives?
JSZip - Create, read and edit .zip files with Javascript
Vortice.Windows - .NET bindings for Direct3D12, Direct3D11, WIC, Direct2D1, XInput, XAudio, X3DAudio, DXC, Direct3D9 and DirectInput.
fast-zlib - Shared context synchronous compression
rapidgzip - Gzip Decompression and Random Access for Modern Multi-Core Machines
yazl - yet another zip library for node
DirectX12GameEngine - DirectX 12 .NET game engine
text-generator - A naive text generator built in JavaScript using Markov chains.
display-drivers-uninstaller - Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility
tar-transform - extract, transform and re-pack tarball entries in form of stream with very simple api
X1nput - Xinput hook for Impulse Trigger emulation
tar-stream - tar-stream is a streaming tar parser and generator.
nvcomp - Repository for nvCOMP docs and examples. nvCOMP is a library for fast lossless compression/decompression on the GPU that can be downloaded from https://developer.nvidia.com/nvcomp.