dT n.22/2013 del 07.10.2013
Cornice stile Ritorno al futuro
OCT 07 2013


B come Benchmark bugiardi!

Si fa presto a dire Benchmark e soprattutto a dare i numeri, veri o falsi che siano, 'misurati' con questi strumenti.

Immagine_inline

«C'è un famoso detto commercial-informatico che suona pressappoco così: i benchmark non dicono bugie ma i bugiardi usano i benchmark».

La frase che avete appena letto (sfido chiunque a giudicarla obsoleta...) la scrivevo, e qualcuno la leggeva!, su MC nel lontano 1991 e già a quei tempi la stessa era tutt'altro che una novità. Stiamo parlando del giurassico 1991, era in cui l'informatica personale si trovava nel pieno della sua attività: non si parlava più di alfabetizzazione informatica - che apparteneva, semmai, al decennio precedente - ma di computer per tutti e non solo per i soliti, tristissimi, addetti ai lavori.

L'articolo in questione trattava un confronto-scontro tra due processori (classe 386) pressoché identici, prodotti da due case ancor oggi concorrenti: AMD e Intel. Il risultato dei test - e non poteva essere diversamente - decretò una sostanziale parità tra i due processori e l'ennesima conferma della quasi-inutilità dei benchmark, questione sulla quale MC s'è sempre battuta, usandoli sì internamente, ma pubblicandone i risultati sempre con il contagocce. Il tutto mentre altre riviste concorrenti non facevano altro che riempire pagine e pagine di grafici... facendo fessi e contenti lettori e produttori. Vabbè, meglio non girare troppo il coltello nella (propria) ferita... :-)

Corsi e ricorsi storici

La questione, però, è tutt'altro che storica. Riguarda un recente accadimento che ha coinvolto (per la seconda volta!) nientemeno che Samsung a seguito del lancio del suo recentissimo Note 3. Era già successo pochi mesi fa con il Galaxy S4: a quanto pare i due device sono in grado di accorgersi se è in esecuzione un programma di benchmark liberando (solo per l'occasione) tutta la potenza disponibile con il solo scopo di raggiungere un punteggio più elevato possibile.

Immagine_inlinePotenza che, sempre secondo i ben informati, non viene mai utilizzata per l'esecuzione dei programmi normali per garantire una maggiore autonomia di utilizzo. Come dire che su questi dispositivi il risultato rilevato dai benchmark, seppur misurato effettivamente in quegli instanti, ha poco o nulla a che vedere con le reali performance offerte.

E questo, scusate se insisto, avvalora la tesi, storica, iniziale... ovvero che chi vuole avvalorare le proprie bugie tecnologiche trova, volendo, anche il supporto tecnologico necessario.

Certamente peggiore è, poi, lo scenario relativo ad alcuni dispositivi cinesi, come mi è capitato di verificare di persona poche settimane fa. Nel caso del finto melafonino visibile qui a lato (non è l'originale Apple, ma un clone cinese basato alla meno peggio su Android) in cui i risultati falsi non sono verificati nemmeno durante l'esecuzione dei test, ma semplicemente mostrati a video tramite l'indicazione di inesistenti caratteristiche tecniche rilevate. Anzi, nemmeno rilevate, ma solo lette all'interno del sistema dove vengono scritte falsate. Più tarocco di così?!?

MHz, MIPS e MEGA... FLOPS!

«È facile affermare: il nostro extra-ultra-strafigo-computer lavora a 200 MIPS un po' meno spiegare (lealmente) cosa si intende in quel momento per 200 MIPS. Intanto c'è da capire se quel valore è di picco oppure è un valor medio. Nel primo caso, capirete, ha ben poco significato: a cosa serve un processore che esegue col turbo le operazioni nulle (NOP) e poi si pianta alla prima moltiplicazione o divisione a più di 8 bit? E se invece si tratta di valore medio, come è stabilita questa media? Una media non pesata tra i tempi di esecuzione di tutte le istruzioni eseguibili da quel processore ha lo stesso valore del caso di prima: il dato è assolutamente non significativo. Una media pesata sulla frequenza delle istruzioni nei programmi, per così dire, generici già si avvicina maggiormente ad un valore equo di performance di quel sistema. L'importante è non barare sulle proprie carte: ogni processore, per quanto general purpose, ha sempre e comunque una determinata aspirazione intrinseca. Se il processore ha una struttura vettoriale sarà indicato per calcoli matriciali: inutile cercare di farlo correre su applicazioni non (altrettanto) vettoriali: rischieremmo di avere performance tipiche di processori dal costo decine se non centinaia di volte inferiori».

Immagine_inlinePer quanti milioni di metri cubi d'acqua siano passati nel frattempo sotto i ponti, il ragionamento espresso 22 anni fa continua ad essere valido. C'eravamo da tempo liberati dei MHz come metro di paragone per valutare la velocità di un processore, e già da qualche anno si cominciava a parlare di Mips (milioni di istruzioni per secondo) e di Megaflops (milioni di operazioni in virgola mobile per secondo) per valutare le performance, salvo scoprire di lì a poco che anche questi due parametri rappresentavano valori non meno discutibili del primo.

A quei tempi, se non ricordo male, ancora non c'erano - o se c'erano erano rarissimi - i benchmark come li intendiamo, anzi li vediamo, oggi. Più che altro erano delle semplici raccolte di routine, scritte appositamente, eseguite una di seguito all'altra per testare le varie capacità di calcolo. Così, come nell'esempio qui sopra dell'epoca, si eseguiva un (non meglio specificato) algoritmo di sort numerico per valutare la CPU sotto il profilo integer e un paio di trasformate di Fourier per saggiare le capacità floating point della macchina sotto osservazione.

Immagine_inlineChe poi nessuno degli utenti utilizzasse principalmente il proprio PC per questi due specifici aspetti - riordinamento numerico e FFT - poco importa(va). L'importante era sputare al termine il numero magico che, agli occhi dei meno attenti, rappresentava un valore assoluto o relativo delle performance offerte. Ovviamente... nulla di più falso!

Il passo successivo, ma non meno criticabile, fu quello di offrire benchmark basati sul reale utilizzo di un computer, e non su astratti calcoli matematici effettuati, per di più, in ottimizzato linguaggio macchina. Come nella ricetta antica di una pozione magica trovavamo un po' di wordprocessing, una manciata di foglio elettronico, una grattatina di data base, una abbondante spolverata di CAD bidimensionale, non senza quel tocco finale di rendering 3D che chiunque compie sul proprio PC prima di andare a letto la sera. Il risultato? L'ennesimo numeretto magico che aveva/ha la pretesa di valutare nel complesso il computer da testare. Con il quale, ovviamente, si dimostrava tutto e il contrario di tutto. Il punto è sempre lo stesso: non si può ridurre a un semplice, unico, valore le performance complessive di un computer. Già solo per il fatto che ognuno usa il PC a modo proprio dovrebbe far riflettere al riguardo.

Eppure, passano gli anni, ma continuiamo a dire e a ripetere le stesse cose...

Bah!

AdP

Condividi su Facebook Condividi su Twitter Condividi su LinkedIn Condividi su WhatsApp Invia per email

Progetto a cura di

Andrea de Prisco - AdP

Per ulteriori informazioni, scrivi a:

i-n-f-o(a)adpware.it
(tolti i trattini e con la @ dove serve!)

oppure utilizza il modulo Contattami