Programming-Language-Benchmarks
weave
Our great sponsors
Programming-Language-Benchmarks | weave | |
---|---|---|
19 | 7 | |
590 | 517 | |
- | - | |
5.3 | 3.0 | |
29 days ago | 4 months ago | |
C# | Nim | |
MIT License | GNU General Public License v3.0 or later |
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.
Programming-Language-Benchmarks
-
A Comprehensive Introduction to Golang
The benchmark available at https://programming-language-benchmarks.vercel.app/ demonstrates that Golang stands out as one of the most memory-efficient languages presently available. This achievement is attributable to several inherent features of Golang, such as its static typing, robust garbage collection system, and the inherent structuring of data within the language. These traits collectively contribute to Golang's exceptional efficiency in terms of minimal memory consumption compared to other languages.
- Rust vs Zig Benchmarks
-
Ask HN: What are some of the most elegant codebases in your favorite language?
I found Zig implementation of json parsing is interesting. The code is free from hidden control flow !.
https://github.com/hanabi1224/Programming-Language-Benchmark...
-
why does this while loop run instantly
I think https://programming-language-benchmarks.vercel.app/ is a good starting point to compare languages and compilers, also implementations are optimized for the specific language so you don't end up with a poorly ported c++ implementation in rust and wonder why it performs so bad.
- Why did tiger beetle choose zig over rust?
-
How fast is JIT compiled Lua/JavaScript compared to static compiled C++ and Rust measured in runtime?
It varies a lot depending on what the code consists of, but if you want concrete numbers for certain benchmarks, this site might be of interest: https://programming-language-benchmarks.vercel.app/
-
Speed Comparisons: JavaScript vs Python vs C vs Rust
There is not "one real" benchmark. In the end, all you can do is test languages for a specific feature / purpose. You can see how many different suggestions people have here, and here (I think) you can see the difficulties of comparing languages. That site uses quite a lot of algorithms / problems with multiple inputs, single and multithreaded, with different optimization flags (where applicable) and so on paired with different languages, and it's a mess. Sometimes one language is on top, sometimes another. (I mean, python will very rarely beat pure C, but I wont rule out that someone already created an edge case just to refute exactly this point)
- how to benchmark a programming language
- The original computer languages benchmark is back
-
Comparing Elixir with Rust and Go
Hello, World!: Elixir vs. Go vs. Rust
weave
- The GIL can now be disabled in Python's main branch
-
Maybe Everything Is a Coroutine
GPU drivers provide an event system:
-
Benchmarking 20 programming languages on N-queens and matrix multiplication
```
Note: the Theoretical peak limit is hardcoded and used my previous machine i9-9980XE.
It maybe that your BLAS library is not named libopenblas.so, you can change that here: https://github.com/mratsim/laser/blob/master/benchmarks/thir...
Implementation is in this folder: https://github.com/mratsim/laser/tree/master/laser/primitive...
in particular, tiling, cache and register optimization: https://github.com/mratsim/laser/blob/master/laser/primitive...
AVX512 code generator: https://github.com/mratsim/laser/blob/master/laser/primitive...
And generic Scalar/SSE/AVX/AVX2/AVX512 microkernel generator (this is Nim macros to generate code at compile-time): https://github.com/mratsim/laser/blob/master/laser/primitive...
I'll come back later with details on how to use my custom HPC threadpool Weave instead of OpenMP (https://github.com/mratsim/weave/tree/master/benchmarks/matm...)
-
Nim vs Rust Benchmarks
In my benchmarks, Nim is faster than Rust:
- multithreading runtime (i.e Rayon vs Weave https://github.com/mratsim/weave)
- Cryptography: https://hackmd.io/@gnark/eccbench#Pairing
- Scientific computing / matrix multiplication: https://github.com/bluss/matrixmultiply/issues/34#issuecomme...
There is no inherent reason why a Nim program would be slower than Rust.
-
Aren't green threads just better than async/await?
If you're interested into diving into this I have reviewed solutions to cactus stacks / split stacks here https://github.com/mratsim/weave/blob/master/weave/memory/multithreaded_memory_management.md
-
Nim 2.0 – Thoughts
[4] https://github.com/mratsim/weave
What are some alternatives?
Programming-Language-Benchmark
eioio - Effects-based direct-style IO for multicore OCaml
svix-webhooks - The enterprise-ready webhooks service 🦀
httpbeast - A highly performant, multi-threaded HTTP 1.1 server written in Nim.
rust-csharp-ffi - An example Rust + C# hybrid application
matrixmultiply - General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides.
Game-Of-Life-Implementations - Conway's Game of Life implementation in various languages
Edith - Electronic Design in Swithft
sb-simd - A convenient SIMD interface for SBCL.
ocaml-multicore - Multicore OCaml
lish - Lisp Shell
cosmopolitan - build-once run-anywhere c library