Linux è più veloce
Summary: Linux is way snappier than either Mac OS X or Windows. So what else is new? :-)
Non c’è niente da fare. Avevo la sensazione che il mio amato MacBook Pro non fosse tanto snappy quanto desideravo e adesso ho capito perché. Ho installato Slackware su una macchina virtuale, e ho installato Rails dentro alla slackware virtuale. Eseguiamo ora un semplice test: time rails
. Non fa quasi nulla, serve solo a vedere quanto tempo ci mette a caricare Ruby e Rails e ad eseguire dalla riga di comando. Il risultato: dentro al Linux virtuale ci mette 660 ms , mentre nel Mac OS che ospita la macchina virtuale ci mette 923 ms.
November 26th, 2006 at 20:54
afair sono le syscall che sono lentissime su osx, c’era un benchmark che girava tempo fa a riguardo, ma si sa, there are lies, damn lies & benchmarks :)
November 27th, 2006 at 11:34
Non ho idea di perché sia così lento; soprattutto perché in entrambi i miei test è sempre OS X che alla fine deve fare il lavoro, e nel caso di Linux c’è la penalità dovuta al fatto che il suo filesystem è implementato dentro a un file che a sua volta sta dentro il filesystem del Mac.
Quello che conta per me è che Mac OS X è lento a fare una cosa che a me serve; questa penalità di svariati decimi di secondo la pago ogni volta che lancio i test in un’app Rails.
Pazienza.
December 6th, 2006 at 18:33
mh.. quello a cui pensavo io è che le varie open/read/close etc (e forse le dl*).. rimangono nel SO virtuale, quello che c’è da fare per il sistema sottostante sono solo dei seek.
Invece, forse, le stesse operazioni in osx richiedono il passaggio attraverso il layer bsd, i messaggi mach etc per ogni singola syscall.
In più c’è la gestione delle strutture in kernel space, potrebbe darsi che darwin non sia particolarmente ottimizzato e faccia più lavoro di linux, lavoro che però resta limitato alla vm (allocazioni di memoria escluse).
Ma ovviamente non capisco una mazza, e quindi sto tirando ad indovinare, agli scritti di SO(1|2|3) non sono mai andato oltre il 20 :)