This commit is contained in:
Ishan Jain 2024-01-11 03:14:45 +05:30
parent bc9a4a739b
commit 4e77979e85
Signed by: ishan
GPG Key ID: 0506DB2A1CC75C27
3 changed files with 19 additions and 2 deletions

16
Cargo.lock generated
View File

@ -2,6 +2,12 @@
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3 version = 3
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]] [[package]]
name = "crossbeam-deque" name = "crossbeam-deque"
version = "0.8.5" version = "0.8.5"
@ -33,10 +39,20 @@ version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "fxhash"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
dependencies = [
"byteorder",
]
[[package]] [[package]]
name = "onebrc" name = "onebrc"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"fxhash",
"rayon", "rayon",
] ]

View File

@ -6,4 +6,5 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
fxhash = "0.2.1"
rayon = "1.8.0" rayon = "1.8.0"

View File

@ -1,10 +1,10 @@
use std::collections::HashMap; use fxhash::FxHashMap;
use std::fs::File; use std::fs::File;
use std::io::Read; use std::io::Read;
use std::time::Instant; use std::time::Instant;
fn main() { fn main() {
let mut map = HashMap::new(); let mut map = FxHashMap::default();
let mut buf = Vec::new(); let mut buf = Vec::new();
let t1 = Instant::now(); let t1 = Instant::now();