Sai se l’Iphone (iOs) e/o Windows sono più veloci di Android?

Ciao,

ho un iphone 4s (ha più di 2 anni) e vorrei cambiarlo, vorrei sapere se vale la pena spendere tutti quei soldi per un iphone 6 quando ci sono smartphone che costano quanto il 5s (o anche la metà) che rientrano comunque nella top gamma e se questi raggiungono le prestazione dell iphone 6, confrontando i diversi smartphone l iphone 6 e l’unico ad avere ancora un dual core 1.4 GHz, mentre quasi tutti top gamma hanno un quad core 2.5 GHz, e l’iphone è l unico a 64 bit (cosa cambia e cosa comporta) gli altri smartphone hanno un adreno 330. Cosa cambia?

Un commento all’articolo Come scegliere lo smartphone

CC Original DVIDSHUB – Edited by Tecno2012: Gara tra iOs,Android e Microsoft

Effettivamente si, può sembrare che la Apple si voglia far del male a mettere processori così poco potenti dentro i suoi telefoni, almeno fino a quando non ne prendiamo uno in mano e diciamo “come è possibile che non vada a scatti?”.
Identico il discorso per i Lumia, con i loro esigui quantitativi di RAM, come è possibile che il mio telefono Android, con il doppio della memoria RAM e con un processore leggermente più potente mi vada a scatti?

Sono diverse le parti da considerare: Sistema Operativo, Hardware, Applicazioni e Gestione della RAM.

Vuoi sapere il perché? Presta attenzione per scoprire chi è più veloce.

Ma prima, Facciamo chiarezza su …

  • Garbage collection: Significa che quel linguaggio di programmazione ogni volta rivede le istruzioni in memoria per capire quali oggetti/istruzioni possono essere eliminati. Dà un grande vantaggio allo sviluppatore che non si deve preoccupare di rimuovere gli stessi, ma questo metodo è meno efficiente nella gestione della memoria perchè viene eseguito “ogni tanto” e ogni volta che viene eseguito richiede risorse dal processore. Se per come sono strutturati i linguaggi che lo usano non verrebbe attuata la rimozione della “spazzatura” (trad. letterale di garbage), la memoria si riempirebbe molto rapidamente creando problemi
  • Applicazione: Un programma scaricaricabile dal negozio del telefono che fornisce un servizio all’utente
  • Java: Un linguaggio di programmazione che permettere di eseguire programmi su qualsiasi computer o dispositivo. È compatibile con qualsiasi sistema operativo.
  • Objective C: linguaggio di programmazione con estensione ad oggetti.
  • Performance/prestazioni: velocità.
  • Architettura ARM: una serie di processori a basso consumo.
  • RAM: Acronimo di Random Access Memory(Memoria ad acceso casuale). È una memoria volatile (si cancella quando spegni il dispositivo) in cui vengono messi i files necessari all’esecuzione di un programma nel momento in cui questo programma è in esecuzione in modo da non doverli caricare ogni volta che fai un click da memoria di massa o scheda sd (molto più lenti della RAM).Finché il programma rimane in Ram, la sua esecuzione è molto più rapida.

Sistema Operativo e Applicazioni: Un sistema operativo non è altro che quello che ci rende semplice l’uso delle componenti che abbiamo dentro il telefono. Per poter usare ad esempio la fotocamera dovremmo digitare delle istruzioni come queste:

License CC: pablobd – Istruzioni Assembler

Sembra alquanto complicato giusto? Ecco che il sistema operativo ci viene in contro rendendoci l’uso del nostro telefono semplice.

Nel settore della telefonia sono tre i sistemi più diffusi e sono:

  • iOs, prodotto dalla Apple. Lo ritroviamo su Iphone e Ipad.
  • Android, sviluppato dalla Google. Lo ritroviamo su molti del telefoni Samsung, Lg, Sony, Huawei e molte altre.
  • Windows Phone, sviluppato da Microsoft. Possiamo trovarlo sui telefoni Microsoft Mobile(ex Nokia).

Ognuno ha le sue particolarità e andremo ora ad analizzare quelle che riguardano le performance nel dettaglio.

iOS

CC microsiervos – Iphone OS

E’ un sistema veramente leggero, pesa massimo 0,5GB ed la causa sono le sue limitazioni(molte cose non si possono fare sull’iphone, ad esempio, fino a qualche versione fa, anche cambiare lo sfondo della schermata di sblocco non era possibile). E’ un sistema di tipo ARM a 64 bit.

Il Linguaggio Objective C

