Mercurial > lbo > hg > leveldb-rs
view examples/write-a-lot/src/main.rs @ 541:18b686c68c1f
Update skipmap.rs
solve overflowed its stack
author | sonyshang <shangsong@buaa.edu.cn> |
---|---|
date | Thu, 02 Sep 2021 13:51:40 +0800 |
parents | 697925eecf6c |
children | 63b1f80e40d5 |
line wrap: on
line source
extern crate rand; extern crate rusty_leveldb; use rand::Rng; use rusty_leveldb::CompressionType; use rusty_leveldb::Options; use rusty_leveldb::DB; use std::error::Error; use std::iter::FromIterator; const KEY_LEN: usize = 16; const VAL_LEN: usize = 48; fn gen_string(len: usize) -> String { let mut rng = rand::thread_rng(); String::from_iter(rng.gen_ascii_chars().take(len)) } fn fill_db(db: &mut DB, entries: usize) -> Result<(), Box<dyn Error>> { for i in 0..entries { let (k, v) = (gen_string(KEY_LEN), gen_string(VAL_LEN)); db.put(k.as_bytes(), v.as_bytes())?; if i % 100 == 0 { db.flush()?; } } Ok(()) } fn main() { let mut opt = Options::default(); opt.compression_type = CompressionType::CompressionSnappy; let mut db = DB::open("test1", opt).unwrap(); fill_db(&mut db, 32768).unwrap(); }