Comments (6)
I have a pretty good solution in mind for compression streams, but decompression may be a bit sketchy. I'll add this after ZIP support
from fflate.
Update, I've added support for synchronous duplex inflate streams, which I know is by far the hardest part. Performance could be better, so I'll work on that before adding asynchronous streams, deflate streams (very simple), and pushing the changes.
from fflate.
This would require a rewrite of a lot of the core functionality, so I'm not sure how feasible getting this done will be. However, I'll see what I can do.
from fflate.
After looking into this some more, there are two problems with this suggestion:
- The output is still stored in full in memory. Any memory savings are lost as a result.
- The synchronous access to the result means the decompression must be synchronous, losing any performance benefits.
However, I do plan to implement an asynchronous duplex-stream version of this.
from fflate.
Fixed performance! Main culprit was the new error-checking taking extra time, but instead of removing it I just optimized some other areas. I've also added synchronous deflate streams. I'm going to finish up by fixing the workers (i.e. adding async streams) and everything should be fine from there.
from fflate.
This issue is now fixed as of 575f8d6. Thanks for the feature request!
from fflate.
Related Issues (20)
- Compression Streams ponyfill for browser HOT 1
- Deflate/Inflate does not work with zlib/gzip c++ HOT 7
- Add Bzip2?
- Hangs on gunzipSync of compressed content with invalid dictionary HOT 3
- Option to shorten output as much as possible HOT 3
- Incorrect argument order in AsyncFlateStreamHandler HOT 5
- Truncated output of gunzip if SIZE footer is incorrect HOT 5
- return uncompressed size instead of resized output buffer HOT 4
- Improve zip documentation HOT 1
- The encoded data was not valid for encoding utf-8 HOT 1
- Streams onData do not work as expected anymore HOT 8
- CDN bundle for 0.8.1 is broken HOT 2
- Async unzip maxing out CPU and memory for some files HOT 3
- fflate.decompressSync is not a function when using `nifti-reader-js` (React) HOT 7
- Occasional CRC Errors When Streaming Data into Zip using AsyncZipDeflate HOT 7
- `zipSync` can get order of ZIP entries wrong, due to how objects work HOT 3
- delete the rust code
- The 2nd+ JPG images in a zip stream being created are corrupt for some reason? HOT 9
- `gunzipSync` failing (0 gzip length) on some npm package tarballs HOT 1
- Unexpected EOF when inflating ZIP HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fflate.