Coder Social home page Coder Social logo

ecoral360 / flyable Goto Github PK

View Code? Open in Web Editor NEW

This project forked from flyabledev/flyable

1.0 0.0 0.0 478.13 MB

Python compiler that massively increases Python's code performance without code changes.

License: GNU Affero General Public License v3.0

Python 3.70% C++ 77.62% C 18.13% CMake 0.02% Fortran 0.47% Shell 0.06%

flyable's Introduction

Flyable

License: AGPL v3 LLVM version Python version Discord Twitter Follow

A Python compiler for highly performant code.

Check the website for more information.

Introduction

Welcome to the official Flyable GitHub repository! πŸ˜ŠπŸŽ‰πŸ₯³

Flyable is a Python ahead-of-time compiler that generates optimized native code to decrease Python workloads.

Flyable works hand in hand with the interpreter in the sense that when Flyable can compile a function or method it does so and the interpreter executes that compiled function at runtime and otherwise Flyable lets the interpreter interpret this function or method.

Benchmarks

Detailed benchmarks to come soon! You can see previous benchmarks here.

Supported platforms

Flyable currently supports the following OS and architectures:

πŸͺŸ x86 instructions that run on Windows 64 bits.

🍎 ARM instructions that run on MacOS 64 bits.

🐧 x86 instructions that run on Linux 64 bits.

32 bits support isn’t planned in the near future.

Getting Started

All you will need is a working CPython installation (do not run Flyable inside a venv) and some Python code to compile. Clone the repository on your computer and you will be ready to start using Flyable! You can read the code in main.py to see an example of how to select the file to compile.

Related projects

See Quail: the unit testing utility for the Flyable compiler

How does it get faster ?

Flyable does multiple things to generate efficient code but most of the performance gains come from the following:

  • Native execution of the code
  • Static function dispatch (enabling direct call and efficient inlining)
  • Type tracking (When possible)
  • Function specialization depending on the signature but also on the usage

Roadmap

Our work is currently focused on integrating new optimizations and getting the compiler to support more syntactic features in order to increase the proportion of functions and methods that are compiled. πŸ›£οΈπŸš—

Contributions

If you want to participate and/or support the active development of Flyable:

Keep in touch

  • If you have any technical question, you can write a question on Stack Overflow.
  • Follow us on Twitter or LinkedIn.
  • Feel free to contact us on Discord or at [email protected] if you have any other concerns.

Licence

Flyable is licensed under the GNU Affero General Public License v3.0 .

Acknowledgments

πŸ‰ LLVM is one of the powerful optimizing machines running under the hood.

🐍 CPython is ubiquitous in this project.

πŸƒ GCC is linking everything tightly.

flyable's People

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.