-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* convert license from MIT to AGPL-3.0-or-later (#21) Now that I've started working, I've very quickly started to see and recognize the value of having implementations of novel algorithms have strong copyleft licenses. Let's quantify this with a couple numbers, shall we? Let's say my salary is $150k for an junior position at FAAAN. Let's then say that I work 8 hours a day, five days a week, 52 weeks a year. That's 2,080 hours of work a year, at $72.12 an hour. cht is 2745 source lines of code at the time of writing. If a professional developer can write 50 lines of code a day, it would take them 54.9 days to reproduce cht. 54.9 days is 439.2 hours of work time, which is $31,675.10 of junior developer time. In other words, if your company wants to save $31,675.10 dollars by using my code instead of writing it yourself: please open source your work. * Remove unnecessary benchmarks and dependencies (#22) * remove benchmarks These naive benchmarks are kind of useless compared to a proper benchmarking harness like [bustle]. I recommend you look into something more comprehensive (like bustle!) if you are looking at benchmarks. [bustle]: https://github.com/jonhoo/bustle * remove dependency on aHash I don't think there is a particularly good reason to use aHash by default when the standard library provides a perfectly serviceable hashing function on its own. If you are tuning for performance, I think you would use something like [xxh3], [wyhash], or [aHash] anyways, and you're probably going to explicitly specify it too so I don't swipe it out from underneath you (like I'm doing right now!). [xxh3]: https://github.com/Cyan4973/xxHash [wyhash]: https://github.com/wangyi-fudan/wyhash [aHash]: https://github.com/tkaitchuck/ahash * bump num_cpus from 1.12.0 to 1.13.0 * Remove SegmentedHashMap (#25) The segmented hash map doesn't **actually** benchmark faster... why would anybody use it? Also, I would like to not have to maintain the code. This is especially troublesome given that, after checking my commit history, it appears that I maintain this repository about once a year. * update to Rust 2021, bump dependencies (#26) * Update year of AGPL 3.0 license headers (#27) * Bump version to 0.5.0
- Loading branch information
1 parent
b7770a0
commit 89fa285
Showing
13 changed files
with
770 additions
and
1,571 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,12 @@ | ||
[package] | ||
name = "cht" | ||
version = "0.4.1" | ||
version = "0.5.0" | ||
authors = ["Gregory Meyer <[email protected]>"] | ||
edition = "2018" | ||
edition = "2021" | ||
description = "Lockfree resizeable concurrent hash table." | ||
repository = "https://github.com/Gregory-Meyer/cht" | ||
readme = "README.md" | ||
license = "MIT" | ||
|
||
[features] | ||
default = ["num-cpus"] | ||
num-cpus = ["num_cpus"] | ||
license = "AGPL-3.0-or-later" | ||
|
||
[dependencies] | ||
ahash = "^0.3.2" | ||
crossbeam-epoch = "^0.8.2" | ||
num_cpus = { version = "^1.12.0", optional = true } | ||
|
||
[dev-dependencies] | ||
criterion = "^0.3.1" | ||
hashbrown = "^0.7.0" | ||
lock_api = "^0.3.3" | ||
num_cpus = "^1.12.0" | ||
parking_lot = "^0.10.0" | ||
|
||
[[bench]] | ||
name = "cht" | ||
harness = false | ||
|
||
[[bench]] | ||
name = "mutex" | ||
harness = false | ||
crossbeam-epoch = "0.9" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.