I Mac con processore M1 (mini, air, pro) sono buoni per lo sviluppo di XCode? E la Ram di base e’ sufficiente?
di Alessandro Perrone
Ieri sera e’ arrivato il mio nuovo portatile della Mela: un macbook air, con 16 Gb ram e 256 Gb di disco.
Il test del computer sara’ oggetto di una altro articolo al piu’ presto, ma per prima cosa ho voluto provare questo mostro di velocita’ con Xcode, facendo andare alcuni dei programmi che ho scritto nella mia lunga vita di appassionato programmatore Mac.
La domanda che mi ero posta, prima di effettuare l’acquisto, era: 8 Gb sono sufficienti o no per le mie esigenze?
Avevo provato il computer dal rivenditore Apple di zona, testato con programmi standard, ma che non usavano tanta memoria, e la risposta del portatile e’ sempre stata egregia (ho provato anche macmini, e macbook pro, ma voglio soffermarmi sul Macbook air), anche usando programmi di vieo editing o di grafica (il primo ottimizzato e il secondo no), ho visto che gli 8 Gb erano piu’ che sufficienti per fare le semplici cose che faccio, semplici video, o semplici fotoritocchi.
Nel mio lavoro ho a che fare con macchine virtuali, programmazione web e mobile, e la RAM e l’accesso veloce al disco sono due componenti essenziali: lavoro con un iMac i5 con 16 Gb ram, e avevo un portatile “vecchiotto” carrozzato con 8Gb ram e 240 Gb di disco, per le emergenze.
Quindi avendo preso la decisione di mandare in pensione il mio vecchio macbook pro (che fara’ parte della mia collezione di Mac, e che verra’ usato degnamente da mia madre per le ricette culinarie di Benedetta) e di acquistare un portatile con processore Apple, ho deciso di mettere mano al portafoglio, e spendere 200 euro in piu’, per avere un portatile Air con 16 Gb RAM. Scelta maturata anche dal fatto che i portatili Apple durano in media MOLTO di piu’dei portatili windows, ma soprattutto, cosa un po’ discutibile fatta da mamma Apple, perche’ non si puo’ espandere in futuro, dato che i chip di ram sono saldati su scheda logica.
Ho fatto partire Xcode con dei progetti scritti in objective-c (sono ancora indeciso se passare a swift oppure rimanere fedele al vecchio e caro objective-c) e la velovita’ di esecuzione e’ increbibile, ha superato tutte le mie aspettative: ho controllato anche la RAM che usa durante la compilazione e devo ammettere che il computer e’ una insieme di parti ottimizzate all’ennesima potenza: i 16Gb di ram hanno fatto il loro dovere, ma soprattutto il disco interno fa andare tutto alla velocita’ della luce.
Ho provato, anche se molto velocemente, le stesse operazioni su di uno stesso computer con 8Gb Ram, e le prestazioni sono state leggerissimamente inferiori, soprattutto quando il sistema “superava” gli 8Gb, e aveva bisogno di usare il disco rigido come swap. Se deo essere sincero, penso che a meno che tu non sia un tipo di utente esperto, 8 GB saranno sufficienti per l’utente medio: le velocità di lettura dell’SSD sono così elevate che non si notera’ un grande calo delle prestazioni a meno che tu non stia andando ben oltre gli 8 GB di RAM come nell’uso di programmi di grafica (con file di grandi dimensioni) o con programmi che usano grandi tracce audio e video.
Ma c’e’ bisogno di eseguire il simulatore XCode su M1?
Una delle cose interessanti dei Mac M1 è che possono eseguire app iOS in modo nativo. Questo mi ha fatto pensare, ma bisogna ancora eseguire il debug delle app nel simulatore affamato di RAM? Posso semplicemente eseguirli direttamente dal Mac? … Sì!
C’è una destinazione “Esegui su Mac” per le app iOS in XCode, che esegue l’app in modo nativo sulla macchina, non in un simulatore. È bello; si perderanno le funzionalità del simulatore come rotazione, sospensione, pulsante home, ecc. Ma ora è possibile evitare di utilizzare un simulatore affamato di RAM quando si sviluppano le app sui dispositivi M1.
Apple ha voluto investire in un processore unico tra iphone/ipad e Mac, e questo e’ uno dei risultati che ne e’ venuto fuori.
Ovviamente questa opzione vale solo per MacMini MacBook Air e MacBook Pro dotati di processore M1.
Rosetta 2 Performance vs. App native
Non tutti i software hanno ancora una versione basata su ARM della loro app e devi eseguirla tramite il simulatore Rosetta 2.
In realtà funziona piuttosto bene. Tuttavia, c’è sicuramente un notevole calo delle prestazioni quando si confrontano app non native con app native su questa macchina.
Questo diventerà meno un problema nel tempo man mano che più aziende compilano le loro app per il chip M1. Tuttavia, all’inizio di un prodotto di prima generazione, bisogna sempre mettere in preventivo che potrebbero esserci alcuni problemi.
Conclusione
Sono molto contento dell’acquisto: il rapporto qualita/prezzo/prestazioni e’ incredibile, e credo che mi diertiro’ tanto con questo computer.
Per l’utente medio la versione base dei computer M1 e’ ideale. Il mondo Mac, a differenza del mondo PC, non e’ affamato di Ram, i programmi sono ottimizzati cosi’ come le architetture di sistema.
Ma per quanto riguarda la prova del computer in generale, bisognera’ aspettare il prossimo articolo.