Android più veloce grazie a dei flag di compilazione

Uno sviluppatore di ROM chiamato JustArchi ha postato sul forum di XDA una spiegazione su come abbia trovato un modo per rendere Android più veloce.

Il tutto si basa sull’utilizzo di flag di compilazione diversi. Vi ricordiamo che i linguaggi di programmazione come il C/C++ per essere compresi dai processori vengono convertiti in linguaggio macchina, chi si occupa di questa conversione sono i compilatori. I compilatori possono essere configurati in modo da “ottimizzare” questa conversione dal punto di vista sia delle performance che per la dimensione del codice macchina prodotto.

Stando a quanto affermato da JustArchi modificando i parametri di compilazione delle ROM è possibile incrementare le performance fino a 6 volte.

In particolare la maggior parte del codice nativo (C/C++) di Android è compilato utilizzando il flag “-Os“, opzione che tende a favorire una minore dimensione del codice di output a discapito delle ottimizzazioni e delle prestazioni.

Ci sono altre due opzioni “-O2” e “-O3“, l’ultima più aggressiva, che invece sono pensate per ottimizzare maggiormente il codice macchina, anche a costo di un peso del codice maggiore, e che quindi in alcuni casi possono portare ad un incremento delle prestazioni.

Lo sviluppatore JustArchi dopo svariate prove ha modificato le opzioni di compilazione andando ad utilizzare “-O2/3” otre ad una serie di altri parametri e stando a lui così come da alcuni tester che hanno provato le sue ROM sembra che l’incremento di performance sia evidente.

Per chi si sta chiedendo come mai Google utilizza ancora il flag “-Os” potrebbe trovare risposta nel fatto che Android all’uscita era utilizzato su dispositivi che avevano poca memoria e processori molto meno potenti rispetto a quelli odierni.

Non mancano comunque le critiche da parte di alcuni che non credono nell’incremento di prestazioni di cui si parla e fanno notare un utilizzo inappropriato di alcuni flag che possono portare a dei problemi o crash subdoli del sistema.

Per chi volesse seguire la questione nel dettaglio vi rimandiamo alla discussione sul forum XDA.

 




Reply