Le sue applicazioni vengono sviluppate in Objective C che è un linguaggio molto simile al C++.

L’Objective C è un linguaggio molto vicino alle istruzioni che servono per far girare i componenti del telefono e questo fa sì che le istruzioni da eseguire possano essere utilizzate senza inutili attese dettate da conversioni. Esso non si preoccupa di liberare ogni volta la memoria ma è un compito lasciato allo sviluppatore che se ben eseguito dallo stesso, migliora di molto l’uso della memoria.

Multitasking

Ha la possibilità di mantenere in memoria le applicazioni ma solo se soddisfano almeno una di queste condizioni:

  • Audio in background: Tutte le app che riproducono audio quando vengono chiuse(esempio spotify o un lettore audio)
  • VOIP: Voice Over IP, tutte le app come Skype che ci permettono di effettuare chiamate tramite internet
  • Locazione in Background: I navigatori
  • Controllo delle notifiche: quelle app che devono mandare notifiche a tempo determinato
  • Attesa del termine di un attività: esempio quelle app che devono scaricare un file da internet
  • Uso degli accessori: usando gli accessori bluethoot o normali, l’app può quindi rimanere attiva per controllare periodicamente l’accessorio.

In altri casi l’applicazione viene ibernata e tolta dalla memoria appena se ne chiede altra.

Gestione della RAM

Non esiste “garbage collection” e di conseguenza iOs non tiene dati inutili in memoria per parecchio tempo. Questo è il motivo per cui usa meno RAM: semplicemente perché è più efficiente nella gestione dello stessa (Lo svantaggio è che alcune app verranno letteralmente chiuse appena si risponde ad una chiamata).

Android

CC aidanwojtas – Android mangia una “mela”

Sviluppato dalla Google e personalizzato dai vari produttori è un sistema che può arrivare a pesare anche 2 GB a causa delle sue vaste personalizzazioni e applicazioni di supporto.

E’ un sistema che gira su architetture ARM e x86 e anche questo può essere a 64Bit.

Il linguaggio JAVA

Le applicazioni vengono sviluppate in Java, un linguaggio molto lontano dalle istruzioni della macchina che lo esegue e che deve essere tutte le volte reinterpretato dalla stessa. Quindi uno sviluppatore sviluppa un applicazione e poi questa viene tradotta in un particolare file universalmente riconosciuto da tutti i telefoni Android. Sarà poi il telefono Android a fare il lavoro della conversione di quel file in linguaggio compatibile con l’hardware(gps, radio, fotocamera,processore, etc…) sottostante. Questo si traduce in continue conversioni di codice che richiedono più tempo.

C’è da sottolineare però che nel corso del tempo attraverso un particolare lavoro degli ingegneri Google chiamato “Dalvik” e ora “ART”, questo gap con iOs si è ridotto rendendo Android dalle 3 volte più lento a una lentezza molto più ragionevole in confronto a iOs.

Il vantaggio di questo linguaggio è la portabilità, sono tantissimi i telefoni che montano Android come sistema operativo, mentre iOs si limita a 4-5 dispositivi.

Multitasking

Le applicazioni alla pressione del tasto centrale “home” vengono quasi tutte tenute in memoria e liberate secondo il livello di importanza quando la memoria è piena. Questo viene fatto attraverso la Garbage Collection.

Personalizzazione

Il motivo per cui si preferisce Android ad ios è la sua libera possibilità ad essere adattato alle esigenze dell’utente e del produttore. Questo fa si che ad esempio se abbiamo un telefono Samsung di ultima generazione possiamo “muovere” la pagina web con gli occhi, oppure se abbiamo un tablet LG, risvegliarlo senza neanche premere un tasto, ma semplicemente toccando varie volte lo schermo, e cosi via per ogni produttore e dispositivo.

Ogni telefono Android che prendiamo in mano è diverso da un altro e spesso anche di molto. L’utente stesso può mettere mano sul telefono, modificarlo e poi applicare le versioni di Android che più gli piacciono sopra. E grazie ad il fatto di essere OpenSource (il codice con cui è stato sviluppato è aperto a tutti) esistono anche infinite versioni di esso create da sviluppatori indipendenti.

Quando però vengono aggiunte troppe funzionalità aggiuntive, abbiamo un rallentamento del telefono. Ecco perché bisognerebbe scegliere telefoni con poche personalizzazione e fatte bene e cercare di non riempirlo troppo di aggiunte.

Questa scelta di lasciare Android così libero però ci si può ritorcere contro per quanto riguarda le prestazioni, mentre per quanto riguarda iOs e Windows Phone essendo più “castrati” il rischio di appesantimento è meno elevato.

