Skip to main content
Ghostty is built for speed. It uses GPU acceleration for rendering, dedicated IO threading, and careful optimizations to deliver one of the fastest terminal emulator experiences available.

Performance Highlights

GPU Acceleration

Metal on macOS, OpenGL on Linux for hardware-accelerated rendering

Dedicated IO Thread

Low-jitter IO processing for smooth heavy output

Ligature Support

Metal renderer supports ligatures at 60fps - the only terminal with this capability on macOS

Competitive Speed

2-4x faster than iTerm and Kitty for large file operations

Rendering Architecture

Multi-Renderer Design

Ghostty uses different rendering backends optimized for each platform:
Metal renderer provides native GPU acceleration:
  • Direct Metal API usage (no OpenGL compatibility layer)
  • Full ligature support at 60fps+
  • CoreText font integration
  • Maintains ~60fps under heavy load
Ghostty is one of only two terminal emulators using Metal directly, and the only one supporting ligatures with Metal rendering.

Frame Rate Management

Ghostty intelligently manages frame rates:
  • Heavy load: Maintains ~60fps
  • Idle: Renders only on change (power efficient)
  • Animation: Smooth cursor blink and visual effects

IO Performance

Dedicated IO Thread

Ghostty uses a separate thread for IO operations:
Benefits:
  • Very little jitter under heavy IO load
  • Non-blocking rendering
  • Smooth experience with cat large-file.txt

Benchmark Results

From the README:
For IO, we have a dedicated IO thread that maintains very little jitter under heavy IO load (i.e. cat <big file>.txt). On benchmarks for IO, we’re usually within a small margin of other fast terminal emulators.
Comparative performance (reading plain text dumps):
  • 4x faster than iTerm
  • 4x faster than Kitty
  • 2x faster than Terminal.app
  • Similar speed to Alacritty (give or take)
Ghostty provides similar performance to Alacritty while offering significantly more features.

Optimization Tips

Font Rendering

1

Choose monospace fonts

Monospace fonts render faster than proportional fonts:
2

Disable unnecessary features

Disable ligatures if you don’t need them:
3

Adjust font metrics conservatively

Excessive adjustments can impact rendering:

Background and Effects

Background images are duplicated in VRAM per-terminal, which can increase memory usage for large images.

Alpha Blending

Choose the right alpha blending mode:
linear-corrected provides the best balance of accuracy and performance.

Resource Usage

Memory Management

Ghostty is efficient with memory:
  • Scrollback limit: Configure to match your needs
  • Image storage: Limit memory for image protocols

GPU Memory (VRAM)

Factors affecting VRAM usage:
  1. Font atlas: Cached glyphs (automatically managed)
  2. Background images: Duplicated per-terminal (see warning above)
  3. Image protocol: Controlled by image-storage-limit

Benchmarking

Test IO Performance

Test Rendering Performance

Scrollback Performance

Performance Comparison

Future Improvements

From the README:
Despite being very fast, there is a lot of room for improvement here.
Planned optimizations:
  • Better benchmarking suite
  • Additional rendering optimizations
  • Shared texture memory for background images
  • Per-window background images

Configuration Examples

Monitoring Performance

macOS Activity Monitor

  1. Open Activity Monitor
  2. Find “Ghostty” process
  3. Monitor:
    • CPU%: Should be low when idle
    • Memory: Depends on scrollback and images
    • GPU: Check “Window Server” for GPU usage

Linux Tools

Key Takeaways

GPU Accelerated

Metal on macOS, OpenGL on Linux for maximum rendering speed

Competitive Speed

2-4x faster than many alternatives for IO operations

Low Resource Usage

Efficient memory management with configurable limits

Room to Grow

Already very fast, with optimizations planned