Skip to content

64 bit: Perché sono così importanti?

Non importa che si sia sviluppatori professionisti o meno, bisogna capire la differenza tra applicazioni a 32 e 64 bit.

Xojo 2017 r1 introduce la possibilità di fare il debug di applicazioni a 64 bit.

Ma perché bisogna compilare e fare il debug di applicazioni a 64 bit?

Per due motivi principali:gestione della memoria e progresso.

Memoria

In un’applicazione tutto consuma memoria: aprire una finestra, mostrare una pagina web, utilizzare un file, creare una variabile per memorizzare un valore anche solo per un momento. Quando si chiude la finestra, la pagina web, il file o quando la variabile esce di scopo la memoria viene rilasciata.

Xojo si occupa della gestione, dal punto di vista della memoria, di queste cose; ad esempio quando si memorizza un valore in una variabile, questo viene registrato in una posizione particolare della memoria, questa posizione ha un indirizzo che in pratica è l’indirizzo del primo byte di memoria in cui è memorizzato il valore.

Nelle applicazioni a 32 bit, per questi indirizzi vengono utilizzati numeri interi che hanno, appunto, una dimensione di 32 bit e quindi il numero totale di indirizzi possibili è 4.294.967.294; quindi ogni applicazione ha teoricamente a disposizione 4GB (in realtà sono circa 3,7GB a seconda del sistema operativo). Per la maggior parte delle applicazioni questo numero è più che sufficiente. Ma non per tutte, ad esempio se si devono gestire molte immagini di grandi dimensioni o video è facile raggiungere il punto in cui non c’è più memoria a disposizione dell’applicazione.

È chiaro che nelle applicazioni a 64 bit per questi indirizzi vengono utilizzati numeri interi a 64 bit, questo non comporta, come alcuni pensano, che la memoria a disposizione sia raddoppiata visto che un intero a 64 bit ha dimensione doppia rispetto quello a 32 bit, ma abbiamo a disposizione diversi ordini di grandezza in più di memoria. Il numero più grande memorizzabile in un intero a 64 bit è 18.446.744.073.709.551.615, praticamente un numero impronunciabile: “18 trilioni quattrocentoquarantasei biliardi settecentosettantaquattro bilioni settantatré miliardi settecentonove milioni cinquecentocinquantunomila seicentoquindici” (o secondo il sistema internazionale oltre 18 exa byte).

Se fosse realmente tutta a disposizione ci vorrebbe un palazzo per contenerla (alle tecnologie attuali) e una quantità di energia enorme per alimentarla.

Ma il punto non è avere a disposizione tutta questa quantità di memoria, ma poter indirizzare tutta la memoria disponibile nel computer e non solo una “piccola” parte. Se il programma esaurisce la memoria sarà perché su quella macchina non ne esiste più a disposizione e non perché abbiamo bisogno di più di 4GB e anche se ne abbiamo 32GB installati non possiamo reclamarla!

Progresso

Tutti i sistemi operativi continuano a migliorare, ad offrire nuove e più sofisticate funzionalità. Sempre più questi framework sono e saranno solo a 64 bit. Xojo sfrutta questi servizi e cerca di fornire le stesse funzionalità a tutte le applicazioni, ma per prepararsi al futuro è necessario iniziare a produrre e fare il debug di applicazioni a 64 bit.

Probabilmente in un non lontano futuro saranno le uniche che si potranno distribuire.

… ma Windows?

La possibilità di compilare a 64 bit è stata introdotta già da tempo, Xojo 2017 Release 1 ha introdotto, come detto, la possibilità di fare il debug delle applicazioni a 64 bit, ma questo solo per Linux e macOS. Non per Windows.

Non è perché c’è un minore interesse per questa piattaforma, ma perché l’attuale versione di LLVM utilizzata per la compilazione ha introdotto la disponibilità dei dati necessari per il debug solo dalla versione 4 che è stata rilasciata solo poche settimane prima del rilascio di Xojo 2017 r1. Per cui non c’era il tempo necessario per fare tutte le verifiche necessarie per dare un prodotto stabile e sicuro.

Ma sicuramente arriverà molto presto così come tante altre novità previste per da Xojo per il 2017