
This isn't the place for ads for commercial products.
On 7 Sep 2019, at 22:19, Mark @pysoniq <mark@pysoniq.com> wrote:
Hello to the list,
I have an idea for Python that is non-traditional in that it doesn’t extend or modify existing Python language structure.
The idea uses Python to translate Python, entirely under program control, directly to optimized assembly language .dll or .so files, called “extensions.”
Extensions are called from Python using Python’s ctypes interface. The ctypes wrapper for each extension is created automatically.
The goal of this idea is for Python to perform as fast or faster than C or C++, without leaving Python.
Details:
1. Large project – now 23,556 lines of Python.
2. Evolved from a project that automatically translated APL to assembly language dlls -- more than 30,000 hours of development in APL and assembly language.
3. Solves the tremendous problem of coding assembly by hand.
4. Point-and-click interface.
5. Ahead-of-time compilation.
6. Python translated directly to assembly language – no third-party compiler (GCC, LLVM, Clang, etc.) or intermediate representation.
7. Advanced assembly language optimizations: registers, SIMD, multicore, loop fusion, loop unrolling, etc., custom-fitted to Python.
8. No Global Interpreter Lock issues – ctypes releases the GIL. Extensions have full use of all threads and cores.
9. NumPy and SciPy functions, as well as Python built-in functions and built-in library functions, translated directly to optimized assembly language to avoid expensive Python callbacks.
10. Memory safe:
a. controls buffer access and frees every memory pointer when the extension returns from assembly to Python
b. handles bounds checking on variables and arrays passed into the extension by ctypes
c. extensions will not encounter errors such as buffer overflows, buffer over-reads, or memory race conditions
d. handles recursive programs with its own stack, thus avoiding stack exhaustion for recursive programs
More details at https://PysoniQ.com:
A video demonstration
Try out the point-and-click interface at the “Try PysoniQ” link
A detailed Project Overview
Technical FAQs
Blog and speed metric links for deeper analysis of the technologies
Downloadable PDFs – see the Resources link
Any comments from the Python community on this project would be most appreciated!
Thank you.
Mark mark@pysoniq.com _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-leave@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/H43LXL... Code of Conduct: http://python.org/psf/codeofconduct/