Letterpress cheating in Rust 1.6: How long has it been?!?
Posted on January 27, 2016
by Tommy McGuire
Has it been over a year since I ran these crappy benchmarks? Really?
I have upgraded all of the assorted toy Rust programs, my ports of Jeff Knupp's Creating and Optimizing a Letterpress Cheating Program in Python, to Rust 1.6.0. I also re-executed the notoriously crappy benchmarks.
Language | Program | Rust 0.6 Duration (seconds) | Rust 0.8 Duration (seconds) | Rust 0.9 Duration (seconds) | Rust 0.11 Duration (seconds) | Rust 1.6.0 Duration (seconds) |
---|---|---|---|---|---|---|
Python | alternatives/presser_one.py | 49.1 | 47.8 | 39.0 | 59.4 | 41.4 |
Python | alternatives/presser_two.py | 12.8 | 12.3 | 11.6 | 17.2 | 13.0 |
Nim | alternatives/nimrod_anagrams | 12.3 | 18.0 | 11.6 | ||
Rust | anagrams-hashmap-wide | 9.3 | 12.1 | 19.6 | 15.7 | 8.0 |
Rust | anagrams-vectors | 8.0 | 11.9 | 8.1 | 11.0 | 6.5 |
Rust | anagrams-vectors-wide | 11.8 | 12.2 | 16.8 | 12.4 | 6.1 |
C | alternatives/anagrams-vectors | 8.0 | 5.8 | 6.0 | 9.6 | 5.7 |
Python | alternatives/presser_three.py | 6.0 | 6.0 | 5.8 | 8.3 | 5.2 |
Rust | anagrams-vectors-tasks | 27.1 | 4.2 | 4.6 | 7.7 | 3.5 |
Rust | anagrams-hashmap | 6.0 | 7.2 | 7.0 | 9.3 | 3.2 |
Rust | anagrams-djbhash-tasks | 6.2 | 5.5 | 2.8 | ||
Rust | anagrams-djbhashmap | 2.8 | 2.5 | 2.2 | ||
Rust | anagrams-hashmap-mmap | 4.8 | 7.3 | 6.3 | 2.9 | 2.1 |
C | alternatives/anagrams-hash | 0.9 | 1.0 | 0.9 | 1.4 | 1.1 |
The programming languages and versions for this run are:
- Python: Python 2.7.9, with Python 2.7.3 through 2.7.6 for previous versions.
- C: gcc 4.9.2, with 4.6.3 through 4.8.2 for the prior runs, all with -O3.
- Nim: Nim 0.13.0, with Nimrod 0.9.2 and 0.9.4 on prior runs, compiled with -d:release.
- Rust: Rust 1.6.0, compiled with -O.