CoM – Il Blog di Carlo Becchi Compreresti un Raggio della Morte usato, da quest'uomo?

24nov/0869

Benchmark di Adobe Flash 10 per Linux e Mac: analisi delle prestazioni.

Considerando il notevole aumento prestazionale di Flash 10 per Linux, e il buzz creato dal rilascio della prima e unica versione a 64 bit del player proprio per il nostro sistema operativo ho deciso di investigare con maggiore attenzione le prestazioni di questo fondamentale componente per la fruizione dei servizi web, ottenendo alcune sorprese che non mi sarei aspettato.

Il post di riferimento è senza dubbio quello di Ars Technica nel quale sono contenuti diversi spunti interessanti.

E' indubbio che la versione di riferimento per quanto riguarda le performance di Flash sia sempre stata, e rimane quella per Windows.

Ciò che non mi sarei aspettato è scoprire che anche la versione per mac è parecchio lenta, forse addirittura peggiore di quella per Linux. Ne ho parlato un po' con l'amico Danilo di Allaboutapple e mi ha confermato l'impressione avuta dal benchmark di Ars Technica: a detta di Danilo, lanciare un qualunque sito che utilizzi flash su Mac, comporta un generale decadimento di prestazioni per l'uso intenso della CPU, tanto da innescare immediatamente la ventola del suo Macbook.

A titolo di esempio, un Macbook Air con un Core 2 Duo a 1.6 Ghz, secondo Ars Technica ottiene un valore GuiMARK Flex 3 di 17 Frame/s, mentre il mio vetusto Pentium M 2.0 Ghz, single core, Ubuntu 8.10 Intrepid Ibex, Driver Ati Open Source ottiene 13 Frame/s, 16 disabilitando Compix Fusion (provando al momento con un sacco di programmi aperti, il risultato "scientifico" è ancora migliore).

E' chiaramente impossibile confrontare direttamente questi dati a causa delle notevole differenze di piattaforma (l'architettura del Macbook è più moderna, dual core ma con un clock inferiore, inoltre si può supporre driver migliori di quelli -in forte sviluppo- Ati open source), tuttavia credo che misurare le prestazioni di Flash 10 per Linux possa essere interessante (e divertente) e così ho pensato di stabilire un protocollo di Benchmark più semplice, meno aleatorio e più orientato all'utenza italiana (su hulu in teoria noi non possiamo accedere! ; - )) di quello proposto da Ars Technica.

Invito chiunque abbia tempo e voglia di collaborare, ad eseguire questi test e a riportare i risultati commentando questo post.

Protocollo di benchmark

-0- Preparazione

Rilevare ed annotare le caratteristiche del computer sul quale si esegue il test:

Hardware: Computer, Processore, Memoria di Sistema, scheda video.

Software: Sistema operativo, (per linux) versione del kernel (uname -r da terminale), browser, driver video, particolari opzioni (es. Compiz Fusion).

Se possibile eseguire i test subito dopo il boot, con il minor numero di software e servizi attivi, usando una sola finestra del browser, possibilmente Firefox su tutte le piattaforme.

La versione dei driver video per linux si può trovare nei pannelli di configurazione dei driver (se presenti) o più in generale attraverso il log (Registro di Sistema) di Xorg o verificando la versione del pacchetto installata dal packet manager (se non lo trovate, la sola tipologia è sufficiente es: Intel open source, Ati Proprietari ecc.).

 -1- GUIMark Flex 3

Un benchmark sul disegno 2D di interfacce grafiche.

Recarsi sulla pagina di GUIMark, cliccare su Run Test in alto a sinistra. Attendere qualche secondo finché non sarà mostrato un grafico delle prestazioni e il valor medio in FPS (Average FPS). Appuntarsi questo risultato.

-2- Flash Benchmark '08

Un benchmark per i giochi flash.

Recarsi sulla pagina di Flash Benechmark 2008 e cliccare su Start. Questo benchmark è composto da più stadi di crescente complessità, che si superano se si ottiene un frame rate di almeno 25 fotogrammi/s

