2019-11-14 16:43:07 -05:00
|
|
|
[package]
|
|
|
|
name = "tamer"
|
|
|
|
version = "0.0.0"
|
|
|
|
authors = ["Mike Gerwitz <mike.gerwitz@ryansg.com>"]
|
2019-11-27 13:47:42 -05:00
|
|
|
description="TAME in Rust"
|
2019-11-14 16:43:07 -05:00
|
|
|
license="GPLv3+"
|
|
|
|
edition = "2018"
|
|
|
|
|
2019-11-27 09:17:27 -05:00
|
|
|
[profile.dev]
|
|
|
|
# Release-level optimizations. Spending the extra couple of moments
|
|
|
|
# compile-time is well worth the huge savings we get at runtime. Note that
|
|
|
|
# this is still every so slightly slower than a release build; see other
|
|
|
|
# profile options for release at
|
|
|
|
# <https://doc.rust-lang.org/cargo/reference/manifest.html>.
|
|
|
|
opt-level = 3
|
2019-11-14 16:43:07 -05:00
|
|
|
|
2019-12-03 12:17:44 -05:00
|
|
|
[profile.release]
|
|
|
|
lto = true
|
|
|
|
|
2019-12-04 09:57:08 -05:00
|
|
|
[profile.bench]
|
|
|
|
# We want our benchmarks to be representative of how well TAME will perform
|
|
|
|
# in a release.
|
|
|
|
lto = true
|
|
|
|
|
2020-03-04 15:31:20 -05:00
|
|
|
[dev-dependencies]
|
|
|
|
assert_cmd = "0.10"
|
|
|
|
predicates = "1"
|
|
|
|
|
2019-11-14 16:43:07 -05:00
|
|
|
[dependencies]
|
2019-12-23 23:26:42 -05:00
|
|
|
bumpalo = ">= 2.6.0"
|
|
|
|
# used by petgraph
|
|
|
|
fixedbitset = ">= 0.1"
|
tamer::sym: FNV => Fx Hash
For strings of any notable length, Fx Hash outperforms FNV. Rustc also
moved to this hash function and noticed performance
improvements. Fortunately, as was accounted for in the design, this was a
trivial switch.
Here are some benchmarks to back up that claim:
test hash_set::fnv::with_all_new_1000 ... bench: 133,096 ns/iter (+/- 1,430)
test hash_set::fnv::with_all_new_1000_with_capacity ... bench: 82,591 ns/iter (+/- 592)
test hash_set::fnv::with_all_new_rc_str_1000_baseline ... bench: 162,073 ns/iter (+/- 1,277)
test hash_set::fnv::with_one_new_1000 ... bench: 37,334 ns/iter (+/- 256)
test hash_set::fnv::with_one_new_rc_str_1000_baseline ... bench: 18,263 ns/iter (+/- 261)
test hash_set::fx::with_all_new_1000 ... bench: 85,217 ns/iter (+/- 1,111)
test hash_set::fx::with_all_new_1000_with_capacity ... bench: 59,383 ns/iter (+/- 752)
test hash_set::fx::with_all_new_rc_str_1000_baseline ... bench: 98,802 ns/iter (+/- 1,117)
test hash_set::fx::with_one_new_1000 ... bench: 42,484 ns/iter (+/- 1,239)
test hash_set::fx::with_one_new_rc_str_1000_baseline ... bench: 15,000 ns/iter (+/- 233)
test hash_set::with_all_new_1000 ... bench: 137,645 ns/iter (+/- 1,186)
test hash_set::with_all_new_rc_str_1000_baseline ... bench: 163,129 ns/iter (+/- 1,725)
test hash_set::with_one_new_1000 ... bench: 59,051 ns/iter (+/- 1,202)
test hash_set::with_one_new_rc_str_1000_baseline ... bench: 37,986 ns/iter (+/- 771)
2019-12-10 15:32:25 -05:00
|
|
|
fxhash = ">= 0.2.1"
|
2019-11-27 13:48:00 -05:00
|
|
|
petgraph = ">= 0.4.13"
|
2019-12-06 15:03:29 -05:00
|
|
|
quick-xml = ">= 0.17.0"
|
2020-03-04 15:31:20 -05:00
|
|
|
getopts = "0.2"
|
|
|
|
exitcode = "1.1.2"
|
|
|
|
|