Ak sa pozeráme čisto na výkon a schopnosť spracovať veľa requestov, rozdiel medzi Node.js a Go (Golang) je pomerne výrazný, a závisí od architektúry aplikácie a konkrétneho prípadu použitia.
| Kritérium | Node.js | Go |
|---|---|---|
| Max requestov/s | 10–15k | 50–100k |
| Latencia/request | 1–5 ms | 0.2–1 ms |
| Spotreba RAM | 50–100 MB | 20–50 MB |
| CPU-heavy úlohy | blokuje event-loop | zvládne efektívne |
| Multi-core škálovanie | potreba cluster/moduly | automatické cez goroutines |
| Ekosystém / vývoj | NPM, rýchly prototyping | jednoduchý deployment, stabilný |
Gorutina je v Go niečo ako vlákno (thread), ale omnoho ľahšie a efektívnejšie. Nie je spravovaná priamo OS, ale Go runtime, ktorý zabezpečuje plánovanie a rozdelenie na systémové vlákna.
go.| Kritérium | OS Thread | Gorutina |
|---|---|---|
| Štartovacia veľkosť stacku | ~1–2 MB | ~2 KB (dynamicky rastie) |
| Plánovanie | Kernel (OS) | Go runtime (M:N model) |
| Počet súbežných jednotiek | Tisíce | Státisíce až milióny |
| Overhead | Vysoký | Nízky |
| Komunikácia | Zdieľaná pamäť, locky | Kanály (channels) |