Al termine dei vari test (o anche se si fallisce il primo) verrà comunicato un risultato numerico, da appuntarsi.

-3- Video di Youtube.

Video di riferimento: Trailer Watchmen, qualità standard, non a pieno schermo.

Qui le cose si fanno un filo più complicate perché non esiste un benchmark per i video su youtube.
Ci limiteremo quindi ad una valutazione empirica dell'occupazione della CPU durante la riproduzione del video di riferimento.
Per Windows si può usare il task manager, per Mac beh... non saprei ; - ) per linux consiglio di evitare i monitor di sistema ad interfaccia grafica, suprattutto quello di Ubuntu (GNOME) in quanto decisamente avidi di risorse.

Ecco come fare:
Aprite un terminale, e lanciate il comando top. Ci sono diversi processi che entrano in gioco durante la riproduzione di un filmato flash. Su Ubuntu sono principalmente Firefox, X.org e pulsaudio, nonostante altri processi siano coinvolti in maniera meno preponderante come Compiz o Metacity.
Per uniformare le misurazioni propongo una rilevazione un po' empirica dell'uso complessivo della CPU, ottenibile (sempre piuttosto empiricamente) sommando i valori us e sy nell'intestazione di top, campo Cpu(s).

Aprite quindi il video di riferimento e verificate il consumo della CPU con top, senza aprire altri programmi. Visto che i valori cambieranno continuamente (ma non di molto) calcolate una media... ad occhio ed annotatela.

Il test di Youtube


Ecco quindi i miei risultati, aggiungete i vostri con un commento, grazie!

1) Laptop.

Hardware: Acer Aspire 5510 Pentium M 2.0 Ghz, 1Gb Ram, Ati Radeon Mobile X700 PCI-Express (128 Mb memoria dedicata)

Software: Ubuntu 8.10 Intrepid Ibex, kernel 2.6.27-7-generic, Driver Ati Open Source 6.9.0, Flash 10.0r12, Mozilla Firefox 3.0.4
 

Con Compiz-Fusion abilitato (tra parentesi risultati con driver proprietari ATI fglrx):

  • GUIMark: 14.72  - (fglrx 15,03)
  • Flash Benchmark '08: 8527 - (fglrx 8470 )
  • Youtube (on demand): 60% CPU (di cui 20% X.org)
  • Youtube (forzato 2Ghz): 35% CPU (di cui 17% X.org) (fglrx 24% - 6% Xorg)

Perché due valori per Youtube? Ho eseguito i test con la mia configurazione di default, e con il profilo di gestione del clock della CPU su "on demand" (aumenta il clock solo se c'è necessità). Mi sono reso conto però che il clock non superava mai il livello base (798 Mhz) così ho forzato la CPU a girare a 2Ghz (frequenza massima) e ho ripetuto il test.

Con Compiz-Fusion disabilitato:

  • GUIMark: 18.43 - (fglrx 18,57)
  • Flash Benchmark '08: 9904 - (fglrx 9983)
  • Youtube (on demand): 42% CPU (di cui 2% X.org)
  • Youtube (forzato 2Ghz): 15% CPU (di cui 1.5% X.org) (fglrx 18% - 1.3 Xorg)

Disabilitare Compiz Fusion produce un notevole aumento prestazionale sul mio portatile (me ne ero accorto anche con l'uso quotidiano, senza misurazioni), causato principalmente dall'impressionante riduzione di carico di Xorg, tanto da portare PulseAudio al secondo posto come processo più esoso con il 7% di uso della CPU.

2) Muletto fatto con pezzi di recupero ; - )

Hardware: Athlon Xp 1700+ (1450 Mhz ca), 1Gb Ram, nVidia Geforce Fx 5500 Agp 4x 256 Mb di memoria video.

