Comments (6)
Does this bug mean that FSE is not ready for use in a production environment? @Cyan4973 Do you think that 512 bytes should always be enough for the encoded bit stream, and if not, what it should be?
from finitestateentropy.
It's a bit early to call FSE "production ready", although that's the plan, and we are slowly getting there. My intention is to move away from "beta status" by the end of the year.
As a sidenote, FSE is getting some good testing through its usage within Zhuff, with several million files correctly compressed/decompressed so far.
(see : https://groups.google.com/forum/#!topic/lz4c/OmA_uSnaO3Q)
Do you think that 512 bytes should always be enough for the encoded bit stream, and if not, what it should be?
If you mean "enough for the header", yes that's what I initially thought.
Unfortunately, Artem tests prove that there is some kind of expansion I've not correctly estimated.
That's something I intent to sort out and correct within the month.
As a sidenote, the issue is only visible when compressing "very" large blocks (such as quite a few megabytes), which is not recommended : in most circumstances, it's much better to compress smaller blocks (such as, typically, 64KB), to ensure proper entropy local adaptation, hence better overall compression ratio.
from finitestateentropy.
Thank you, Yann, for your prompt response! This sounds great. Depending on how my compression experiments go this week, we may end up using FSE in our compressed mesh file format. Our largest blocks are 256 KiB. I'll let you know if we encounter any problems!
from finitestateentropy.
Latest beta solves this issue.
16fc2e3
Max inflation has been evaluated at 0.45%, plus header.
FSE_compressBound() is a bit of an over-evaluation currently, but it needs to be simple and fast, and it is safer for this function to over-evaluate a bit, rather than under-evaluate as it did up to now; resulting in memory errors.
from finitestateentropy.
Thank you!
from finitestateentropy.
Committed to master
from finitestateentropy.
Related Issues (20)
- resync with changes from zstd HOT 2
- Crash when FSE_MAX_MEMORY_USAGE 13 HOT 6
- benchmark mode claims a decompression error on this data w/huf HOT 5
- question: FSE doesn't always compress better than huf - expected? HOT 2
- how to start? and how to use the Huffman codec?
- a step in normalization of count HOT 2
- How should we understand this function ‘FSE_normalizeM2’? HOT 2
- Why Huffman code in reverse order? HOT 2
- FSEU16_MAX_MEMORY_USAGE is defined at fseU16.c not a fseU16.h
- FSE performance optimizations HOT 3
- Negative index into stateTable? HOT 1
- FSE_isError and FSE_getErrorName HOT 1
- Inconsistencies in stream format HOT 1
- Decoding error : Destination buffer is too small HOT 2
- huff0 with > 256 symbols HOT 7
- Error 39 : Decoding error : Destination buffer is too small HOT 1
- FSE_compress returns 0 even when maxDstSize is still equal to or slightly larger than final compression size HOT 3
- Corrupted block detected error reported in -hb mode HOT 3
- NULL pointer dereference in BIT_reloadDStream() HOT 7
- FSE_compressU16() computes clipped data if dstCapacity different HOT 1
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 finitestateentropy.