countwords
countwords
Our great sponsors
countwords | countwords | |
---|---|---|
43 | 5 | |
209 | 4 | |
- | - | |
5.9 | 2.6 | |
about 2 years ago | 6 months ago | |
Rust | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
countwords
-
How fast is really ASP.NET Core?
"dang, I didn't know that was 50x faster than the idiomatic way" or "hey, I didn't know that this implementation in the stdlib prioritized this over that and made this so slow, that's interesting" -- .e.g, there's some kinda neat language details to be found in something like Ben Hoyt's community word count benchmarks repo and 'simple' vs 'optimal' code: https://github.com/benhoyt/countwords
-
Correct name for word matching problem
It benchmarks programs that count the total number of unique words in some input. It's not exactly equivalent to your problem, but it's similarish. All of the programs used some kind of hash map for lookups, but I contributed a program that used a trie. Its performance in my experience varies depending on the CPU interestingly enough. On my old CPU (i7-6900K) it was a little slower, but on my new cpu (i9-12900KS) it was faster.
-
Performance comparison: counting words in Python, C/C++, Awk, Rust, and more
Why not read the source code? :-)
I wrote comments explaining things: https://github.com/benhoyt/countwords/blob/8553c8f600c40a462...
-
do you guys prefer functional programming style when using rust?
My own code example of a drastic speed up (~25%) simply replacing a couple of for loops with iters: https://github.com/benhoyt/countwords/pull/115
- Ripen scripting engine (Similar to RetroForth, but tiny)
- Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust
-
The difference between Go and Rust
And yet Go was faster than Rust in a simple app that count words: https://benhoyt.com/writings/count-words/
-
How to Rapidly Improve at Any Programming Language
> but the performance profiles & characteristics that we must know about in order to make a choice on which tool to use. And it shouldn't be that each user has to figure it out on their own, dig into PR's or whatever.
That's an interesting take – I like the idea of a catalog of standard tasks with implementations in several languages as well as their performance characteristics. I suppose Rosetta Code gets the ball rolling with this, but it's missing some performance metrics. It reminds me of [Ben Hoyt's piece](https://benhoyt.com/writings/count-words/) on counting unique words in the KJV Bible in different languages.
-
Faster string keyed maps in Go
This article shows that map lookups can be optimized by using the (unintuitive) pattern:
- Go beats out several top languages including Rust in this performance matchup
countwords
- Are there benchmark results of current Forth implementations (interpreted & compiled)?
-
Open any file as bytes
See an example: https://github.com/kimono-koans/countwords/blob/master/rust/fast-simple/main.rs
-
I/O is no longer the bottleneck
this is truly 1978 all over again. No flame graphs, no hardware counters no bottleneck analysis. Using these 'optimizations' for job interviews is questionable at best.
[1] https://benhoyt.com/writings/count-words/
-
Correct name for word matching problem
This might actually be interesting to you: https://benhoyt.com/writings/count-words/
-
Performance comparison: counting words in Python, C/C++, Awk, Rust, and more
In case anyone is interested, I did an optimized, but much more simple, Rust implementation just today[0], which is faster than the optimized implementation on my machine. No indexing into arrays of bytes, etc., no "code golf" measures.
Looks like idiomatic Rust, which I think is interesting. Shows there is more than one way to skin a cat.
[0]: https://github.com/kimono-koans/countwords/blob/master/rust/...
What are some alternatives?
CPython - The Python programming language
gccontent-benchmark - Benchmarking different languages for a simple bioinformatics task (Counting the GC fraction of DNA in a FASTA file)
coreutils - upstream mirror
countwords - Playing with counting word frequencies (and performance) in various languages.
llfio - P1031 low level file i/o and filesystem library for the C++ standard
robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
parallel-hashmap - A family of header-only, very fast and memory-friendly hashmap and btree containers.
huniq - Filter out duplicates on the command line. Replacement for `sort | uniq` optimized for speed (10x faster) when sorting is not needed.
securitytxt.org - Static website for security.txt.
countwords - Playing with counting word frequencies (and performance) in various languages.
leocad - A CAD application for creating virtual LEGO models
fast-sqlite3-inserts - Some bunch of test scripts to generate a SQLite DB with 1B rows in fastest possible way