今天将我的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 |
实验证明,如果文件内容多次重复且散布得广的话,那么窗口越大压缩比越高。
posted on 2009-01-06 08:36
陈梓瀚(vczh) 阅读(2260)
评论(1) 编辑 收藏 引用 所属分类:
C++