Giter Club home page Giter Club logo

awesome-jit's Introduction

Awesome-JIT

Table of Contents

Libraries

Help you implement JIT

  • AsmJit - Complete x86/x64 JIT and Remote Assembler for C++
  • DynASM
  • LibJIT
  • LLVM - MCJIT
  • GCC - libgccjit
  • GNU lightning - a library that generates assembly language code at run-time
  • Xbyak - JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
  • sljit - a stack-less platform independent JIT compiler
  • QBE - written in C, similar to LLVM but much smaller
  • MIR - a new JIT backend in C being developed by a Redhat GCC maintainer
  • NanoJIT - a small JIT engine originally written by Adobe for Flash
  • nj - a JIT engine written in C++ based on Eclipse OMR. Eclipse OMR is used in IBM's Java implementation, but the JIT engine is generic

Comes with JIT support

  • Python
    • Numba - NumPy aware dynamic Python compiler using LLVM

Programming Languages Implementation

  • Julia
  • Python
    • PyPy
    • Pyston - performance-oriented Python implementation built using LLVM and modern JIT techniques
    • Pyjion - JIT for Python based upon CoreCLR
  • Lua
    • LuaJIT
    • MoonJIT - Just-In-Time Compiler for the Lua Programming language. Fork of LuaJIT to continue development
    • Ravi - a derivative/dialect of Lua 5.3 with limited optional static typing and an LLVM powered JIT compiler
    • RaptorJIT - a fork of LuaJIT focused on predictably high performance.
  • JavaScript
  • PHP
  • Ruby
  • Lisp
  • Smalltalk
  • Prolog
  • Racket
  • Java
  • Erlang
    • BEAMJIT
  • WebAssembly
  • LLVM IR
    • Sulong - an interpreter for LLVM IR written in Java using the Truffle language implementation framework and Graal as a just-in-time (JIT) compiler
  • SOM (Simple Object Machine)
    • RPySOM - The Simple Object Machine Smalltalk implemented in RPython
    • RTruffleSOM - combining ideas from Truffle and TruffleSOM with RPython's metatracing
  • .NET
  • ZetaVM
  • Ethereum

Bindings

  • llvmlite - A lightweight LLVM python binding for writing JIT compilers
  • pygccjit - Python bindings for libgccjit

Tools

  • jitpy - Library to embed PyPy into CPython
  • RPython Toolchain - framework for producing implementations of dynamic languages
  • Truffle - Language Implementation Framework
  • JITWatch - Log analyser and visualiser for the HotSpot JIT compiler

Papers

JIT in Database

Resources

Twitter

awesome-jit's People

Contributors

wdv4758h avatar dibyendumajumdar avatar zakkak avatar girish946 avatar

Watchers

James Cloos avatar  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.