Come già vi avevo anticipato qualche tempo fa (cfr. Ottimizzare il Kernel per la propria architettura apporta reali benefici?) ho cominciato per curiosità a fare qualche esperimento su un kernel vanilla appositamente ricompilato e ottimizzato per il mio Dell XPS M1530.

Il kernel, essendo vanilla, non contiene patch di nessun genere provenienti da Ubuntu o altre fonti.
Tutte le modifiche che ho fatto sono applicabili direttamente in fase di compilazione.

La macchina su cui è stata effettuata la prova è un notebook Dell XPS M1530 dotato di una CPU Intel core 2 duo t7500 da 2,4 Ghz, 3 GB di memoria ram DDR2 667, hard disk da 250GB S-ATA2 da 5400 rpm, scheda video Nvidia Geforce 8600M GT con 265 MB di memoria integrata e chipset Intel Mobile PM965 + Ich8.

Per le prove ho utilizzato l’ottimo tool phoronix-test-suite in versione 1.4.2 su Ubuntu 8.10 aggiornato ad oggi.

ENCODING AUDIO/VIDEO






come si può notare le differenze sono impercettibili. Nessuno dei due kernel è nettamente superiore all’altro, i divari sono trascurabili.

COMPILAZIONE SOFTWARE



Stesso discorso, nessuna differenza notevole o comportamento da evidenziare.

ALGORITMI DI COMPRESSIONE




Finalmente qualche risultato interessante. Eccetto il test effettuato con 7-zip, che comunque dimostra una leggera superiorità del kernel ottimizzato, sia gzip che bzip2 mostrano un comportamento abbastanza simile.
Il kernel ottimizzato distacca in maniera molto netta il kernel standard di ubuntu raggiungendo prestazioni da 2,15 a 2,40 volte migliori!

SOTTOSISTEMA DISCO



Niente da rilevare, come era da immaginarsi nel sottosistema che governa il disco rigido.

TEST GnuPG

Un piccolo spazio va concesso a GnuPG, il popolare software di encrypting raggiunge risultati a dir poco esaltanti con il kernel ottimizzato. Si ha infatti un guadagno di circa il 450% rispetto al kernel standard Ubuntu!

CAPACITA’ ELABORATIVE VARIE





In questi quattro test non risulta un vincitore assoluto, anche se il kernel Ubuntu ha un impercettibile margine sul kernel customizzato. Un vantaggio che può essere tranquillamente trascurato.

Performance memoria RAM





Per quanto riguarda il sottosistema di memoria si registra in generale un lieve margine a favore del kernel Ubuntu. Anche se non si tratta di incrementi sostanziali possiamo affermare che il kernel Ubuntu abbia una bandwith massima teorica maggiore del kernel ottimizzato. Non ho idea se sia merito di alcune patch o demerito di alcune ottimizzazioni che ho apportato io al kernel.
Le differenze stanno comunque in pochi punti percentuali, l’apice si misura intorno all’ 8% nell’ultimo test.

DATABASE PERFORMANCE & XML



Sqlite registra un discreto margine a favore del kernel ottimizzato, intorno al 12%
Il test su XML invece favorisce il kernel Ubuntu in percentuali molto simili al test precedente: 11% circa nel test di lettura.

JAVA ENVIRONMENT PERFORMANCE






Un lieve vantaggio per il kernel ottimizzato nel primo test, negli altri 4 un lievissimo margine invece per il kernel Ubuntu. Nel complesso si può dire che le prestazioni si equivalgono o variano di pochissimo.

DRAWING PERFORMANCE





Niente di nuovo o particolarmente interessante da registrare, prestazioni all’incirca equivalenti con un leggerissimo predominio del kernel Ubuntu standard.

GAMING & 3D PERFORMANCE












Performance altalenanti per quanto riguarda il 3D. In alcuni giochi come Nexuiz, Tremulous e Urban terror si ha un leggero vantaggio per il kernel Ubuntu, negli altri test invece succede il contrario: il kernel custom è generalmente più veloce di pochi FPS. Gli unici casi da segnalare sono World of Padman dove il kernel ottimizzato ottiene prestazioni di due terzi superiori al kernel Ubuntu e Unigine tropics dove il kernel ubuntu apparentemente si prende la rivincita con gli interessi.
In realtà, in questo test, il kernel ottimizzato è riuscito a completare solo una dei tre test necessari, per cui, il risultato dell’ultimo test è stato sommato due volte a zero e diviso per tre per fare media.
Le prestazioni per questo motivo si possono equiparare tranquillamente.

Conclusioni

E’ veramente necessario ottimizzare un kernel? Sicuramente potete stare al sicuro anche con il vostro kernel standard Ubuntu. Le prestazioni in generale sono molto simili o variano di pochi punti percentuali.
Fanno eccezione alcuni casi in cui le prestazioni del kernel ottimizzato sono terribilmente superiori. Senza contare il fatto che si tratta di un kernel vanilla sul quale non è stata applicata nessuna patch, per cui è probabile che le prestazioni possano essere ulteriormente migliorate attraverso modifiche più spinte.

Se siete interessati ad un pacchetto deb del kernel che ho preparato fatemelo sapere.. E’ però altamente sconsigliato a chiunque in quanto ho rimosso quasi tutto il codice di debug e gran parte del suppporto alle perfireriche non presenti sul mio XPS M1530. Senza contare le altre modifiche che potrebbero portare a problemi. Per chi avesse un portatile identico al mio nessun problema, tutto funziona alla perfezione, anzi, il sistema è più reattivo, lo noterete sicuramente se avete compiz con le finestre wobblanti e gli effettini tamarri :D

Tag:, , , , , , , ,
3 Risposte a “[benchmark] Ubuntu standard kernel vs. optimized vanilla kernel”
  1. DnaX scrive:

    Visto che i test che hanno evidenziato l’ottimizzazione del vanilla sono principalmente dei comandi GNU forse c’è anche il fatto che quasi tutti i programmi non sono ben ottimizzati e non sfruttano tutte le capacità che il kernel può dare. Anche la sola compilazione per il tuo processore può fare la differenza, anche lì andrebbe fatto un test accurato.

    ReplicaReplica
  2. Dario scrive:

    Beh si, alla fine è il software che deve essere ottimizzato a puntino per il nuovo hardware. E’ vero anche che praticamente nessuna distribuzione “Desktop” utilizza impostazioni tanto spinte preferendo la compatibilità alle prestazioni, ed è giusto che sia così secondo me.

    Comunque per il fatto della compilazione avevo in mente di fare un test in seguito per vedere un po’ cosa cambia realmente, stay tuned!

    ReplicaReplica
  3. Bronzo scrive:

    Sarebbe stato interessante anche un test fatto con il kernel di ubuntu compilato ad hoc per la tua macchina.
    Non un Vanilla ma uno giò patchato.
    Dovresti solo levare ciò che non ti serve e compilarlo apposta per la tua piattaforma. Secondo me avresti prestazioni migliori sempre e non solo in alcuni casi.

    Cmq è solo un’idea niente di testato ;)

    Bell’articolo comunque ;)

    ReplicaReplica
  4.  
Scrivi un Commento

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>