Software: Kubuntu 8.10 Intrepid Ibex, kernel 2.6.27-7-generic, Driver Proprietari nVidia Version 173, Flash 10.0r12, Mozilla Firefox 3.0.4, nessun effetto grafico di KDE abilitato.

  • GUIMark: 10,27
  • Flash Benchmark '08: 4245
  • Youtube: 30% CPU (di cui 2% X.org)

Quello che sto per scrivere è molto poco professionale nel campo del benchmark, ma vorrei introdurre a titolo di curiosità anche le misure effettuate su Windows che ho in dual boot su questa macchina.

E' l'unica partizione windows che ancora sopravvive in casa, ed è vecchia, stracarica di software ed evocata un paio di volte al mese. Questo NON è un confronto valido per alcuna considerazione prestazionale, in quanto il sistema operativo dovrebbe essere installato di fresco, i driver aggiornati (hanno almeno un anno) e tutti i processi come antivirus, antispyware e tutta la spazzatura necessaria su windows disabilitata (cosa che non ho fatto).

Comunque a titolo esclusivamente di curiosità ecco i risultati su WinXp SP3:

  • GUIMark: 11,09
  • Flash Benchmark '08: 4331
  • Youtube: 38% CPU

L'unica grande differenza riguarda la visualizzazione dei video di youtube a pieno schermo, perfetti con windows, scattosi (inguardabili) con Linux (solo su quest'ultima macchina).


Sorpreso dai risultati, soprattutto in riferimento a quelli del Macintosh, ho chiesto agli amici di All About Apple di collaborare al bechmark, inviandomi alcuni valori di test sulle loro macchine:

Ecco partecipanti  e risultati:

William Ghisolfo (Willy), Roberto Odino (Rob), Alessio Ferraro (Ale), Paolo Bianchi (Cyber), Danilo Olivieri (Dan) e a titolo di conforntono Claudio Monchiero su Windows.

Hardware:

Willy: Macpro, 2x dual core intel xeon 2 Ghz, 5Gb 666MHz, geforce 8800GT pciexpress 1.0 512Mb osX 10.5.5, firefox 3.0.3

Rob: Macbook Pro 2.5Ghz Intel Core 2 Duo, 4 Gb Ram, geforce 8600m GT

Ale: Macpro 2x Quad-Core 2.8 Ghz, 8 Gb ram, Geforce Nvidia 8800 GT OS X 10.5.5

Cyber: macbookpro  Core 2 duo 2,2 Ghz Ram 4GB (667 ddr2 sdram) GeForce 8600GT 128 MB Mac os X 10.5.5 firefox 3.0.4

Dan: Imac Alluminium 2,4ghz core2Duo, 3 gb di ram, scheda video ATI Radeon HD2600 con 256 gb di VRam, browser Safari

Claudio: S.O.  Vista sp1  Cpu Intel  core 2duo e8400 @3.0ghz su Intel P35 Ram 4gb ddr2 800  Scheda grafica Ati Radeon HD4870 512mb

GUIMark Flex 3

22(Willy) / 31,15 (Rob) / 31.63(Ale) / 26,44(Cyber) / 27.61(Dan) / 60(Claudio) / 18,57 (Carlo-Ubuntu)

Flash Benchmark '08

lite: 60.96(Willy) / 59,48(Rob) / 55.25(Ale) / 55,13(Cyber) / 60,9(Dan) / 68.25(Claudio) / 76,24(Carlo-Ubuntu)
medium:  43.94(Willy) / 49(Rob) / 51.31(Ale)/ 46,46(Cyber)/ 42,76(Dan) / 64.43(Claudio) / 23,2(Carlo-Ubuntu)
heavy:  21.83(Willy) / 21,76(Rob) / 34.97(Ale) / 21,4(Cyber) / 20.4(Dan) / 32.07(Claudio) / Fallito(Carlo-Ubuntu)
ultra: Fallito(Willy) / Fallito(Rob)/ 29.54(Ale) / Fallito(Cyber) / Fallito(Dan) / 12.01(Claudio) / Fallito(Carlo-Ubuntu)
Score: 12673(Willy) / 13024(Rob) / 17107(Ale) / 12229(Cyber)/ 12371(Dan)/ 17677(Claudio) / 9983 (carlo-Ubuntu) 

