cannoli
pymartini
cannoli | pymartini | |
---|---|---|
1 | 1 | |
771 | 76 | |
- | - | |
10.0 | 0.0 | |
over 5 years ago | over 1 year ago | |
Rust | Python | |
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.
cannoli
-
Modern Python Performance Considerations
This is a great read, and it's fantastic to see all the work being done to evaluate and improve the language!
Shameless plug alert: the dynamic-nature of the language is actually something that I had studied a few years back [1]. Particularly the variable and object attribute look ups! My work was just a master's thesis, so we didn't go too deep into more tricky dynamic aspects of the language (e.g. eval, which we restricted entirely). But we did see performance improvements by restricting the language in certain ways that aid in static analysis, which allowed for more performant runtime code. But for those interested, the abstract of my thesis [2] gives more insight into what we were evaluating.
Our results showed that restricting dynamic code (code that is constructed at run time from other source code) and dynamic objects (mutation of the structure of classes and objects at run time) significantly improved the performance of our benchmarks.
[1]: https://github.com/joncatanio/cannoli
[2]: https://digitalcommons.calpoly.edu/theses/1886/
pymartini
-
Modern Python Performance Considerations
They can! Numpy exposes a C API to other Python programs [0]. It's not hard to write a Cython library that uses the Numpy C API directly and does not cross into Python [1].
[0]: https://numpy.org/doc/stable/reference/c-api/index.html
[1]: https://github.com/kylebarron/pymartini/blob/4774549ffa2051c...
What are some alternatives?
modin - Modin: Scale your Pandas workflows by changing a single line of code
pydantic-core - Core validation logic for pydantic written in rust
uvloop - Ultra fast asyncio event loop.
femtolisp - a lightweight, robust, scheme-like lisp implementation
yaegi - Yaegi is Another Elegant Go Interpreter
polars - Dataframes powered by a multithreaded, vectorized query engine, written in Rust