Inflight Documentation

Supported Runtimes

Inflight is designed to be runtime-agnostic, supporting multiple programming languages and runtime environments. Each runtime has specific optimizations tailored to its characteristics.

Six Runtimes, One Platform

Full optimization support across the most popular runtime environments:

Java
Supported
🐹
Go
Supported
🦀
Rust
Supported
🔷
.NET
Supported
🐍
Python
Supported
💜
Elixir
Supported

Optimization Details

Each runtime has tailored optimization recommendations based on its unique characteristics:

Java

Full support for JVM-based applications including memory management, garbage collection tuning, and thread optimization.

Optimization Areas

Memory Management
  • Heap size optimization (-Xms, -Xmx)
  • Metaspace configuration
  • Direct memory tuning
  • Memory pool optimization
Garbage Collection
  • GC algorithm selection (G1, ZGC, Shenandoah)
  • GC tuning parameters
  • Pause time optimization
  • Throughput vs latency tradeoffs
Threading
  • Thread pool sizing
  • Parallel GC threads
  • Concurrent GC threads
  • JIT compilation threads
JIT Optimization
  • Tiered compilation settings
  • Code cache sizing
  • Inline thresholds
  • Compiler directives
🐹

Go

Comprehensive support for Go applications including garbage collection, memory allocation, and concurrency optimization.

Optimization Areas

Garbage Collection
  • GOGC percentage tuning
  • GC target percentage
  • Memory limit configuration
  • GC pacing optimization
Memory
  • GOMEMLIMIT configuration
  • Stack size optimization
  • Heap profiling guidance
  • Memory ballast strategies
Concurrency
  • GOMAXPROCS optimization
  • Goroutine pool sizing
  • Channel buffer optimization
  • Lock contention analysis
Runtime
  • Debug settings optimization
  • Trace configuration
  • CPU profiling guidance
  • Block profiling setup
🦀

Rust

Performance optimization for Rust applications including memory allocation patterns, async runtime tuning, and build configuration.

Optimization Areas

Memory Allocation
  • Custom allocator selection
  • Arena allocation strategies
  • Memory layout optimization
  • Cache-friendly data structures
Async Runtime
  • Async runtime worker thread sizing
  • Runtime flavor selection
  • Task scheduling optimization
  • Blocking thread pool configuration
Concurrency
  • Thread pool configuration
  • Data parallelism tuning
  • Channel sizing recommendations
  • Lock-free structure guidance
Build Optimization
  • Release profile settings
  • LTO configuration
  • Codegen units tuning
  • Target-specific optimization
🔷

.NET

CLR optimization for .NET applications including garbage collection modes, JIT compilation, and threading configuration.

Optimization Areas

Garbage Collection
  • GC mode selection (Workstation/Server)
  • Heap generation sizing
  • LOH threshold configuration
  • Background GC optimization
Memory Management
  • Heap configuration
  • Memory limit settings
  • GC regions optimization
  • Native memory tracking
JIT Compilation
  • Tiered compilation settings
  • Ready-to-run optimization
  • Dynamic PGO configuration
  • Crossgen2 guidance
Threading
  • Thread pool tuning
  • IO completion ports sizing
  • Timer resolution optimization
  • Async/await best practices
🐍

Python

Performance optimization for Python applications including GIL considerations, memory management, and multiprocessing guidance.

Optimization Areas

Memory Management
  • Object allocation tuning
  • GC threshold optimization
  • Memory pool configuration
  • Reference counting optimization
Concurrency
  • Multiprocessing pool sizing
  • AsyncIO event loop tuning
  • Thread pool executor configuration
  • GIL contention mitigation
Runtime Optimization
  • Interpreter optimization flags
  • Bytecode optimization
  • Import optimization
  • Startup time reduction
C Extension
  • Native extension optimization
  • Scientific computing library tuning
  • Native compilation guidance
  • Buffer protocol optimization
💜

Elixir

BEAM VM optimization for Elixir applications including scheduler tuning, process management, and memory configuration.

Optimization Areas

Scheduler
  • Scheduler thread count
  • Dirty scheduler configuration
  • Scheduler bind type
  • Load balancing optimization
Memory
  • Process heap sizing
  • Binary heap configuration
  • ETS table optimization
  • Garbage collection tuning
Process Management
  • Process limit configuration
  • Port limit tuning
  • Atom limit optimization
  • Message queue management
Distribution
  • Distribution buffer sizing
  • Connection management
  • Node communication tuning
  • Cluster optimization

Coming Soon

We're actively working on support for additional runtimes:

💚

Node.js

Coming Soon

V8 engine optimization for Node.js applications including memory management and event loop tuning.

Planned Features

  • V8 heap configuration
  • Memory limits
  • UV thread pool sizing
  • Garbage collection flags

Why Runtime-Agnostic?

Modern applications are polyglot. A single product might use Java for backend services, Go for infrastructure tooling, Python for data processing, and Elixir for real-time features. Inflight understands this reality.

Unified View

See optimization opportunities across all your runtimes in one dashboard, regardless of the underlying technology.

Consistent Process

The same workflow applies whether you're tuning JVM garbage collection, Go memory limits, or BEAM schedulers.

Future-Proof

As your technology stack evolves, Inflight grows with you. No need to switch tools when adopting new languages.

Team Efficiency

One platform for all your teams means consistent best practices and shared learnings across the organization.

Need Another Runtime?

If your team uses a runtime not listed here, let us know. We prioritize new runtime support based on customer demand.

Contact us at [email protected] to request support for your runtime.