Analisi

Analisi:Mac

 
Per prima cosa è necessario ricordare che l'accelerazione della GPU promessa con Flash 10 è esplicita, ovvero funziona solamente con applicazioni appositamente progettate per trarne vantaggio, sicuramente nessuna di quelle indicate.
Questo, e anche i numeri misurati escludono la scheda video come componente chiave per la visualizzazione in flash.
 
Tentiamo qualche calcolo empirico per poter avere un quadro migliore della situazione, consideriamo GUIMark.
 
Io, su Ubuntu: 18.57/2.0Ghz = 9,28 Frames/Ghz (Pentium M, 1 core)
Willy: 22/2.0Ghz = 11 Frames/Ghz (Xeon, 4 core)
Ale: 31,63/2.8Ghz = 11, 29 Frames/Ghz (Xeon, 8 core)
Rob: 31,15/2,5Ghz = 12,46 Frames/Ghz (Core 2 Duo, 2 core)
Cyber: 26,44/2,2Ghz = 12 Frames/Ghz (Core 2 Duo, 2 core)
Dan: 27,61/2,4Ghz = 11,5 Frames/Ghz (Core 2 Duo, 2 core)
 
Flash Benchmark '08
Io, su Ubuntu: 9983/2.0Ghz = 4991 Punti/Ghz
Willy : 12673/2,0 = 6336 Punti/Ghz
Ale : 17107/2,8 = 6109 Punti/Ghz
Rob : 13024/2,5 = 5209 Punti/Ghz
Cyber : 12229/2,2 = 5558 Punti/Ghz
Danilo : 12371/2,4 = 5154 Punti/Ghz
 
Anche trascurando dati come il chipset, il fatto che il computer sia fisso o portatile e quindi l'architettura, e considerando l'approssimazione dovuta all'uso di computer reali, utilizzati dalle persone che hanno collaborato e con molte applicazioni installate,  non sistemi di laboratorio con il sistema operativo "fresco",  come si dovrebbe fare in un benchmark "serio", risultano evidenti alcuni risultati.
 
GUIMark: 
  • Il numero di core è ininfluente ai risultati, Flash non è multithread, almeno non per le applicazioni considerate (ignoro se sia possibile assegnare thread specifici a specifiche operazioni in Flash10).
  • Su GUIMark, il risultato in Frames è (quasi) perfettamente proporzionale al clock, indipendentemente dalle architetture estremamente differenziate, la frequenza di clock è l'unico discriminante.
 
Con Flash Benchmark '08 si possono individuare due gruppi prestazionali distinti: i Mac Pro, e i Macbook/iMac.
Le diffirenze sostanziali fra le architetture possono così riassumersi:
  • Maggior numero di core nel primo gruppo, che escluderei come fondamentale dato il risultato generale e lo scarto comunque ridotto in termini di prestazioni.
  • La maggior efficienza del gruppo processore/cache/memoria primaria dei sistemi fissi rispetto ai portatili e all'all-in-one (l'iMac di Danilo), giustificata dalla presenza sul Mac Pro di processori Xeon e non normali Core 2 Duo/Quad e di ram probabilmente più veloce. Resta da spiegare la maggiore efficienza del "vecchio" MacPro di William, ma in questo caso, considerando le condizioni di test non proprio rigorose può essere ricondotto a fattori esterni (es. programmi o servizi in funzione sulle macchine).

Analisi: Linux.

Dai numeri riportati si evince che Flash 10 per Linux ha prestazioni paragonabili a quelle per Mac spingendomi a pensare che condividano parti di codice.

Ricordiamo che seppure Core 2 Duo abbia come base il Pentium M, l'architettura Core ha subito numerose modifiche e ottimizzazioni già al momento del lancio, notevolmente affinate durante gli anni, per questo credo che un risultato di 9.28 Frame/Ghz su Pentium M a 2 Ghz sia particolarmente significativo se confrontato con un 11 su un Mac Xeon.

