The sharpest question in this thread is how much of the 65% is the language vs the rewrite itself. A useful way to decompose it: language effects (binary size, idle memory footprint, GC pause profile, goroutine-per-connection vs worker processes) vs architectural effects (connection pooling, added caching, fewer instances from better utilization). The honest test is measuring the same architecture in both languages, which rewrites never do. In my experience the instance-count reduction, running fewer, smaller containers, usually dominates the savings.
Parsa Aftabi
Backend & Full-Stack Engineer — building high-performance systems and clean APIs. Go · TypeScript · React · PostgreSQL · Redis · Docker
The sharpest question in this thread is how much of the 65% is the language vs the rewrite itself. A useful way to decompose it: language effects (binary size, idle memory footprint, GC pause profile, goroutine-per-connection vs worker processes) vs architectural effects (connection pooling, added caching, fewer instances from better utilization). The honest test is measuring the same architecture in both languages, which rewrites never do. In my experience the instance-count reduction, running fewer, smaller containers, usually dominates the savings.