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)
**作者**
中国科学院信息工程研究所-张智皓
|