Come già evidenziato dalla mia recensione di Ubuntu 8.10, il salto prestazionale ottenuto con Flash 10 è notevole.

Ati: Driver Proprietari Vs. Driver Open Source.

I driver proprietari offrono prestazioni Flash leggermente superiori rispetto a quelli Open Source. A mio avviso l'aumento non giustifica assolutamente l'uso dei driver proprietari, se non per giocare, sulla mia X700. 

Come oramai è chiaro, la componete grafica è ininfluente su questo particolare set di test, che però racchiude l'utilizzo tipico di Flash: siti (GUIMark), giochi (FB'08) e video (Youtube). In effetti l'aumento dei valori è spiegato facilmente dal test di youtube: i driver proprietari caricano molto meno Xorg rispetto a quelli open source in presenza di Compiz (6% contro 17% dei driver open), lasciando maggiormente libera la cpu di gestire la scena.

Il misterioso risultato di Flash Benchmark '08

Riprendiamo i dati di Flash Benchmark 2008, almeno fino al secondo livello, al quale il mio computer si ferma:

lite: 60.96(Willy) / 59,48(Rob) / 55.25(Ale) / 55,13(Cyber) / 60,9(Dan) / 68.25(Claudio) / 76,24(Carlo-Ubuntu)
medium:  43.94(Willy) / 49(Rob) / 51.31(Ale) / 46,46(Cyber) / 42,76(Dan) / 64.43(Claudio) / 23,2(Carlo-Ubuntu)
 
Notate che a livello lite, Ubuntu sul computer più lento del lotto sbaraglia la concorrenza, ponendosi addirittura 8 frame/s sopra la macchina windows, che vanta la migliore implementazione Flash, e ben 800 MHz di clock in più.
Poi però crolla al test medium, non riuscendo a superarlo (l'unico del lotto).
Ho ripetuto il test numerose volte, e non vi è errore, bisogna solo trovare una spiegazione.

Il test lite, è molto semplice, si occupa solo di disegno e animazione, senza Anti Aliasing o altri effetti complessi.
Questo straordinario risultato si potrebbe spiegare come una maggiore efficienza di Ubuntu rispetto a MacOS (e Windows) nel gestire questo tipo di semplici operazioni, risultato apparentemente confermato da un confronto diretto MacOS - Ubuntu su hardware Mac mini, a cura di Phoronix. Il test che isola la CPU e non comprende altri elementi è il bench sintetico di Byte, nel quale effettivamente ubuntu è più efficiente, seppur con tutte le prundenze del caso (in primo luogo verso un benchmark sintetico, di tipo dhrystone in seconda istanza).Questa è solo un'ipotesi, suggerimenti sono ben accetti.
 
Il crollo delle prestazioni a livello medium non è attribuibile al maggior numero di oggetti sullo sullo schermo, aumento non così rilevante, quindi rimane l'introduzione di trasparenze, anti-aliasing e illuminazione.
Al contrario del semplice disegno degli oggetti vettoriali e bitmap, queste operazioni sono estremamente più intense, ma non tali da giustificare un tale decadimento, almeno rispetto al quadro complessivo, fino ad ora piuttosto lineare. Senza dubbio potrebbe trattarsi di una minore ottimizzazione di Flash per Linux, ma personalmente penso si tratti di un problema hardware: queste funzioni potrebbero avvantaggiarsi delle istruzioni SSE dei processori intel, in questo caso il salto sarebbe giustificato dalla presenza sui chip Core delle versioni SSE3 e soprattutto SSE4, contro le modeste SSE2 del Pentium M. L'arrivo di qualche dato da computer Core 2 Duo con Linux risolverà il dilemma.

Conclusioni.

 
Escludendo la versione Windows, notoriamente la migliore da sempre, Flash 10 per Linux e Mac riportano prestazioni estremamente simili, purtroppo ancora distanti da quanto ottenibile con il sistema operativo Microsoft.
Lungi da me l'idea di aver perso una settimana per questo post, solo per riassumerlo come "mal comune mezzo gaudio", il punto è sicuramente un altro.
Oltre a verificare la validità di questa nuova versione di Flash, che senza dubbio ci avvicina alla concorrenza più agguerrita (mi riferisco a Windows, in quanto Flash per Mac ha sempre condiviso con noi prestazioni mediocri), vorrei rilanciare anche per Linux la cultura del benchmarking, per troppo tempo dimenticata soprattutto in ambito desktop, ma finalmente portata alla ribalta proprio da siti come Phoronix.
 
Questo non solo per poterci confrontare in maniera più diretta con gli altri sistemi operativi, ma anche per verificare l'andamento delle prestazioni tra diverse distribuzioni e con l'avvicendarsi delle versioni, dato importante quando si scegli cosa installare.
Nel caso di Ubuntu ad esempio, l'andamento negli ultimi due anni si dimostra in generale non esaltante, in alcuni specifici settori addirittura sconcertante. Certo, il metodo di sviluppo open source risponde più rapidamente alle critiche e mi risulta che il team del Kernel di Ubuntu abbia preso in seria considerazione il risultato espresso da Phoronix, e questo aumenta a mio avviso l'importanza di presentare analisi prestazionali dettagliate che mettano a nudo le reali prestazioni di Linux, nel bene (per vantarci ; - ) ) e nel male (per porvi rimedio).
 
