da Black_Codec » mer feb 27, 2013 10:12 am
Bisogna anche fare attenzione a due cosette...
L'hardware in primis, il kernel può essere più o meno ottimizzato ma deve essere costruito su un hardware ad hoc ovvero con moduli / header perfettamente funzionanti altrimenti si perde solo tempo (vedi bumblebee con kernel linux)...
Il software inoltre può essere ottimizzato quanto si vuole bisogna vedere anche i linguaggi supportati e la loro conversione in che maniera avviene, cerco di spiegarmi l'html5 è sicuramente più veloce da scrivere rispetto al c, java, c# etc etc... ma è anche vero che è molto meno potente dei suddetti programmi, funzionalità di calcolo elevate in html5 devono essere lasciate, nel caso di applicazioni desktop, a eseguibili compilati spesso ad hoc lato server, non è un caso che grandissimi progetti web open source richiedono spesso di eseguire attività schedulate oppure richiamano funzioni del sistema (logicamente non mi riferisco ai blog o ai cms). Inoltre faccio un altro esempio pratico, prendiamo per comodità come riferimento l'achitettura i386 (vetusta ma semplice) a livello di linguaggio macchina le operazioni fattibili sono pochissime che per fare un esempio pratico possono essere ridotte a solamente 4 funzioni matematiche (lo so che non è così è solo un esempio) addizione, negazione, shift left e shift right, ora per quanto vuoi ottimizzare il codice che calcola 2^3 il loop tempistico a livello di processore è sempre lo stesso: ((2 x 2) x 2) x 2 (tre volte lo stesso processo) ora se il traduttore non è così arcaico è probabile che determinate operazioni possano essere ridotte e quindi ad esempio 2^3 venga calcolato direttamente dal linguaggio macchina senza bisogno di loop ma si ritorna sempre al discorso hardware.
Quindi per conlcudere, il codice può essere ottimizzato o non ottimizzato ma la base di calcolo, e quindi ciò che da potenza e fluidità, è sempre hardware, hardware non idoneo all'os in uso producono risultati scarsissimi... Ergo firefox os potrà anche esser velocissimo con app in html5 ma magari pecca su linguaggi che richiedono capacità computazionali più elevate come java e lo stesso c#, su c ho ancora dubbi dipende molto da come il traduttore sia costruito è logico che se lo predispongo per accettare comandi diversi dallo standard c e inserisco un convertitore di codice per gli applicativi c tali applicativi saranno rallentati perché verrà messo in mezzo un altro elemento e la catena deve venire rianalizzata per identificare il collo di bottiglia...