
Originariamente inviato da
theshine
sicuramente è così, del resto quello che fa il jit è proprio far eseguire un sottoinsieme del bytecode dalvik direttamente in istruzioni per il processore, compilandole a tutti gli effetti.
Ed è qui che il discorso del divario tra i due si riallaccia a quanto diceva TheSolutor. Anche sullo stesso ambiente è lapalissiano che i risultati siano differenti essendo processori diversi eseguono il codice diversamente.
Le differenze erano minime prima dell'avvento del JIT, proprio perchè la VM tendeva più o meno a normalizzare i risultati visto che magari mentre un processore eccelleva in determinate istruzioni, l'altro eccelleva in quelle dove l'altro era carente (e anche se l'ambiente è virtualizzato la vm è sempre compilata quindi ci possono sempre essere differenze nella sua esecuzione in base a come è scritta e compilata).
Con il JIT il divario è aumentato perchè evidentemente su tutte quelle istruzioni su cui lavora, lo snapdragon è favorito e non mi meraviglierei nemmeno che sia una realizzazione by design del jit di favorire enormemente la compilazione delle istruzioni su snapdragon essendo il nexus il terminale di sviluppo.
Detto questo, il divario degli esempi che porti è così accentuato, perchè prima di tutto sono test fatti in ambienti a tutti gli effetti diversi, hanno rom custom, kernel diversi, addirittura nel primo esempio confronti un terminale con 2.2 con 2.1.
Per vedere in modo più preciso e serio di quanto è il divario, e fare supposizioni varie, dobbiamo creare innanzitutto due ambienti più possibile uguali, quindi già non bisognerebbe guardare proprio i risultati dei milestone (il cui kernel è e sarà sempre quello motorola), stesso sistema, stessi programmi installati, eventuali stesse ottimizzazioni al kernel ect...
Solo dopo questo possiamo confrontare i due risultati, ci sarò sempre molto probabilmente una divario ed è così che deve essere essendo processori diversi, ma non sarà uno il doppio dell'altro.
Naturalmente tutto questo non c'entra con l'algoritmo impiegato da linpack o altri, quanto piuttosto con la sua esecuzione, sapere o meno l'algoritmo che usa è inutile ai fini del tuo discorso (quello servirebbe solo se lo devi confrontare un un altro algoritmo), la descrizione matematica o la sua implementazione sarà sempre ad un livello superiore della sua esecuzione, ed è di questo che chiedevi tu no? della sua esecuzione cpu diverse.