← Graph

C Extensions

concept 1 connections

Native C extensions shipped with many Ruby gems. A pain point for enterprise Ruby adoption: companies don't want C build tools on production/UA servers, and the C/Ruby boundary is a hard boundary for YJIT optimization. JRuby sidesteps both: its extensions are pre-compiled Java bytecode that inlines and optimizes like any other JVM code; big C-extension gems (Nokogiri, JSON, Psych for YAML, etc.) have JRuby-native implementations installed automatically, and many smaller ones either have JVM-library equivalents or need a JRuby port from their authors.

category
architecture
about
C Extensions concept
One of JRuby's three main pitches: no C build tools on target systems; extensions are pre-compiled Java bytecode.

Provenance

Read by
2 extractions