Comments (2)
pinging again @pierrec and @greatroar for thoughts. this is quite bad IMO.
Total: 1174.89s 1174.89s (flat, cum) 10.73%
31 . . // func decodeBlock(dst, src, dict []byte) int
32 . . TEXT ·decodeBlock(SB), NOFRAME+NOSPLIT, $0-80
[...]
183 . . copyMatchTry8:
184 . . // Copy doublewords if both len and offset are at least eight.
185 . . // A 16-at-a-time loop doesn't provide a further speedup.
186 30.24s 30.24s CMP $8, len
187 2.34s 2.34s CCMP HS, offset, $8, $0
188 250ms 250ms BLO copyMatchLoop1
189 . .
190 4.98s 4.98s AND $7, len, lenRem
191 9.83s 9.83s SUB $8, len
192 . . copyMatchLoop8:
193 3.85s 3.85s MOVD.P 8(match), tmp1
194 62.76s 62.76s MOVD.P tmp1, 8(dst)
195 2.55s 2.55s SUBS $8, len
196 1.93s 1.93s BPL copyMatchLoop8
197 . .
198 910ms 910ms MOVD (match)(len), tmp2 // match+len == match+lenRem-8.
199 24.24s 24.24s ADD lenRem, dst
200 60ms 60ms MOVD $0, len
201 440ms 440ms MOVD tmp2, -8(dst)
202 550ms 550ms B copyMatchDone
203 . .
204 . . copyMatchLoop1:
205 . . // Byte-at-a-time copy for small offsets.
206 132.84s 132.84s MOVBU.P 1(match), tmp2
207 177.05s 177.05s MOVB.P tmp2, 1(dst)
208 8.42s 8.42s SUBS $1, len
209 5.27s 5.27s BNE copyMatchLoop1
210 . .
211 . . copyMatchDone:
212 18.42s 18.42s CMP src, srcend
213 12.36s 12.36s BNE loop
from lz4.
Hi all, I know this is closed but some work over the holidays lead me to dig into this more and I wanted to get y'all thoughts on #215, directly relevant to this sort of unrolling. Thanks!
from lz4.
Related Issues (20)
- Write after Flush writes 0 bytes, no error because state is closed.
- Java compress data can not be decompress HOT 5
- lz4 reader read block until buf is full? HOT 5
- Data race when using concurrency > 1
- [RSVP] What is the source of xxh32zero.go? HOT 2
- lz4: invalid source or destination buffer too short HOT 3
- jsonlz4: lz4: invalid source or destination buffer too short HOT 1
- I got error 403 HOT 1
- avoid uncompressed duplicates in testdata to make module smaller
- commit bc1239b broke decompressing legacy-compressed bytes in normal mode HOT 1
- Dictionary support in compression HOT 1
- .unity3d lz4 compression and decompression HOT 1
- Invalid magic number when decompressing. Headers not added when compressing
- when i use lz4 compress and java use lz4 uncompress HOT 2
- Reader oriented encoder HOT 3
- CLI: Only compression level 0 supported, others give error "lz4: invalid compression level: 1" HOT 3
- Uncompressing quite slow in sparsely compressed data HOT 2
- Help decoding a lz4 block format HOT 4
- Slower than Snappy for smaller sizes. 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 lz4.