divyang4481 / lz4

Automatically exported from code.google.com/p/lz4
0 stars 0 forks source link

Enhancement: Change "BYTE token" to unsigned #49

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
With Visual Studio 2012, changing "BYTE token" to "unsigned token" in 
"LZ4_uncompress" removes one byte=>dword instruction and makes the decompressor 
approx 2.5% faster in my benchmark.

Original issue reported on code.google.com by strig...@gmail.com on 5 Dec 2012 at 6:51

GoogleCodeExporter commented 9 years ago
Good point. I'll sure investigate it. Did you checked the assembler output ?

Original comment by yann.col...@gmail.com on 6 Dec 2012 at 12:54

GoogleCodeExporter commented 9 years ago
Yes, with Visual Studio the original code was:
mov al, [xxx]
movzx ??, al

while with my proposed change:
movzx ??,byte ptr [xxx]

Original comment by strig...@gmail.com on 6 Dec 2012 at 1:08

GoogleCodeExporter commented 9 years ago
Enhancement request.

Original comment by yann.col...@gmail.com on 6 Dec 2012 at 1:33

GoogleCodeExporter commented 9 years ago
Confirmed decompression speed gain of 2.5%, using VS2008 on a Core i5 with 
Windows 7 64bits. Quite impressive for such a small change. 
Also, successfully pass non-regression tests.

Original comment by yann.col...@gmail.com on 7 Dec 2012 at 9:26

GoogleCodeExporter commented 9 years ago
The following is a proposed LZ4 release candidate r85
which concentrates on decoding speed improvements.
It integrates propositions 49, 50 and 54.
55 doesn't provide any benefit.

I would like to publish it, so that next release can concentrate on pointer 
validation issues (51 & 52).

Original comment by yann.col...@gmail.com on 9 Dec 2012 at 11:43

Attachments:

GoogleCodeExporter commented 9 years ago
Enhancement integrated into r85.

Original comment by yann.col...@gmail.com on 11 Dec 2012 at 1:41