2026-03-16 at

Philosophy of : preemptive multitasking : by language runtime

Group 1 : C, Java, Rust  :

{ Expensive, Fast, Preemption } : 

kernel-space "OS" thread scheduling : 

Single-box-optimised : best raw performance potential under such limitations : scaling-out requires some reinvention, lacking best-in-class-reliability.


Group 2 : BEAM/OTP, Haskell, Go :

{ Cheap, Slow, Preemption } : 

user-space "green" thread scheduling :

Web-scale-optimised : BEAM/OTP has best-in-class-reliability, but trails in raw performance until scale-out overtakes scale-up. ( Go has a generalist position; Haskell is more for research; neither of these have BEAM/OTP's unique quality. )


Group 3 : Python, Ruby, PHP, JavaScript, WebAssembly :

{ No Preemption i.e. Only Cooperation } :

global interpreter lock : 

Beginner-optimised : best for prototyping : quickest to learn : good-enough for single-box setups : scaling-out requires some reinvention, and lacks both, best-in-class-reliability, and raw performance potential.


  • Group 3 : I suppose here, I remain, for now. A puny student.
  • As a corollary, work to improve scale-up or scale-out while working in Group 3, is a distraction. 

No comments :

Post a Comment