faster-cpython
xxHash
Our great sponsors
faster-cpython | xxHash | |
---|---|---|
20 | 28 | |
937 | 8,462 | |
- | - | |
0.0 | 8.4 | |
over 1 year ago | 8 days ago | |
C | ||
- | 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.
faster-cpython
-
Faster CPython at PyCon, part two
It is unclear to me whether Python 3.12 will receive significant improvements. Based on the information from https://github.com/faster-cpython/benchmarking-public, it appears that there may be a 2% performance enhancement. Is this the anticipated result, or are there additional developments awaiting merger?
Initially, the "Shannon Plan" (https://github.com/markshannon/faster-cpython/blob/master/pl...) aimed for a 50% improvement with each release. Has this goal been deemed unattainable, or are there adjustments being made to the plan?
-
Python-based compiler achieves orders-of-magnitude speedups
Yes, that's the JIT part of the plan. Sections of code will be compiled, "at runtime". Those sections of compiled code will be tied together with interpreted code. It will be somewhere between rare to impossible to have a fully compiled program, without interpreter glue.
- Faster-Cpython Plan.md
-
A Team at Microsoft is Helping Make Python Faster
see: https://github.com/markshannon/faster-cpython/blob/master/plan.md
- Implementation plan for speeding up CPython
-
Does Python plan to add JIT or get rid of the GIL?
Yes, the Shannon plan, which is actively being worked on by a team headed by Guido, includes JIT work in stages 3 and 4
-
Python 3.11 is 25% faster than 3.10 on average
The goal with faster cpython is for small compounding improvements with each point release[0]. So in the end it should be much more than a tiny improvement.
[0] https://github.com/markshannon/faster-cpython/blob/master/pl...
-
Python 3.11 Performance Benchmarks Are Looking Fantastic
The Shannon Plan. Announced by Guido at the 2021 Python Language summit, funded by Microsoft.
Well, good news then, it's in the planning!
- Why hasn't Python compiled/JIT/AHT projects gained mainstream traction?
xxHash
-
The One Billion Row Challenge in CUDA: from 17 minutes to 17 seconds
> GPU Hash Table?
How bad would performance have suffered if you sha256'd the lines to build the map? I'm going to guess "badly"?
Maybe something like this in CUDA: https://github.com/Cyan4973/xxHash ?
- ETag and HTTP Caching
-
Day 64: Implementing a basic Bloom Filter Using Java BitSet api
Examples of fast, simple hashes that are independent enough includes murmur, xxHash, Fowler–Noll–Vo hash function and many others
- Closed-addressing hashtables implementation
-
NIST Retires SHA-1 Cryptographic Algorithm
If you're only using the hash for non-cryptographic applications, there are much faster hashes: https://github.com/Cyan4973/xxHash
-
Does the checksum algorithm crc32c-intel support AMD Ryzen series 3000 or newer?
I found the benchmark result of AMD ryzen 5950X
-
[Study Project] A memory-optimized JSON data structure
But what's the catch, you're thinking ? Well, it is a bit slower than its counterparts when it comes to deserializing (and marginally faster for serializing). To achieve smaller footprint, it uses a few tricks and notably a custom hash table to deduplicate strings. This comes at a cost of course (even when featuring xxHash to speed things up), but keeps the slowdown reasonable (I think).
-
What do you typically use for non-cryptographic hash functions?
Non cryptographic hashes has collisions, for example, assume you having content like "abcdefg" which hashed value is "123", in case of weak hash algorithm some other content like "abcdefZ" can also have a hash "123" which basically means such hash function is failed to be unique fingerprint of particular content. BLAKE3 for example can do 6-7Gb/s which make it pretty fast and secure. If your requirement accepts collision with defined error rate, I would advise you to take a look at XXH3 if you need very snappy hash algorithm, which can run at pace or RAM access (30GB/s+), but again, run tests at particular equipment you targeting, may be AES hardware accelerated MeowHash will serve you better.
- C++ gonna die😥
- rsync, article 3: How does rsync work?
What are some alternatives?
cinder - Cinder is Meta's internal performance-oriented production version of CPython.
BLAKE3 - the official Rust and C implementations of the BLAKE3 cryptographic hash function
pyenv-virtualenv - a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)
meow_hash - Official version of the Meow hash, an extremely fast level 1 hash
ideas
xxh - 🚀 Bring your favorite shell wherever you go through the ssh. Xonsh shell, fish, zsh, osquery and so on.
jax-md - Differentiable, Hardware Accelerated, Molecular Dynamics [Moved to: https://github.com/jax-md/jax-md]
blake3 - An AVX-512 accelerated implementation of the BLAKE3 cryptographic hash function
Pyston - A faster and highly-compatible implementation of the Python programming language.
smhasher - Hash function quality and speed tests
chruby - Changes the current Ruby
swift-crypto - Open-source implementation of a substantial portion of the API of Apple CryptoKit suitable for use on Linux platforms.