erlug
[Top] [All Lists]

Re: [Erlug] Benchmarks

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] Benchmarks
From: Andrea Paolini <ap@xxxxxxx>
Date: Fri, 04 Mar 2005 00:16:39 +0100
Vincenzo Melandri wrote:

ah, allora non vuoi fare un benchmark, vuoi dimostrare che gentoo
va piu` forte degli altri concorrenti a parita` di hardware... :)

Peccato che non è vero... :-P

Dimostramelo.

L'onere della prova sta a chi fa un'affermazione.
http://www.nizkor.org/features/fallacies/burden-of-proof.html

Sull'argomento ti do' qualche spunto di riflessione (e nessuna dimostrazione). La parola /dimostrazione/, tra l'altro, la considero un po' troppo forte da applicare ai benchmark[1]

1) Gli advocates di gentoo giurano sull'evidentissimo e generalizzato vantaggio in termini di prestazioni. Strano che vantaggi così palesi non siano mai stati dimostrati con numeri riproducibili.

2) Microsoft qualche anno fa mostrò[2] che su un quadriprocessore con qualche giga di RAM e 4 schede di rete Win2K e IIS serviva pagine molto più velocemente di Linux con Apache. Gli zeloti buttarono le braghe in aria, ma sbagliavano; MS aveva ragione. So what ? Cosa è cambiato nel mono dell'informatica da allora ?

3) In relazione al punto di prima, si sa che Apache 1.x, con il suo modello pre-fork, è lento come un bradipo ubriaco. Perché allora tutti usano apache e non thttpd, boa mathopd che sono mostruosamente più veloci ? Sono tutti rincoglioniti ?

4) Da almeno un decennio il collo di bottiglia in un sistema è l'accesso alla memoria al disco. Inoltre in quasi tutti i processi la parte di codice che usa il 90%[3] del tempo di CPU è il 10% del totale del codice del processo; e bene e spesso sta tutto nella cache della CPU. Per far andare più veloce il sistema su cosa operiamo ? Sul sottosistema che _comunque_ va incredibilmente più veloce degli altri ? E come ci operiamo ? Cambiando qualche istruzione con un altra hardware-specific che usa qualche ciclo di clock in meno ? Facendo un paragone fantasioso è come cavare le copertine dai sedili per alleggerire l'auto e farla andare più forte. Dal punto di vista teorico non fa una piega... ma nella vita reale ?

5) Può essere necessario o opportuno, in alcune architetture server, ricompilarsi a manina, con cura e con amore il daemon che fornirà il servizio fondamentale, selezionando ad una ad una le opzioni, le patches e le parti di codice da includere. Questo ha un senso, e si fa da decenni, su *TUTTI* gli unices (e non solo su gentoo).

6) A parte casi particolari e specifici e' sempre stato considerato ozioso cercare la performance cercando di limare qualcosa compilando in modo da usare qualche singola istruzioncella "ottimizzata" per il singolo sotto-flavour della stessa architettura. Tutti rincoglioniti ?

7) Non necessariamente -O3 va più forte di -O2. E tirare troppo la corda al compilatore ti espone al rischio di bellissimi heisenbugs. Quanto va forte un processo in core dump ?

8) Sono fichissimo: ho ricompilato con -O42 -funroll-tua-nonna -comefosse-antani e ho guadagnato lo 0.2% di velocità. Con un disco SCSI da 15K RPM però la velocità la quadruplicavo. Forse non sono così fichissimo...

9) Non è il tuo caso (stai lavorando ad un progetto universitario) ma in un azienda, coi soldi che ti costa un sistemista che sta una settimana a pistolare con le ottimizzazioni del compilatore ci compri un server. Bello grosso.

10) Non me ne vengono più in mente, ma volevo arrivare fino a 10... :-)

Ciao,
        - ap

[1] Lies, damn lies, benchmarks.
[2] Più o meno, non ricordo i dettagli esatti
[3] Sparo numeri "a raglio", giusto per dare l'idea

<Prev in Thread] Current Thread [Next in Thread>