Hope: High-Speed Order-Preserving Encoder

栏目: IT技术 · 发布时间: 5年前

内容简介:HOPEis a fast dictionary-based compressor that encodes arbitrary byte-strings while preserving their order. It is optimized for compressing database index keys. Detailed description can be found in ourA simple example can be foundWe included a sample of th

High-speed Order-Preserving Encoder (HOPE)

HOPEis a fast dictionary-based compressor that encodes arbitrary byte-strings while preserving their order. It is optimized for compressing database index keys. Detailed description can be found in our SIGMOD paper .

Install Dependencies

sudo apt-get install build-essential cmake libgtest.dev
cd /usr/src/gtest
sudo cmake CMakeLists.txt
sudo make
sudo cp *.a /usr/lib

Build

mkdir build
cd build
cmake ..
make -j

Usage Example

A simple example can be found here . To run the example:

cd build
./example

Unit Tests

make test

Benchmark

./scripts/run_experiment.sh [OPTION]

We included a sample of the Wiki and URL datasets in this repository. To reproduce the results in our paper, please download the full datasets (download links are in the paper) to replace the samples. Our Email dataset is private. You need to provide your own email list (email.txt) to run the corresponding experiments. Below are options to facilitate running a subset of the full benchmark:

Options
  -r, --repeat_times=N
    Run each experiment N times and report the average measurements. Default: 1.
  --email, --wiki, --url
    Run the benchmark using the Email/Wiki/URL dataset.
    If unspecified, the scripts includes the Wiki and URL experiments.
  --alldatasets
    Include benchmarks for all three datasets.
  --alm
    Include the alm-based encoders. The other encoders (Single, Double, 3-gram, 4-gram) are enabled by default.
  --surf, --art, --hot, --btree, --prefixbtree
    Run the SuRF/ART/HOT/B+tree/prefix B+tree benchmark suite.
  --all
    Run the full benchmark. If unspecified, the script only runs the microbenchmarks for Wiki and URL.

The above script will record benchmark measurements under "results/". The master plotting script is under "scripts/". The individual scripts are under "plots/". Generated figures will be under "figures/". Make sure you run the benchmark with the --alm option on before using the plotting scripts.

License

Copyright 2020, Carnegie Mellon University

Licensed under the Apache License 2.0 .


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

持续交付

持续交付

Jez Humble、David Farley / 乔梁 / 人民邮电出版社 / 2011-10 / 89.00元

Jez Humble编著的《持续交付(发布可靠软件的系统方法)》讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。《持续交付(发布可靠软件的系统方法)》由三部分组成。第一部分阐述了持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。第三部分围绕部署流水线的投入产出讨......一起来看看 《持续交付》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具