Perchè quindi un telefono Android ha bisogno di più risorse?

I motivi come detto in precedenza sono 3:

  • La diversa gestione della memoria disponibile
  • La diversa gestione dei componenti sottostanti
  • Le personalizzazioni del produttore a volte pesanti

E Windows?

CC Vernon Chan – Windows Phone

Anche nel caso dei Nokia / Microsoft Mobile, l’ottimizzazione al proprio hardware viene eseguita in maniera molto categorica.

Anche Windows evita di usare il garbage collection risparmiando molta RAM e avendo un telefono che quindi richiede semplicemente meno.

La particolarità che hanno gli attuali Lumia è il fatto di avere la parte della grafica del sistema(interfaccia utente) in un “livello” a parte dove gli si da priorità assoluta, rendendo quindi l’uso quotidiano più veloce.

Approfondimento: 64Bit VS 32Bit

Con l’uscita dell’iphone 5 e il suo nuovo processore, è stato introdotta l’architettura ARM a 64bit. Ma cos’è esattamente questo “64 Bit”? Ed è veramente utile?

I 64 Bit del Processore non sono altro che le informazioni che può processare direttamente dalla memoria RAM alla volta. Quindi se abbiamo 32 Bit, possiamo processare, visto che il processore funziona con solo due valori(0 e 1) 232 bit che puntano a un indirizzo della memoria che contiene a sua volta un byte di memoria. Abbiamo quindi la possibilità di scegliere dalla memoria fino a 4GB (per l’appunto il valore di quella potenza moltiplicato poi per 8 cioè la grandezza di un byte), Se vogliamo scegliere ad esempio il byte che si trova alla posizione che corrisponderebbe ai 5GB il processore non riuscirebbe a prenderlo. Ecco che quindi ci vengono incontro i 64 Bit che equivalgono a 16 exbibyte o se meglio li riconosciamo sono 18 miliardi di GB. Che sono in effetti una quantità enorme!

Eh, quanto sei complicato…  ma quindi? Mi dici se serve o no? 

Ora come ora, NO. Però sarà utile in un futuro non troppo lontano, quando i telefoni supereranno i 4GB di memoria RAM, a quel punto 64bit saranno obbligatori ed è meglio farsi trovare per quel momento con hardware, software e applicazioni già pronte.

Fonti e Approfondimenti

Conclusioni

CC quinnanya – Un gatto molto confuso

Quindi quale telefono dovrei comprare?

Può venir logico pensare che allora a questo punto comprare Android sia la scelta più sconveniente ma bisogna considerare questi fattori:

  1. Android è molto più vario, se ci piace cambiare molto, probabilmente rimane la scelta migliore
  2. E’ più lento della concorrenza ma monta anche hardware migliore. Tirando le somme semplicemente abbiamo un pareggio.
  3. In confronto ad iOs (che viene montato solo sugli iPhone e gli iPad) costa meno.

Sia Windows Phone e iOs sono anch’essi ottimi sistemi operativi.

Il mio consiglio quindi è di non lasciarvi frenare nell’acquisto del telefono che volete guardando le prestazioni sulla “carta“, ma giudicare l’effettiva velocità di quel telefono affidandosi alle recensioni su internet o meglio ancora, se ne ha l’opportunità, testandolo di persona.

Previous Entries Vedere i film sulla TV: Raspberry, Android, Playstation, Apple TV. Tutte le alternative. Next Entries Butta le cuffiette dei cinesi. Come scegliere le cuffie di qualità
  • Alessandro Pertile

    Col cavolo!P9 PLUS E’ MOLTO PIU’ VELOCE DEL MIO EX IPHONE 6S PLUS 128 GB IN TUTTO E PER TUTTO!!TOP SUPER HUAWEI E SUPER ANDROID!!MAI AVUTO 1 SOLO LAG!!

    • Ciao Alessandro, in realta’ e’ la conferma di quanto detto, il P9 ha un processore molto piu’ potente per riuscire ad assicurare una velocita “maggiore”. Per effettuare lo stesso confronto dovresti mettere il 6S a confronto con un altro telefono “2 GHz Dual Core”. Fammi sapere se non sono stato chiaro =)

    • Ciao Alessandro, in realta’ e’ la conferma di quanto detto, il P9 ha un processore molto piu’ potente per riuscire ad assicurare una velocita “maggiore”. Per effettuare lo stesso confronto dovresti mettere il 6S a confronto con un altro telefono “2 GHz Dual Core”. Fammi sapere se non sono stato chiaro =)