summaryrefslogtreecommitdiff
path: root/README.md
blob: 5dc4625a4209cfde237ee2e148e1426038630189 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
**HeavyKeeper.README**



**配置要求**

linux 5.15.0

cmake 3.16

**安装步骤**

git clone https://git.mesalab.cn/zhangzhihao/heavykeeper.git


**文件目录说明**

HeavyKeeper中存放算法实现,include中存放算法声明,tools中属于工具库。

filetree

HeavyKeeper
 
    ├── CMakeLists
    
    ├──cmsketch.cpp
    
    ├──CSS.cpp
    
    ├──heavykeeper.cpp
   
    ├──LossyCounting.cpp
      
    ├──spacesaving.cpp

include

    ├──cmsketch.h
    
    ├──CSS.h
      
    ├──heavykeeper.h
    
    ├──LossyCounting.h
   
    ├──spacesaving.h

init
   
    ├──BOBHash32.cpp
   
    ├──BOBHash32.h
   
    ├──BOBHash64.cpp

    ├──BOBHash64.h
   
    ├──params.h
   
    ├──ssummary.cpp

    ├──ssummary.h

dataset
    
    ├──2016.dat
   
    ├──2018.dat

├──main.cpp

├──CMakeLists.txt


**部署**

无


**如何运行**



注意,数据集在dataset中,切勿泄露!
2016年数据集的五元组是8字节,可以在main3中直接运行;2018年的数据集是18字节,其中包含13字节五元组和5字节时间戳,运行时需要把5字节时间戳删掉,以免影响精确度。

需要在main中修改数据集的存储位置



`cd heavykeeper` //进入文件夹


`mkdir build`//建立文件夹接收cmake生成的文件

`cd build` 

`cmake ..`

`make`//编译成可执行文件main

`./main` //执行

输入MEM和K,可输出五种代码的对比结果

ssummary.h是草图代码,在优化的HeavyKeeper中使用

BOBHash32和BOBHash64的功能可以从http://burtleburtle.net/bob/hash/evahash.html  获取

**版权说明**

该项目签署了MIT 授权许可,详情请参阅 [LICENSE.txt](https://git.mesalab.cn/zhangzhihao/heavykeeper/-/blob/main/LICENSE.txt)

**作者**

中国科学院信息工程研究所-张智皓