Ora è giunto il momento del crowdsourcing, attendo con ansia i vostri risultati nei tre test, accompagnati da adeguata descrizione del vostro hardware, in modo da poter stilare un'analisi ancora più accurata, soprattutto se provenienti da Core 2 Duo e/o da macchine con Linux a 64 bit e la nuova alpha di Flash 10 64bit. Se vi va, spargete la voce!
 
Commenti (69) Trackback (6)
  1. I am happy that I detected this weblog, precisely the right info that I was searching for!

  2. I would like to take the opportunity of saying thanks to you for the professional assistance I have enjoyed visiting your site.

    I’m looking forward to the actual commencement of my college research and the general prep
    would never have been complete without checking out your website.
    If I could be of any help to others, I’d personally be
    ready to help through what I have learned from here.

  3. Es sind maximal 31 von 41 Trophäen erspielbar.

  4. Es sind maximal 15 von 16 Trophäen erspielbar.

  5. Die gewählte Filiale speichern wir für Sie dauerhaft.

  6. Es sind maximal 41 von 51 Trophäen erspielbar.

  7. Nach dessen Auflösung durch Heinrich VIII.

  8. After I initially left a comment I appear to have clicked the -Notify me when new comments are added- checkbox
    and from now on every time a comment is added I receive four emails with the same comment.
    Is there a means you are able to remove me from that service?
    Many thanks!

  9. Das gilt für gleichen Jahrgang und gleiche Charge.

  10. Es werden keine Challenges mehr veröffentlicht.

  11. Das betrifft beide Versionen des Spiels (INT, JP).

  12. Es werden keine Challenges mehr veröffentlicht.

  13. Es sind maximal 30 von 32 Trophäen erspielbar.

  14. Es sind maximal 38 von 40 Trophäen erspielbar.

  15. Die Versandkosten können nicht berechnet werden.

  16. Es sind maximal 5 von 7 Trophäen erspielbar.

  17. Es sind maximal 0 von 20 Trophäen erspielbar.

  18. I am really pleased to glance at this website posts which consists of plenty of valuable facts, thanks
    for providing these statistics.

  19. You probably may have learned that these gaming machines are really
    popular across the world if you haven. Putting such information make album worth buying and keeping
    as collector’s item. For example, bonds generally perform well when equities are struggling.


Lascia un commento


Rss Feed Tweeter button Facebook button Youtube button