Intel: ottimizzazione delle app Android su processori Intel x86

Considerando l’oramai capillare diffusione dei dispositivi basati su Android lo sviluppo di applicazioni per la piattaforma mobile del colosso di Mountain View rappresenta una tra le competenze maggiormente richieste fra coloro che in un modo o in un altro si ritrovano ad operare nell’ambito dell’IT.

Chi sceglie di prodigarsi per lo sviluppo di app Android deve però necessariamente tener conto del fatto che allo stato attuale delle cose la maggior parte dei device risulta dotata di processori Intel x86. Considerando il fatto che si tratta di un’architettura decisamente ben diversa dalla più classica ARM con cui Android aveva avuto origine l’utilizzo di Intel x86 implica il doverne virtualizzare l’esecuzione.

Al fine di aggirare eventuali degradi di performance frutto del processo di virtualizzazione Intel ha messo a disposizione di tutti gli interessati linee guida e strumenti appositi che possono essere sfruttati per ottimizzare le applicazioni che si desidera eseguire su architettura x86 partendo però dal presupposto di compilare in maniera corretta le applicazioni.

Parallelismo e multithreading

I device Android sfruttando processori multi-core, un dato questo di gran rilevanza poiché l’utilizzo di tutti i core permette di migliorare le prestazioni del dispositivi e di risparmiare energia.

Riducendo inoltre ad una sola azione un’insieme di azioni periodiche è possibile evitare system call inutili ottenendo, di conseguenza, un maggior grado di parallelismo.

Codice

Impiegando istruzioni vettoriali che permettono di eseguire azioni comuni in una minor quantità di tempo andando inoltre a risparmiare energia è possibile ottimizzare il codice e quindi sfruttare in tutto e per tutto le potenzialità dell’architettura Intel x86.

Memoria

Ridurre, per quanto possibile, l’utilizzo della memoria consente di contenere il consumo energetico delle applicazioni che risultano attive.

Tecnologie

I processori Intel x86 offrono la possibilità di sfruttare alcune tecnologie ad hoc che si prestano decisamente bene a numerose applicazioni. Tre le varie tecnologie disponibili è sicuramente il caso di segnalare:

  • Intel WiDi: Si tratta di una soluzione che offre la possibilità di connettere un device ad un monitor esterno senza dover ricorrere all’utilizzo di cavi.
  • Intel HAXM: Si tratta di un hypervisor che utilizza la tecnologia Intel VT-x per migliorare la virtualizzazione dell’emulatore ed aumentarne le prestazioni.
  • Intel INDE: Si tratta di un tool che può aiutare gli sviluppatori ad adattare le proprie applicazioni ad un maggior numero di architetture agendo direttamente mediante un’unica e comoda interfaccia e provvedendo ad installare in maniera automatica diversi componenti.

[Photo Credits | Flickr]

Lascia un commento