2012-10-27 6 views
5

Sembra che ci siano due livelli di supporto per Smalltalk in scenari a 64 bit:C'è qualche Smalltalk VM e/o Image che supporta 64 bit?

  • Virtual Machine a 64 bit
  • virtuale immagine a 64 bit

Non è chiaro per me se un Smalltalk con un'immagine a 64 bit è molto più lento di uno a 32 bit. Per favore commenta la tua esperienza, se ti va. Esiste un'implementazione Smalltalk che supporti sia (VM a 64 bit + Immagine) che VM a 64 bit?

risposta

3

c'è e immagine po 'vecchio 64 e VM per cigolio. A Esug ho spinto per ottenere il supporto a 64 bit per Pharo, ma questo sta andando avanti lentamente. [modifica] E vedo che ora c'è uno squeak sperimentale a 64 bit vm e un'immagine per linux x86. [/ edit] Lo squittio vm era pre-cog. Eliot Miranda sta lavorando su un nuovo set di codice byte/formato immagine per 64 bit. Una volta terminato, suppongo che Pharo, Squeak e Newspeak migreranno verso quello.

Un'immagine a 64 bit potrebbe essere più lenta di quella a 32 bit, ma probabilmente è un fattore quasi costante e quindi sempre meno rilevante man mano che la velocità del computer continua a crescere. Ancora più importante è che essere in grado di utilizzare grandi quantità di ram consente allo sviluppatore di fare compromessi spazio-tempo. Cioè, tra il suo tempo e il costo della ram. 4 GB costano meno di un'ora di tempo di ingegneria nell'Europa occidentale e negli Stati Uniti.

Quando si utilizzano oggetti immediati di dimensioni maggiori (pixel fino a 2^62/63, smallfloats?), Le immagini a 64 bit possono essere più veloci. Gemstone ha implementazioni di raccolta che scalano molto meglio, le implementazioni originali usano un singolo array come backing store. Per le raccolte di grandi dimensioni è necessario almeno un array di array come backing store.

Ho effettuato alcune conversioni di dati in cui preferisco fortemente caricare tutti i dati nell'immagine e quindi avviare l'analisi, la trasformazione, la pulizia e l'esportazione. Lavorare dal disco rallenta il processo di un fattore di 100. Ciò riduce i cicli di feedback da minuti a ore o giorni. Il ciclo di feedback è cruciale, soprattutto quando si avvia il processo, perché non ne so abbastanza del sistema da allora. Più avanti nel processo potrei essere in grado di partizionarlo, ma questo presuppone la conoscenza che semplicemente non c'è.

1

penso che sia, VisualWorks e supporto GemStone reale 64 bit VM/Immagini