LZ77压缩效果测试

LZ77压缩效果测试
    今天将我的VL_LZ77Stream修改成了可以设置窗口大小的压缩流。我用了一些文件进行压缩和对比。

    用于实验的文件一共有4个。
    1、Serialized.xml
    2、Executable.xml
    3、Test_Stream.cpp
    4、RegexDebugger.exe。这个程序可以在首页的GUI Preview Demo中找到。

    我在写unit test的同时,在测试里打印了一张尺寸文件:
 1  [尺寸记录]
 2  文件名:Serialized.xml
 3    压缩后文件名:Serialized.xml.lz77_128
 4    压缩前尺寸: 1246
 5    压缩后尺寸: 553
 6  文件名:Executable.xml
 7    压缩后文件名:Executable.xml.lz77_128
 8    压缩前尺寸: 20012
 9    压缩后尺寸: 6587
10  文件名:Test_Stream.cpp
11    压缩后文件名:Test_Stream.cpp.lz77_128
12    压缩前尺寸: 202258
13    压缩后尺寸: 57209
14  文件名:RegexDebugger.exe
15    压缩后文件名:RegexDebugger.exe.lz77_128
16    压缩前尺寸: 423936
17    压缩后尺寸: 319656
18  文件名:Serialized.xml
19    压缩后文件名:Serialized.xml.lz77_256
20    压缩前尺寸: 1246
21    压缩后尺寸: 531
22  文件名:Executable.xml
23    压缩后文件名:Executable.xml.lz77_256
24    压缩前尺寸: 20012
25    压缩后尺寸: 4797
26  文件名:Test_Stream.cpp
27    压缩后文件名:Test_Stream.cpp.lz77_256
28    压缩前尺寸: 202258
29    压缩后尺寸: 50789
30  文件名:RegexDebugger.exe
31    压缩后文件名:RegexDebugger.exe.lz77_256
32    压缩前尺寸: 423936
33    压缩后尺寸: 300732
34  文件名:Serialized.xml
35    压缩后文件名:Serialized.xml.lz77_512
36    压缩前尺寸: 1246
37    压缩后尺寸: 332
38  文件名:Executable.xml
39    压缩后文件名:Executable.xml.lz77_512
40    压缩前尺寸: 20012
41    压缩后尺寸: 4056
42  文件名:Test_Stream.cpp
43    压缩后文件名:Test_Stream.cpp.lz77_512
44    压缩前尺寸: 202258
45    压缩后尺寸: 46724
46  文件名:RegexDebugger.exe
47    压缩后文件名:RegexDebugger.exe.lz77_512
48    压缩前尺寸: 423936
49    压缩后尺寸: 295101
50  文件名:Serialized.xml
51    压缩后文件名:Serialized.xml.lz77_1024
52    压缩前尺寸: 1246
53    压缩后尺寸: 351
54  文件名:Executable.xml
55    压缩后文件名:Executable.xml.lz77_1024
56    压缩前尺寸: 20012
57    压缩后尺寸: 3727
58  文件名:Test_Stream.cpp
59    压缩后文件名:Test_Stream.cpp.lz77_1024
60    压缩前尺寸: 202258
61    压缩后尺寸: 39441
62  文件名:RegexDebugger.exe
63    压缩后文件名:RegexDebugger.exe.lz77_1024
64    压缩前尺寸: 423936
65    压缩后尺寸: 295676
66  文件名:Serialized.xml
67    压缩后文件名:Serialized.xml.lz77_2048
68    压缩前尺寸: 1246
69    压缩后尺寸: 349
70  文件名:Executable.xml
71    压缩后文件名:Executable.xml.lz77_2048
72    压缩前尺寸: 20012
73    压缩后尺寸: 3494
74  文件名:Test_Stream.cpp
75    压缩后文件名:Test_Stream.cpp.lz77_2048
76    压缩前尺寸: 202258
77    压缩后尺寸: 17248
78  文件名:RegexDebugger.exe
79    压缩后文件名:RegexDebugger.exe.lz77_2048
80    压缩前尺寸: 423936
81    压缩后尺寸: 300916

    下面是整理后的表格:(我发现如果没有写这句话,我那伟大的IE7会挂掉)
Size 128 256 512 1024 2048
Serialized.xml 1246 553 531 332 351 349
Executable.xml 20012 6587 4797 4056 3727 3494
Test_Stream.cpp 202258 57209 50789 46724 39441 17248
RegexDebugger.exe 423936 319656 300732 295101 295676 300916

    实验证明,如果文件内容多次重复且散布得广的话,那么窗口越大压缩比越高。

你可能感兴趣的:(LZ77压缩效果测试)