Non credo che il benchmark Sunspider necessiti di presentazioni. E' stato ormai preso come riferimento un po' da tutti i produttori di browser.
Dato che anche Microsoft ha "aderito" a questa corsa a chi ce l'ha piu' lung... veloce, ho provato a fare un confronto tra IE9 tech preview 2 e Opera 10.53 e Chrome 5.0.375.29.
Ma l'argomento del post non e' il confronto tra questi browser. Quello che mi ha lasciato un po' interdetto e' il comportamento di Sunspider su diverse macchine/sistemi operativi.
La prima cosa che ho notato e' che i risultati hanno una variabilita' notevole a seconda del sistema su cui gira il test.
Sul desktop con Windows 7 (quad core Q9450 2.66 GHz) i risultati sono entro una variabilita' inferiore al 5% e il risultato migliore che ho ottenuto e' stato di 399 ms, mentre mediamente ottengo 405 ms.
Sul MacBook con Windows 7 (dual core P8400 2.4 GHz) il migliore risultato e' stato di 634 ms e una varibilita' maggiore del 10% (mediamente ottengo 750 ms). 634 ms potrebbe anche sembrare accettabile date le diverse caratteristiche della CPU, ma come vedremo non e' cosi'.
In realta' il Sunspider e' composto da 9 gruppi di test che a loro volta hanno sotto aere per un totale di 26 test individuali. La prima cosa che volevo capire era quanti di questi sfruttano davvero la presenza del multicore, cosi' ho eseguito il test all'interno di una virtual machine del desktop. La VM so per certo che usa un singolo core e infatti dei 26 test ce ne sono due che hanno dato un risultato tra le 3 e le 4 volte peggiore rispetto al quad core. Tutti gli altri invece sono rimasti in un range di peggioramento tra lo 0% e il 10%.
E fino qua tutto bene, il problema e' che per questo tipo di test che esegue una quantita' sostanzialmente irrisoria di codice su una quantita' di dati altrettanto irrisoria, certe caratteristiche delle CPU non vengono sfruttate, col risultato che anche un dual core per portatile dovrebbe tenere testa ad un quad core. Ma nel caso del MacBook non e' cosi', mi aspettavo un risultato decisamente migliore di 634 ms. E soprattutto non mi spiego come mai il peggioramento rispetto al quad core sia equidistribuito su tutti i 26 test e non abbia invece una punta di peggioramento sui due test che sfruttano il multi core.
Per farvi un esempio: Super PI che e' mono thread, sul MacBook paga circa un 10%-15% di peggioramento rispetto al quad core, non certo il 50% o piu' come avviene per Sunspider.
Ho voluto provare sul Mac anche XP, pensando che magari fosse un problema di incompatibilita' tra Windows 7 e Boot Camp... risultato medio: 1.000 ms!
Ovvero molto peggio rispetto a Windows 7 (anche questo fatto non ha una spiegazione chiara).
La contro prova che Sunspider su un dual core dovrebbe ottenere risultati migliori l'ho avuta confrontando il risultato di Sunspider su OS X: sul MacBook ho ottenuto 426 che e' compatibile con le aspettative dopo aver letto su Arstechnica che su un Mac Pro quad core avevano ottenuto 389.
Per altro ho provato su uno Xeon 5355 2.66 GHz con Windows Server 2003 R2 ed ho ottenuto 330 che e' in linea con i dati di ArsTechnica (puo' essere che il Mac Pro da loro usato abbia una frequenza di clock un pelo inferiore).
Ho anche provato a testare sul MacBook la stessa VM provata sul desktop, e il decremento di prestazioni e' stato anche in questo caso inaspettato: miglior risultato 1.695 ms con medie intorno ai 2.000 ms e un risultato persino sopra ai 3.000 ms. It doesn't make sense!
Perche' sul quad core da macchina reale a virtuale si paga solo sui due test delle date, mentre sul Mac si paga in modo cosi' vistoso su tutti i test?
Perche' sul quadcore il delta tra varie eseguzioni del test e' limitato a meno del 5% mentre sul Mac si arriva a percentuali che toccano il 20%?
Considerate che il test di suo non impegna tantissimo la CPU, quindi non e' che altri processi possano alterare in modo significativo il risultato.
Che sia un baco presente in Sunspider e che si evidenzia solo con certi hardware/sistemi operativi? Che sia un qualche problema di Opera? Che sia un problema del sistema operativo? Che sia un problema di Boot Camp?
Per ora escludo sia un problema legato a Opera, ho provato con Chrome e la differenza % tra quad core e dual core e' compatibile coi risultati di Opera: 349 ms sul desktop e 686 ms sul Mac.
Sul desktop avrei voluto provare anche sotto Ubuntu 10.04 ma Opera non ha ancora rilasciato la 10.53, appena esce provo. Intanto ho provato Chrome che ha ottenuto 399 ms e sotto Windows 7 349 ms, valori compatibili con la normale varianza d'errore di questo tipo di test e col fatto che sicuramente qualcosina cambia tra Windows e Linux.
Se avete un dual core sarei curioso di sapere quale sia il miglior risultato che ottenete (specificate anche la frequenza di clock della CPU).
Per adesso Sunspider conferma quello che ho sempre pensato: ci sono le bugie, le grandi bugie e i benchmark ;)
Aggiornamento: neanche finito di pubblicare il post che dopo una altro giro di una decina di eseguizioni del test sul Mac e' spuntato un inaspettato 499 ms. Mentre tutti gli altri si erano attestati da 640 ms in su'.
...son finiti perché adesso uso Windows 7 ;) ...ed evito Windows 8 come la peste!!! :D
Visualizzazione post con etichetta benchmark. Mostra tutti i post
Visualizzazione post con etichetta benchmark. Mostra tutti i post
venerdì 7 maggio 2010
martedì 16 dicembre 2008
Misurare le prestazioni di un sistema operativo.
Questo articolo del blog ufficiale del team di Windows 7 e' il perfetto viatico per iniziare a capire l'argomento del benchmarking di un sistema operativo.
Misurare qualcosa e' un processo molto piu' complesso di quello che si possa pensare. Nella vita quotidiana siamo abituati a usare metodi di misura tra i piu' disparati. Misuriamo il nostro peso corporeo, misuriamo gli anni trascorsi da quando siamo nati, misuriamo il costo delle cose, misuriamo le prestazioni dei mezzi di trasporto, misuriamo aspetti fisici e non delle persone.
Sembra che si abbia a disposizione un "metro" per ogni cosa che vogliamo misurare. Ma se per alcune cose questo "metro" e' facilmente identificabile e utilizzabile, per molte altre cose non e' affatto cosi' scontato individuare cosa usare come parametro di confronto. Le misurazioni infatti si fanno per confronto. Non esiste il concetto assoluto di misura, ma solo relativo a qualcos'altro.
E cosi' finiamo ad esempio a voler misurare le prestazioni di un sistema operativo rispetto ad un altro, ma prima di poterlo fare forse bisognerebbe capire cosa andremo a misurare e soprattutto con che "metro" effettueremo queste misurazioni.
Nonostante la cosa non sia cosi' banale viene data per scontata da molti e si arriva al punto che c'e' chi pensa di poter misurare un intero sistema operativo utilizzando un singolo "indice di velocita'".
Persino un'auto (che e' infinitamente meno complessa di un sistema operativo dal punto di vista delle funzionalita' offerte) non si riesce a misurare con un solo indice. La potenza? La velocita' massima? Il tempo sul giro? Una media ponderata dei valori precedenti? Dovendo prendere una sola misurazione quale prendiamo? Qualunque si scelga si finisce per dare un'informazione molto limitata dell'auto e sostanzialmente poco utile per non dire del tutto inutile dato che nel momento in cui si andra' a scegliere un'auto da acquistare bisognera' avere a propria disposizione ben piu' di un singolo parametro.
La stessa cosa e' valida per la maggior parte delle cose che misuriamo. Se vi dico che Paolo pesa 80 Kg. e Marco ne pesa 85 Kg. e aggiungo che uno dei due e' grasso, sapreste individuare quale dei due senza sapere quanto sono alti? Di per se' il peso preso singolarmente non e' sufficiente a fare una qualsiasi considerazione degna di nota.
I sistemi operativi forniscono centinaia di funzionalita' diverse tra loro e spesso non sono neppure funzionalita' utilizzabili direttamente dall'utente, ma presenti solo per poter essere utilizzate da programmi che ne fanno uso.
La valutazione di un OS richiedera' quindi di individuare almeno delle categorie di funzioni da misurare, non si puo' certo pensare che si possa dare una valutazione complessiva riducendo il tutto a un indice complessivo sia anche esso il risultato della somma di N indici diversi.
Questo perche' sapere la somma non dice nulla sul valore individuale dei singoli indici che la compongono.
Quindi abbiamo stabilito che misurare un sistema operativo e' una operazione complessa che richiede molti indici, ma non abbiamo ancora una precisa idea di come fare queste misurazioni.
Ci sono due approcci molto diversi:
- eseguire manualmente una serie di operazioni cronometrandone la durata.
- eseguire dei programmi che a loro volta eseguono in modo automatico una serie di operazioni e ne misurano la durata.
Il primo metodo e' quello che piu' si avvicina all'esperienza dell'utente.
Il secondo invece e' completamente diverso da quello che fa l'utente ma puo' sembrare a prima vista il metodo piu' rigoroso per effettuare una misurazione.
In realta' le cose sono ben piu' complesse di cosi'.
Il problema cardine della "misurazione" e' di non interferire col sistema che si sta misurando evitando di alterarne il risultato o per lo meno di interferire il meno possibile.
E qua gia' bisognerebbe iniziare a dubitare dei test che utilizzano script di automazione in quanto l'eseguzione dello script inevitabilmente interferisce col sistema.
Prendiamo l'esempio gia' citato di OfficeBench che sali' agli onori della cronaca quando venne usato per sentenziare che Vista era il 40% piu' lento di XP. Si tratta di una serie di script che automatizzano operazioni di Microsoft Office cercando di simulare l'attivita' quotidiana di un ipotetico utente.
Balza subito all'occhio che c'e' un errore di fondo in questo tipo di misurazione. Gli autori del tool di testing affermano che il tool e' in grado di misurare diverse versioni di Windows e di Office. Peccato pero' che per definizione stiano usando lo stesso metro per misurare cose diverse. Office 2007 e' profondamente diverso da Office 2003, ad esempio i comandi non sono piu' organizzati in menu' e sotto menu', ma sono disposti nel famoso Ribbon.
Ora un test di automazione non tiene assolutamente in conto il fattore accessibilita' di un comando. L'utente che vuole fare una stampa di un documento dovra' andare a cercare il comando e quindi eseguirlo, e a seconda della versione di Office questa operazione puo' richiedere piu' o meno tempo a seconda di dove e' posizionato il comando e di quanti click l'utente debba fare.
Un tool automatico sa gia' dove andare e puo' eseguire la sequenza di operazioni ad una velocita' che e' del tutto diversa da quella dell'utente in quanto non ha bisogno di attendere il feedback visivo tra un click e il successivo.
Office 2007 potrebbe anche avere delle prestazioni di eseguzione del singolo comando piu' lento di Office 2003 ma potrebbe avere una UI che rende piu' rapido per l'utente identificare cosa e dove cliccare.
Il tool potrebbe sentenziare che il comando di stampa e' piu' rapido su Office 2003 con XP, ma poi nella realta' l'utente potrebbe impiegare piu' tempo rispetto a Office 2007 con Vista.
E questo tipo di concetto si applica sostanzialmente a qualunque altro aspetto che riguarda i tool che automatizzano l'interfaccia utente attraverso script.
C'e' poi un altro aspetto, il tool OfficeBench usa OleDB per creare istanze degli oggetti di Office e quindi eseguirne comandi. Ma nella realta' l'utente non fa mai questo tipo di operazione, non apre Word invocando automatismi di OleDB, lo fa avviando l'applicativo in modo interattivo e via dicendo.
Quindi ammesso anche che le misurazioni e i confronti tra XP e Vista sia stati effettuati limitando al massimo l'interferenza col sistema, il dato finale che afferma che Vista e' piu' lento di XP del 40% che cosa comporta per l'utente finale?
Che le applicazioni si avviano il 40% piu' lentamente sotto Vista? No.
Che eseguire singoli task richieda il 40% di tempo in piu'? No.
Che l'impiegato che usa XP finisca il suo lavoro alle 5 del pomeriggio e che l'impiegato che deve fare le stesse identiche cose usando Vista finisca qualche ora dopo? No.
Ma allora per l'utente cosa significa sapere che Vista e' il 40% piu' lento di XP? Sostanzialmente nulla.
Quello che e' stato misurato non e' quanto Vista sia piu' lento di XP ma solo quanto un insieme di script e di comandi automatizzati risulti piu' lento su Vista rispetto a XP, ma nulla ci dice su cosa o come o perche' risulti piu' lento su Vista. Quindi alla fine non hanno misurato le performance del sistema operativo, ma solo quelle del loro programma.
Se qualcuno dubita del fatto che non sia stato misurato il sistema operativo penso che basti questa considerazione per convincerlo: su Vista c'e' Windows Defender attivo di default, su XP no. Se eseguo un tool che crea file automaticamente per poi effettuare dei test di apertura salvataggio degli stessi attraverso Office comandato via OleDB molto probabilmente Windows Defender interviene pesantemente in quanto individua un eseguibile che sta effettuando operazioni potenzialmente pericolose, mentre quando le stesse operazioni sono effettuate manualmente dall'utente il fattore Windows Defender incide percentualmente in modo meno significativo per non dire trascurabile.
Quindi c'e' qualcosa che si puo' misurare e confrontare senza cadere in questi errori?
Si certamente, ma la metrica e' piuttosto complessa.
Prendiamo ad esempio il tempo impiegato per effettuare il boot del sistema.
Questo valore e' condizionato da molti fattori, sia legati all'hardware che al software. Cambiera' quindi a seconda del tipo di CPU e della quantita' di ram, dal numero di periferiche presenti, da quanti applicativi/servizi sono stati installati e cosi' via. Puo' benissmo capitare che un sistema operativo che risulta piu' veloce all'avvio con una certa configurazione, non lo sia piu' su un'altra.
Questo e' ad esempio dimostrato in modo macroscopico con i test sulle prestazioni delle schede video. Li' almeno si usano, oltre ai programi di benchmark, anche i giochi che poi l'utente andra' ad usare. E ormai chiunque segua questo tipo di confronti sa benissimo che una scheda video che sulla carta e' molto piu' performante di un'altra puo' poi nella realta' produrre meno frame per second di una meno performante a seconda del gioco o della CPU o della versione del driver e via dicendo.
Se non e' possibile usare un singolo indice per identificare le prestazioni delle schede video (che sono solo una parte del computer) c'e' davvero qualcuno che puo' seriamente sostenere che sia possibile dare una valutazione seria di un sistema operativo usando un tool che produce un singolo numero?
Tutto questo lo dico in previsione degli articoli sulle prestazioni di Windows 7 che gia' stanno iniziando ad uscire e che diventeranno una vera e propria piaga mondiale quando verra' rilasciata la beta ufficiale ;-)
Misurare qualcosa e' un processo molto piu' complesso di quello che si possa pensare. Nella vita quotidiana siamo abituati a usare metodi di misura tra i piu' disparati. Misuriamo il nostro peso corporeo, misuriamo gli anni trascorsi da quando siamo nati, misuriamo il costo delle cose, misuriamo le prestazioni dei mezzi di trasporto, misuriamo aspetti fisici e non delle persone.
Sembra che si abbia a disposizione un "metro" per ogni cosa che vogliamo misurare. Ma se per alcune cose questo "metro" e' facilmente identificabile e utilizzabile, per molte altre cose non e' affatto cosi' scontato individuare cosa usare come parametro di confronto. Le misurazioni infatti si fanno per confronto. Non esiste il concetto assoluto di misura, ma solo relativo a qualcos'altro.
E cosi' finiamo ad esempio a voler misurare le prestazioni di un sistema operativo rispetto ad un altro, ma prima di poterlo fare forse bisognerebbe capire cosa andremo a misurare e soprattutto con che "metro" effettueremo queste misurazioni.
Nonostante la cosa non sia cosi' banale viene data per scontata da molti e si arriva al punto che c'e' chi pensa di poter misurare un intero sistema operativo utilizzando un singolo "indice di velocita'".
Persino un'auto (che e' infinitamente meno complessa di un sistema operativo dal punto di vista delle funzionalita' offerte) non si riesce a misurare con un solo indice. La potenza? La velocita' massima? Il tempo sul giro? Una media ponderata dei valori precedenti? Dovendo prendere una sola misurazione quale prendiamo? Qualunque si scelga si finisce per dare un'informazione molto limitata dell'auto e sostanzialmente poco utile per non dire del tutto inutile dato che nel momento in cui si andra' a scegliere un'auto da acquistare bisognera' avere a propria disposizione ben piu' di un singolo parametro.
La stessa cosa e' valida per la maggior parte delle cose che misuriamo. Se vi dico che Paolo pesa 80 Kg. e Marco ne pesa 85 Kg. e aggiungo che uno dei due e' grasso, sapreste individuare quale dei due senza sapere quanto sono alti? Di per se' il peso preso singolarmente non e' sufficiente a fare una qualsiasi considerazione degna di nota.
I sistemi operativi forniscono centinaia di funzionalita' diverse tra loro e spesso non sono neppure funzionalita' utilizzabili direttamente dall'utente, ma presenti solo per poter essere utilizzate da programmi che ne fanno uso.
La valutazione di un OS richiedera' quindi di individuare almeno delle categorie di funzioni da misurare, non si puo' certo pensare che si possa dare una valutazione complessiva riducendo il tutto a un indice complessivo sia anche esso il risultato della somma di N indici diversi.
Questo perche' sapere la somma non dice nulla sul valore individuale dei singoli indici che la compongono.
Quindi abbiamo stabilito che misurare un sistema operativo e' una operazione complessa che richiede molti indici, ma non abbiamo ancora una precisa idea di come fare queste misurazioni.
Ci sono due approcci molto diversi:
- eseguire manualmente una serie di operazioni cronometrandone la durata.
- eseguire dei programmi che a loro volta eseguono in modo automatico una serie di operazioni e ne misurano la durata.
Il primo metodo e' quello che piu' si avvicina all'esperienza dell'utente.
Il secondo invece e' completamente diverso da quello che fa l'utente ma puo' sembrare a prima vista il metodo piu' rigoroso per effettuare una misurazione.
In realta' le cose sono ben piu' complesse di cosi'.
Il problema cardine della "misurazione" e' di non interferire col sistema che si sta misurando evitando di alterarne il risultato o per lo meno di interferire il meno possibile.
E qua gia' bisognerebbe iniziare a dubitare dei test che utilizzano script di automazione in quanto l'eseguzione dello script inevitabilmente interferisce col sistema.
Prendiamo l'esempio gia' citato di OfficeBench che sali' agli onori della cronaca quando venne usato per sentenziare che Vista era il 40% piu' lento di XP. Si tratta di una serie di script che automatizzano operazioni di Microsoft Office cercando di simulare l'attivita' quotidiana di un ipotetico utente.
Balza subito all'occhio che c'e' un errore di fondo in questo tipo di misurazione. Gli autori del tool di testing affermano che il tool e' in grado di misurare diverse versioni di Windows e di Office. Peccato pero' che per definizione stiano usando lo stesso metro per misurare cose diverse. Office 2007 e' profondamente diverso da Office 2003, ad esempio i comandi non sono piu' organizzati in menu' e sotto menu', ma sono disposti nel famoso Ribbon.
Ora un test di automazione non tiene assolutamente in conto il fattore accessibilita' di un comando. L'utente che vuole fare una stampa di un documento dovra' andare a cercare il comando e quindi eseguirlo, e a seconda della versione di Office questa operazione puo' richiedere piu' o meno tempo a seconda di dove e' posizionato il comando e di quanti click l'utente debba fare.
Un tool automatico sa gia' dove andare e puo' eseguire la sequenza di operazioni ad una velocita' che e' del tutto diversa da quella dell'utente in quanto non ha bisogno di attendere il feedback visivo tra un click e il successivo.
Office 2007 potrebbe anche avere delle prestazioni di eseguzione del singolo comando piu' lento di Office 2003 ma potrebbe avere una UI che rende piu' rapido per l'utente identificare cosa e dove cliccare.
Il tool potrebbe sentenziare che il comando di stampa e' piu' rapido su Office 2003 con XP, ma poi nella realta' l'utente potrebbe impiegare piu' tempo rispetto a Office 2007 con Vista.
E questo tipo di concetto si applica sostanzialmente a qualunque altro aspetto che riguarda i tool che automatizzano l'interfaccia utente attraverso script.
C'e' poi un altro aspetto, il tool OfficeBench usa OleDB per creare istanze degli oggetti di Office e quindi eseguirne comandi. Ma nella realta' l'utente non fa mai questo tipo di operazione, non apre Word invocando automatismi di OleDB, lo fa avviando l'applicativo in modo interattivo e via dicendo.
Quindi ammesso anche che le misurazioni e i confronti tra XP e Vista sia stati effettuati limitando al massimo l'interferenza col sistema, il dato finale che afferma che Vista e' piu' lento di XP del 40% che cosa comporta per l'utente finale?
Che le applicazioni si avviano il 40% piu' lentamente sotto Vista? No.
Che eseguire singoli task richieda il 40% di tempo in piu'? No.
Che l'impiegato che usa XP finisca il suo lavoro alle 5 del pomeriggio e che l'impiegato che deve fare le stesse identiche cose usando Vista finisca qualche ora dopo? No.
Ma allora per l'utente cosa significa sapere che Vista e' il 40% piu' lento di XP? Sostanzialmente nulla.
Quello che e' stato misurato non e' quanto Vista sia piu' lento di XP ma solo quanto un insieme di script e di comandi automatizzati risulti piu' lento su Vista rispetto a XP, ma nulla ci dice su cosa o come o perche' risulti piu' lento su Vista. Quindi alla fine non hanno misurato le performance del sistema operativo, ma solo quelle del loro programma.
Se qualcuno dubita del fatto che non sia stato misurato il sistema operativo penso che basti questa considerazione per convincerlo: su Vista c'e' Windows Defender attivo di default, su XP no. Se eseguo un tool che crea file automaticamente per poi effettuare dei test di apertura salvataggio degli stessi attraverso Office comandato via OleDB molto probabilmente Windows Defender interviene pesantemente in quanto individua un eseguibile che sta effettuando operazioni potenzialmente pericolose, mentre quando le stesse operazioni sono effettuate manualmente dall'utente il fattore Windows Defender incide percentualmente in modo meno significativo per non dire trascurabile.
Quindi c'e' qualcosa che si puo' misurare e confrontare senza cadere in questi errori?
Si certamente, ma la metrica e' piuttosto complessa.
Prendiamo ad esempio il tempo impiegato per effettuare il boot del sistema.
Questo valore e' condizionato da molti fattori, sia legati all'hardware che al software. Cambiera' quindi a seconda del tipo di CPU e della quantita' di ram, dal numero di periferiche presenti, da quanti applicativi/servizi sono stati installati e cosi' via. Puo' benissmo capitare che un sistema operativo che risulta piu' veloce all'avvio con una certa configurazione, non lo sia piu' su un'altra.
Questo e' ad esempio dimostrato in modo macroscopico con i test sulle prestazioni delle schede video. Li' almeno si usano, oltre ai programi di benchmark, anche i giochi che poi l'utente andra' ad usare. E ormai chiunque segua questo tipo di confronti sa benissimo che una scheda video che sulla carta e' molto piu' performante di un'altra puo' poi nella realta' produrre meno frame per second di una meno performante a seconda del gioco o della CPU o della versione del driver e via dicendo.
Se non e' possibile usare un singolo indice per identificare le prestazioni delle schede video (che sono solo una parte del computer) c'e' davvero qualcuno che puo' seriamente sostenere che sia possibile dare una valutazione seria di un sistema operativo usando un tool che produce un singolo numero?
Tutto questo lo dico in previsione degli articoli sulle prestazioni di Windows 7 che gia' stanno iniziando ad uscire e che diventeranno una vera e propria piaga mondiale quando verra' rilasciata la beta ufficiale ;-)
domenica 9 marzo 2008
Resource hog?
Quando un po' di influenza mi costringe a passare il weekend a casa, finisco a giocare coi PC, la volta scorsa e' stato il turno di Vista x64 e i risultati sono andati ben oltre le aspettative, tant'e' che non penso usero' mai piu' la versione a 32 bit... a meno di non fare come oggi, ovvero ripulire un disco del vecchio desktop e decidere di provare ad installarci Vista.Il PC, che tra un mese compie 4 anni, e' un Pentium IV 3.0 GHz, scheda madre Asus P4C800 con 512 MB Ram, due dischi SATA Samsung 120 MB 7200 rpm, scheda video ATI Radeon 9200.
Lo si puo' definire tranquillamente un PC di fascia medio bassa, uno di quelli per intenderci sul quale una persona sana di mente non dovrebbe installarci Vista, giusto?
Perche' come possiamo leggere su innumerevoli e "autorevoli" siti internet Vista e' un Resource Hog, e per farlo girare decentemente ci vuole un supercomputer tipo quelli che usano per la simulazione delle esplosioni nucleari ;-)
Ho installato la versione Home Premium anche se avevo il dubbio se fosse meglio andare direttamente di Home Basic, visto l'hardware non proprio al vertice.
L'installazione della Home Premium e' filata via liscia senza problemi a parte il fatto di non riconoscere la scheda di rete e la scheda audio. A differenza di XP, quando Vista non ha a disposizione dei driver per le periferiche ha almeno il buon gusto di segnare la cosa senza bisogno di andare nel Device Manager a verifica cosa manca, inoltre indica esplicitamente il modello della periferica per cui non ha il driver, semplificando cosi' un po' le cose.
Aero In generale tutta l'interfaccia si comporta egregiamente, e se confrontata con l'installazione di XP Pro che ho sull'altro disco non e' affatto piu' lenta. Anche il lancio di applicazioni non mi pare piu' lento che su XP.
Non ho fatto un'installazione completa dei software che normalmente uso, anche perche' questa installazione non credo sopravvivera', nel senso che era piu' che altro uno sfizio che volevo togliermi per verificare con mano le leggende metropolitane su quanto Vista fosse lento sull'hardware di 3/4 anni fa.
Ho anche evitato di installare i 100 MB di aggiornamenti, casomai provero' a metterci la SP1 per verificare se ha un qualche impatto immediatamente percettibile in termini di prestazioni.Ho provato a copiare (non prima di aver disabilitato Windows Defender) un centinaio di megabyte di musica da un disco all'altro mentre il Media Player era al lavoro e la copia si e' avviata immediatamente ed e' proseguita senza intoppi e a velocita' che mi e' parsa assolutamente in linea con quella di XP, anche se non mi sono messo cronometro alla mano a confrontare i due sistemi, del resta volevo solo avere l'impressione d'uso di Vista su questo hardware, non mi interessa fare un confronto al millisecondo.
E parlando appunto di prestazioni, mentre scrivo ho in background il Windows Media Player che fa il suo lavoro di intrattenitore senza perdere colpi (non che mi aspettassi che perdesse colpi, ma a sentire certe "storie" su quanto Vista fosse lento mi aspettavo almeno qualche rallentamento di tanto in tanto).L'impressione e' chiaramente che 512 MB siano pochi se ci si deve lavorare "seriamente", ma questa non e' una novita', invece sono piu' che sufficienti se si deve ascoltare musica, navigare su internet, chattare, leggere la posta... che poi sono le cose piu' comuni che fanno gli utenti a cui e' destinato Vista Home Premium.
Non sono solito fare annunci su futuri post, pero' prossimamente faro' un'altra prova di cui sono molto curioso e che attendo con ansia, di cosa si tratta? Beh creiamo un attimo di suspence... non si tratta della SP1... ;-)
sabato 16 febbraio 2008
Vista SP1 vs. XP SP2 - Benchmarked
Il signor Adrian Kingsley-Hughes e' l'ennesimo produttore di FUD su Vista.
Effettua delle prove comparative di operazioni su file tra Vista SP1 e XP SP2 dimenticandosi di sottolineare che il primo ha Windows Defender attivo e il secondo no.
Che senso ha un confronto simile?
Nessuno.
Se volesse fare un confronto sensato installerebbe Windows Defender anche su XP oppure lo disabiliterebbe su Vista.
I confronti si fanno tra sistemi comparabili, come si fa a concludere che Vista e' piu' lento nelle operazioni sui file se la lentezza e' dovuta a un applicativo che si puo' benissimo installare anche su XP?
Ne avevo gia' parlato, ma e' sempre meglio far presente questi aspetti.
[AGGIORNAMENTO: visto che c'e' chi non ci crede, ho rifatto il test che avevo gia' fatto in passato, questa volta prendendo una gerarchia di 173 cartelle contenenti complessivamente 803 files (tra cui anche molti eseguibili) per complessivi 195 MB.
Il file compresso ZIP e' risultato di 140 MB.
Ho provato a decomprimerlo su XP SP2 e Vista RTM avendo cura di disabilitare Windows Defender. Su entrambi i sistemi il tempo di decompressione e' di circa 36 secondi.
Ho ripetuto le prove varie volte facendo ogni volta reboot onde evitare che entrasse in gioco la cache.
Poi ho provato a fare la copia della cartella: su XP ci ha messo nel caso migliore 40 secondi, mentre su Vista 29 secondi.
Anche in questo caso ho rifatto la prova varie volte riavviando ogni volta, infatti se si ripete la copia senza riavviare si scende a valori di 16 secondi per XP e 14 secondi per Vista.
Quindi questi primi test mostrano che Vista RTM non e' piu' lento di XP, mentre i test di ZDNet dicono che Vista sarebbe 4 volte piu' lento di XP nella decompressione dei file ZIP e il 24% piu' lento nella copia disco a disco di piu' files.
Poi ho provato a fare gli stessi test attivando su Vista Windows Defender.
La decompressione del file ZIP e' passata da 36 a 58 secondi e ripetute prove (alternate da reboot) hanno sempre impiegato oltre i 58 secondi.
Ho quindi disabilitato Windows Defender, riavviato la macchina e rieffettuato il test di decompressione ottenendo nuovamente (e come immaginabile) 36 secondi.
Per me quindi e' fuori di dubbio che Windows Defender ha un impatto notevole su questo tipo di test, e la differenza cosi' corposa esclude nel modo piu' assoluto che ci possano essere "errori" di misura o altri fattori.
Ho poi effettuato anche il test della copia della cartella sullo stesso disco con Windows Defender attivo: vengono impiegati nel caso migliore 36 secondi contro i 29 secondi ottenuti con Windows Defender spento.
In questo caso la differenza non e' esorbitante ma comunque nell'ordine del 20%.
E' verosimile che le differenze di prestrazioni possano variare al variare della tipologia dei file presenti, ma la sostanza di fondo non cambia: per effettuare questi test comparativi tra Vista e XP, Windows Defender va disabilitato.
Se qualcuno non crede a questi numeri provi e mi sappia dire ;-)]
Effettua delle prove comparative di operazioni su file tra Vista SP1 e XP SP2 dimenticandosi di sottolineare che il primo ha Windows Defender attivo e il secondo no.
Che senso ha un confronto simile?
Nessuno.
Se volesse fare un confronto sensato installerebbe Windows Defender anche su XP oppure lo disabiliterebbe su Vista.
I confronti si fanno tra sistemi comparabili, come si fa a concludere che Vista e' piu' lento nelle operazioni sui file se la lentezza e' dovuta a un applicativo che si puo' benissimo installare anche su XP?
Ne avevo gia' parlato, ma e' sempre meglio far presente questi aspetti.
[AGGIORNAMENTO: visto che c'e' chi non ci crede, ho rifatto il test che avevo gia' fatto in passato, questa volta prendendo una gerarchia di 173 cartelle contenenti complessivamente 803 files (tra cui anche molti eseguibili) per complessivi 195 MB.
Il file compresso ZIP e' risultato di 140 MB.
Ho provato a decomprimerlo su XP SP2 e Vista RTM avendo cura di disabilitare Windows Defender. Su entrambi i sistemi il tempo di decompressione e' di circa 36 secondi.
Ho ripetuto le prove varie volte facendo ogni volta reboot onde evitare che entrasse in gioco la cache.
Poi ho provato a fare la copia della cartella: su XP ci ha messo nel caso migliore 40 secondi, mentre su Vista 29 secondi.
Anche in questo caso ho rifatto la prova varie volte riavviando ogni volta, infatti se si ripete la copia senza riavviare si scende a valori di 16 secondi per XP e 14 secondi per Vista.
Quindi questi primi test mostrano che Vista RTM non e' piu' lento di XP, mentre i test di ZDNet dicono che Vista sarebbe 4 volte piu' lento di XP nella decompressione dei file ZIP e il 24% piu' lento nella copia disco a disco di piu' files.
Poi ho provato a fare gli stessi test attivando su Vista Windows Defender.
La decompressione del file ZIP e' passata da 36 a 58 secondi e ripetute prove (alternate da reboot) hanno sempre impiegato oltre i 58 secondi.
Ho quindi disabilitato Windows Defender, riavviato la macchina e rieffettuato il test di decompressione ottenendo nuovamente (e come immaginabile) 36 secondi.
Per me quindi e' fuori di dubbio che Windows Defender ha un impatto notevole su questo tipo di test, e la differenza cosi' corposa esclude nel modo piu' assoluto che ci possano essere "errori" di misura o altri fattori.
Ho poi effettuato anche il test della copia della cartella sullo stesso disco con Windows Defender attivo: vengono impiegati nel caso migliore 36 secondi contro i 29 secondi ottenuti con Windows Defender spento.
In questo caso la differenza non e' esorbitante ma comunque nell'ordine del 20%.
E' verosimile che le differenze di prestrazioni possano variare al variare della tipologia dei file presenti, ma la sostanza di fondo non cambia: per effettuare questi test comparativi tra Vista e XP, Windows Defender va disabilitato.
Se qualcuno non crede a questi numeri provi e mi sappia dire ;-)]
domenica 13 gennaio 2008
Come NON si valutano le performance di un sistema operativo.
[Ho cambiato titolo, aggiungendo il "NON" e togliendo il punto di domanda finale, per renderlo piu' attinente al contenuto del post ;-)]
Mi e' stato segnalato questo articolo, apparso ancora un anno fa, su un confronto tra XP e Vista in termini di prestazioni dei due sistemi operativi.
L'articolo inizia subito male a partire dal titolo:
e prosegue con:
Perche' dico che inizia male? Perche' il concetto stesso che il tempo di eseguzione di un'applicazione sia influenzato in modo significativo dal sistema operativo e' risibile.
Davvero c'e' qualcuno che pensa che un sistema operativo possa far girare un'applicazione piu' o meno velocemente?
O che il tema grafico che si appoggia alla GPU possa influenzarne le prestazioni delle applicazioni?
Un articolo serio di valutazione di Vista rispetto a XP dovrebbe invece iniziare proprio spiegando quali sono le interazioni tra sistema operativo e applicazioni, quali aspetti di questa interazione possono venir misurati in termini di tempo di eseguzione e quali altri fattori (non necessariamente legati al sistema operativo) possono influenzare le prestazioni generali di un'applicazione.
Quindi vediamo di chiarire da subito: il sistema operativo non ha il "compito" di velocizzare l'eseguzione delle applicazioni. Il sistema operativo ha il compito di fornire alle applicazioni un ambiente nel quale le funzionalita' necessarie all'applicazione sono messe a disposizione "in modo ottimale".
Le funzionalita' messe a disposizione dal sistema alle applicazioni sono ad esempio l'accesso a disco, l'allocazione della memoria, l'interfacciamento alle periferiche, la comunicazione con altre applicazioni etc.
Il sistema operativo puo' quindi influire in parte su aspetti come il tempo di avvio di un'applicazione, ad esempio se l'applicazione e' gia' presente in memoria viene risparmiato il tempo di accesso a disco, ma di certo non influisce in modo significativo sul tempo di eseguzione di un'applicazione in senso lato.
Nell'articolo citato tra le varie applicazioni testate c'e' WinRar e affermano che su Vista gira il 21,8% piu' lentamente che su XP.
La cosa e' chiaramente una sciocchezza piu' unica che rara.
Nel momento in cui WinRar inizia l'attivita' di compressione o decompressione di un archivio quello che conta e' la potenza di calcolo perche' il flusso in scrittura e lettura da disco e' di entita' irrilevante rispetto ai limiti massimi del disco stesso (grossomodo alcuni MB al secondo che sono niente rispetto ai flussi sostenibili da un disco SATA), quindi se non ci sono altri processi che fanno pesantemente uso della CPU, WinRar avra' modo di utilizzare la CPU stessa al massimo delle prestazioni possibili.
Il sistema operativo in pratica e' inesistente sotto questo punto di vista.
Ma allora com'e' che su Vista hanno misurato un tempo piu' lungo per svolgere la stessa operazione di compressione/decompressione?
Cos'e' che puo' intervenire a rallentare l'eseguzione di WinRar? Si tratta di qualche funzionalita' del sistema operativo? O forse si tratta di qualche altro aspetto?
La risposta e' di una ovvieta' piu' unica che rara: la colpa e' dell'antivirus (o piu' precisamente dell'antispyware).
I test di cui sopra sono stati effettuati su XP senza Windows Defender confrontandoli con Vista con Windows Defender attivo.
Ora e' quantomeno poco corretto non mettere in evidenza la cosa da parte del giornalista e non provare ad effettuare un confronto su Vista tenendo Windows Defender non attivo, oppure installandolo anche su XP.
Windows Defender e' un'applicativo (quindi non e' un componente del sistema operativo) che su XP si puo' installare ma non c'e' di default, mentre su Vista lo troviamo gia' installato, ma nessuno ci obbliga ovviamente a tenerlo attivo.
Se si vuole davvero fare un confronto tra due sistemi operativi per valutarne le prestazioni allora si deve farlo a parita' di condizioni.
Come contro prova ho fatto dei test su Vista usando 7zip che e' un'utility di compressione/decompressione analoga a WinRar.
I risultati per una cartella di 8.115 file per un totale di 422 MB e' stato di 2 minuti e 20 secondi per la compressione senza Windows Defender attivo e di 2 minuti e 30 secondi con Windows Defender attivo.
Sulla stessa macchina con XP senza Windows Defender i tempi sono stati di 2 minuti e 20 secondi (ovviamente stesso identico risultato che sotto Vista in quanto quello che conta durante la compressione e' unicamente la potenza di calcolo della CPU).
Infine ho provato dopo aver installato su XP Windows Defender... provate a indovinare... 2 minuti e... suspense... e 52 secondi!
Quindi quello che posso concludere e' che senza Windows Defender, 7zip su XP e Vista gira esattamente negli stessi tempi, mentre in caso di presenza di Windows Defender su XP le prestazioni sono inferiori che su Vista (evidentemente Windows Defender e' stato ottimizzato per Vista e non per XP).
L'articolo e' tutto costellato di errori grossolani come quello evidenziato, ad esempio affermano che Vista faccia girare i giochi piu' lentamente di XP quando invece l'unico fattore che ha senso prendere in considerazione per i giochi e' la qualita' del driver della scheda video, e infatti oggi che i driver delle schede video sono finalmente stati messi a punto non si notano certo differenze nel frame rate tra XP e Vista (e come detto e ridetto vorrei anche vedere come il sistema operativo potrebbe in qualche modo rallentare la GPU!).
Tra le conclusioni a cui arriva l'articolo questa e' veramente da incorniciare come perla di "saggezza":
alla faccia di ogni buon senso informatico, visto che le prestazioni in rendering sono strettamente legate all'hardware e non certo al sistema operativo.
Poi oltre ad aver commesso innumerevoli errori nella predisposizione dei test, si sono completamente dimenticati di fare il confronto tra quegli aspetti che invece possono essere condizionati pesantemente dal sistema operativo.
Ad esempio non hanno confrontato le prestazioni sotto stress, quando cioe' il PC e' utilizzato intensamente da piu' applicazioni e il sistema operativo ha un ruolo importante per condividere tra i vari processi le risorse a disposizione.
Non hanno valutato se lo stack TCP/IP e' cambiato e se offre prestazioni diverse, non hanno confrontato la gestione del traffico di rete o la capacita' del sistema di rimanere utilizzabile quando un'applicazione CPU intensive e' in eseguzione etc.
Sostanzialmente i risultati dei test che hanno svolto non danno alcuna informazione utile a capire cosa c'e' di nuovo in Vista rispetto a XP, ne' in bene ne' in male.
Di tutto l'articolo l'unica cosa che si ricava e' che a gennaio del 2007 i driver per le schede video non erano ancora ottimizzati, per il resto e' solo una raccolta di numeri senza molto senso.
[Aggiornamento: gia' a Settembre i driver video offrivano prestazioni assolutamente identiche a quelle dei driver di XP, come dimostrato da questi confronti (uno, due e pagine successive). C'e' da notare solo che per le configurazioni con due schede in alcuni casi le performance sotto Vista sono state inferiori, ma anche qui si tratta solo di ottimizzazione dei driver.]
Ma non mi stupisce questo tipo di atteggiamento mentale dei giornalisti verso un prodotto che veniva preceduto dalla sua "fama" di prodotto mal riuscito prima ancora di essere realmente messo alla prova dei fatti. In fondo il giornalista non ha fatto altro che cercare delle conferme a delle tesi precostituite e non ha fatto alcuno sforzo per confrontare due prodotti a parita' di condizioni, dimenticandosi poi del tutto di testare le vere funzionalita' del sistema operativo temendo forse di trovare dati che avrebbero contraddetto la sua posizione di partenza.
Mi e' stato segnalato questo articolo, apparso ancora un anno fa, su un confronto tra XP e Vista in termini di prestazioni dei due sistemi operativi.
L'articolo inizia subito male a partire dal titolo:
Windows Vista è più veloce di Windows XP?
e prosegue con:
Quali applicazioni saranno eseguite senza problemi o più lentamente a causa delle nuove funzionalità e dell'interfaccia AeroGlass?
Perche' dico che inizia male? Perche' il concetto stesso che il tempo di eseguzione di un'applicazione sia influenzato in modo significativo dal sistema operativo e' risibile.
Davvero c'e' qualcuno che pensa che un sistema operativo possa far girare un'applicazione piu' o meno velocemente?
O che il tema grafico che si appoggia alla GPU possa influenzarne le prestazioni delle applicazioni?
Un articolo serio di valutazione di Vista rispetto a XP dovrebbe invece iniziare proprio spiegando quali sono le interazioni tra sistema operativo e applicazioni, quali aspetti di questa interazione possono venir misurati in termini di tempo di eseguzione e quali altri fattori (non necessariamente legati al sistema operativo) possono influenzare le prestazioni generali di un'applicazione.
Quindi vediamo di chiarire da subito: il sistema operativo non ha il "compito" di velocizzare l'eseguzione delle applicazioni. Il sistema operativo ha il compito di fornire alle applicazioni un ambiente nel quale le funzionalita' necessarie all'applicazione sono messe a disposizione "in modo ottimale".
Le funzionalita' messe a disposizione dal sistema alle applicazioni sono ad esempio l'accesso a disco, l'allocazione della memoria, l'interfacciamento alle periferiche, la comunicazione con altre applicazioni etc.
Il sistema operativo puo' quindi influire in parte su aspetti come il tempo di avvio di un'applicazione, ad esempio se l'applicazione e' gia' presente in memoria viene risparmiato il tempo di accesso a disco, ma di certo non influisce in modo significativo sul tempo di eseguzione di un'applicazione in senso lato.
Nell'articolo citato tra le varie applicazioni testate c'e' WinRar e affermano che su Vista gira il 21,8% piu' lentamente che su XP.
La cosa e' chiaramente una sciocchezza piu' unica che rara.
Nel momento in cui WinRar inizia l'attivita' di compressione o decompressione di un archivio quello che conta e' la potenza di calcolo perche' il flusso in scrittura e lettura da disco e' di entita' irrilevante rispetto ai limiti massimi del disco stesso (grossomodo alcuni MB al secondo che sono niente rispetto ai flussi sostenibili da un disco SATA), quindi se non ci sono altri processi che fanno pesantemente uso della CPU, WinRar avra' modo di utilizzare la CPU stessa al massimo delle prestazioni possibili.
Il sistema operativo in pratica e' inesistente sotto questo punto di vista.
Ma allora com'e' che su Vista hanno misurato un tempo piu' lungo per svolgere la stessa operazione di compressione/decompressione?
Cos'e' che puo' intervenire a rallentare l'eseguzione di WinRar? Si tratta di qualche funzionalita' del sistema operativo? O forse si tratta di qualche altro aspetto?
La risposta e' di una ovvieta' piu' unica che rara: la colpa e' dell'antivirus (o piu' precisamente dell'antispyware).
I test di cui sopra sono stati effettuati su XP senza Windows Defender confrontandoli con Vista con Windows Defender attivo.
Ora e' quantomeno poco corretto non mettere in evidenza la cosa da parte del giornalista e non provare ad effettuare un confronto su Vista tenendo Windows Defender non attivo, oppure installandolo anche su XP.
Windows Defender e' un'applicativo (quindi non e' un componente del sistema operativo) che su XP si puo' installare ma non c'e' di default, mentre su Vista lo troviamo gia' installato, ma nessuno ci obbliga ovviamente a tenerlo attivo.
Se si vuole davvero fare un confronto tra due sistemi operativi per valutarne le prestazioni allora si deve farlo a parita' di condizioni.
Come contro prova ho fatto dei test su Vista usando 7zip che e' un'utility di compressione/decompressione analoga a WinRar.
I risultati per una cartella di 8.115 file per un totale di 422 MB e' stato di 2 minuti e 20 secondi per la compressione senza Windows Defender attivo e di 2 minuti e 30 secondi con Windows Defender attivo.
Sulla stessa macchina con XP senza Windows Defender i tempi sono stati di 2 minuti e 20 secondi (ovviamente stesso identico risultato che sotto Vista in quanto quello che conta durante la compressione e' unicamente la potenza di calcolo della CPU).
Infine ho provato dopo aver installato su XP Windows Defender... provate a indovinare... 2 minuti e... suspense... e 52 secondi!
Quindi quello che posso concludere e' che senza Windows Defender, 7zip su XP e Vista gira esattamente negli stessi tempi, mentre in caso di presenza di Windows Defender su XP le prestazioni sono inferiori che su Vista (evidentemente Windows Defender e' stato ottimizzato per Vista e non per XP).
L'articolo e' tutto costellato di errori grossolani come quello evidenziato, ad esempio affermano che Vista faccia girare i giochi piu' lentamente di XP quando invece l'unico fattore che ha senso prendere in considerazione per i giochi e' la qualita' del driver della scheda video, e infatti oggi che i driver delle schede video sono finalmente stati messi a punto non si notano certo differenze nel frame rate tra XP e Vista (e come detto e ridetto vorrei anche vedere come il sistema operativo potrebbe in qualche modo rallentare la GPU!).
Tra le conclusioni a cui arriva l'articolo questa e' veramente da incorniciare come perla di "saggezza":
Se avete bisogno di un computer che concluda un gran numero di codifiche o rendering nel minor tempo possibile, vi conviene restare con XP
alla faccia di ogni buon senso informatico, visto che le prestazioni in rendering sono strettamente legate all'hardware e non certo al sistema operativo.
Poi oltre ad aver commesso innumerevoli errori nella predisposizione dei test, si sono completamente dimenticati di fare il confronto tra quegli aspetti che invece possono essere condizionati pesantemente dal sistema operativo.
Ad esempio non hanno confrontato le prestazioni sotto stress, quando cioe' il PC e' utilizzato intensamente da piu' applicazioni e il sistema operativo ha un ruolo importante per condividere tra i vari processi le risorse a disposizione.
Non hanno valutato se lo stack TCP/IP e' cambiato e se offre prestazioni diverse, non hanno confrontato la gestione del traffico di rete o la capacita' del sistema di rimanere utilizzabile quando un'applicazione CPU intensive e' in eseguzione etc.
Sostanzialmente i risultati dei test che hanno svolto non danno alcuna informazione utile a capire cosa c'e' di nuovo in Vista rispetto a XP, ne' in bene ne' in male.
Di tutto l'articolo l'unica cosa che si ricava e' che a gennaio del 2007 i driver per le schede video non erano ancora ottimizzati, per il resto e' solo una raccolta di numeri senza molto senso.
[Aggiornamento: gia' a Settembre i driver video offrivano prestazioni assolutamente identiche a quelle dei driver di XP, come dimostrato da questi confronti (uno, due e pagine successive). C'e' da notare solo che per le configurazioni con due schede in alcuni casi le performance sotto Vista sono state inferiori, ma anche qui si tratta solo di ottimizzazione dei driver.]
Ma non mi stupisce questo tipo di atteggiamento mentale dei giornalisti verso un prodotto che veniva preceduto dalla sua "fama" di prodotto mal riuscito prima ancora di essere realmente messo alla prova dei fatti. In fondo il giornalista non ha fatto altro che cercare delle conferme a delle tesi precostituite e non ha fatto alcuno sforzo per confrontare due prodotti a parita' di condizioni, dimenticandosi poi del tutto di testare le vere funzionalita' del sistema operativo temendo forse di trovare dati che avrebbero contraddetto la sua posizione di partenza.
Iscriviti a:
Post (Atom)