JustJIT

User Guide

  • Installation
    • Requirements
    • Installation from PyPI
    • Verify Installation
    • Building from Source
    • Platform-Specific Notes
      • Windows
      • macOS
      • Linux
  • Quick Start
    • Basic Usage
    • Choosing a Mode
      • Integer Mode
      • Float Mode
      • Auto Mode (Default)
    • Inspecting Generated IR
    • Optimization Levels
    • Loop Optimization
    • Generator Support
    • Async Function Support
    • Next Steps
  • Compilation Modes
    • Mode Summary
    • Object Mode (auto)
    • Integer Mode (int)
    • Float Mode (float)
    • Bool Mode (bool)
    • Complex128 Mode (complex128)
    • Complex64 Mode (complex64)
    • Pointer Mode (ptr)
    • Vec4f Mode (vec4f)
    • Vec8i Mode (vec8i)
    • Optional_f64 Mode (optional_f64)
    • Int32 and Float32 Modes
    • Choosing the Right Mode

Reference

  • API Reference
    • jit
      • jit()
    • dump_ir
      • dump_ir()
    • inline_c
      • inline_c()
    • dump_c_ir
      • dump_c_ir()
    • JIT Class
      • JIT
        • JIT.__init__()
        • JIT.set_opt_level()
        • JIT.get_opt_level()
        • JIT.set_dump_ir()
        • JIT.get_last_ir()
        • JIT.compile()
        • JIT.compile_int()
        • JIT.compile_float()
        • JIT.compile_bool()
        • JIT.compile_int32()
        • JIT.compile_float32()
        • JIT.compile_complex128()
        • JIT.compile_complex64()
        • JIT.compile_ptr()
        • JIT.compile_vec4f()
        • JIT.compile_vec8i()
        • JIT.compile_optional_f64()
        • JIT.compile_generator()
        • JIT.get_generator_callable()
        • JIT.get_callable()
    • Wrapper Function Attributes
      • _jit_instance
      • _original_func
      • _mode
      • _instructions
  • Performance
    • Benchmark Results
      • Simple Function Calls
      • Loop-Intensive Code
    • Why Loops Are Fast
    • When to Use JustJIT
    • Optimization Tips
      • Use Native Modes
      • Avoid Objects in Hot Loops
      • Batch Work Inside JIT Functions
    • Memory Layout
    • Compilation Time

Advanced

  • Inline C/C++ Compilation
    • Basic Usage
    • Supported Types
    • Using Standard Library Headers
    • Include Paths
    • C++ Support
    • Python Interop API
      • GIL Management
      • NumPy Buffer Access
      • Type Conversions
      • List/Dict/Tuple Operations
    • Debugging: Inspecting Generated IR
    • Error Handling
    • Platform Notes
      • Windows
      • Linux
      • macOS
    • Performance Tips
    • Example: High-Performance NumPy Operation
    • See Also
  • RAII Wrappers and C API
    • GIL Management
      • jit_gil_acquire()
      • jit_gil_release()
      • jit_gil_release_begin()
      • jit_gil_release_end()
    • Type Conversion
      • jit_py_to_long()
      • jit_py_to_double()
      • jit_py_to_string()
      • jit_long_to_py()
      • jit_double_to_py()
      • jit_string_to_py()
    • Buffer Access
      • jit_buffer_new()
      • jit_buffer_free()
      • jit_buffer_data()
      • jit_buffer_size()
    • Reference Counting
      • jit_incref()
      • jit_decref()
    • Calling Python Functions
      • jit_call1()
      • jit_call2()
      • jit_call3()
      • jit_call_method1()
    • Collection Operations
    • Type Checking
    • Constants
    • Error Handling
    • Complete Example
  • Internals
    • Source Code Overview
    • Architecture Overview
    • Python Layer (__init__.py)
      • The @jit Decorator
      • Bytecode Extraction
      • Exception Table Parsing
      • Generator/Coroutine Detection
      • The dump_ir Function
    • JITCore Class
      • Constructor Initialization
    • Compilation Pipeline
      • Object Mode (compile_function)
      • Native Mode Compilation
    • Type System
      • LLVM Type Mapping
    • Generator Compilation
      • JIT Generator Object
    • Python C API Integration
    • ABI Considerations
      • Windows x64 ABI
      • Callable Wrappers
    • LLVM Optimization
    • Supported Opcodes
    • Building from Source
  • Async and Generators
    • Overview
    • The Step Function
    • Stack Depth Simulation
    • How Yields Work
    • Example Generated IR
    • JITGeneratorObject
    • Async/Await Support
      • JITGetAwaitable Helper
      • Coroutine Object
    • Async Generators
      • Async Iteration Helpers
      • Async Generator Adapter
      • Usage Example
    • What’s Fully Supported
    • Partial Support
    • Performance Notes
  • Control Flow Graph
    • Why a CFG?
    • Data Structures
      • BasicBlockInfo
      • CFGStackState
    • Three-Phase Analysis
      • Phase 1: Find Block Starts
      • Phase 2: Build CFG Structure
      • Phase 3: Compute Stack Depths
    • Exception Handling
    • Pattern Matching
    • PHI Node Generation
    • Performance
    • Reference Counting in Generators
JustJIT
  • Search


© Copyright 2024, Magi-sharma.

Built with Sphinx using a theme provided by Read the Docs.