[<--] Indice [-->]

From NeuraL <neural@autistici.org>
Date Sat, 16 Jul 2005 22:31:08 +0200
Subject Re: [Hackmeeting] punto situazione

On Wednesday 29 June 2005 23:13, Elettrico wrote:
  > sì scusate eh ma stiamo parlando di sicurezza o di simpatia ed
  > efficienza dei linguaggi?
  > intendiamoci, è vero che java è lento e avido di risorse, ma oggi
  > macchine con processori e ram ultrapotenti costano un cazzo.

Qualcuno potrebbe obiettare che non ci vuole un cazzo a sviluppare 
applicazioni  che diventano ultra pesanti sotto carico e che riescono  
a saturare tutte le risorse del tuo potente sistema senza il minimo 
problema, deridendo pure il tuo futile tentativo di resistere alla 
furia delle cavallette (soprattutto lato server) :)  Quanto piu' il 
codice per eseguire queste applicazioni e' complesso e "indiretto" 
tanto piu' scaleranno male causando deadlock e malfunzionamenti. E' 
questo il vero problema di freenet ed e' determinato indirettamente 
dalla scelta che hanno fatto, limitandone di fatto la possibilita' di 
diffusione, l'hardware c'entra ma non va bene la logica "allora ti 
compri un sistema piu' potente". 
E' un problema architetturale!
Questo perche' Java e' una virtual machine ed esegue codice in 
emulazione (quando va bene, altrimenti interpreta il bytecode a run 
time) e porta con se' tutto l'overhead di gestione di una cpu virtuale 
che ha di fatto un'altra *architettura*  rispetto a quella su cui sta 
girando. E' una falsa speranza quella di un compilatore Just in time 
che risolva questo problema prestazionale perche' la complessita' 
architetturale della macchina virtuale da gestire (in software) rimane, 
il codice macchina x86 (per esempio) prodotto al volo sara' molto piu' 
grosso, complesso e indiretto rispetto alla compilazione dai sorgenti 
originali per il processore finale. Tanto per dirne una, non sara'  in 
grado di  sfruttare le scorciatoie hardware, tra le quali le pipeline 
perche' se queste vengono caricate con troppi salti condizionati allora  
il meccanismo di riconoscimento dell'ordine delle istruzioni trasha 
tutto ogni volta rallentando il processore hw, cosa che invece succede 
piuttosto regolarmente nell'esecuzione del codice di un processore 
emulato, ma e' solo un esempio.

Seriamente: java va benissimo per determinati compiti dove la 
portabilita' a livello binario e' piu' importante o per i web services 
ma fare dei server (intendo demoni!), soprattutto quando i sorgenti 
sono open source, proprio non c'entra un cazzo.
E' un'assurdita' che costera' cara al progetto freenet purtroppo.

Credo sempre che se gli sviluppatori ascoltassero meno tutta la merda  
accademica  prodotta dalle universita' il mondo sarebbe un posto 
migliore <g>


-- 
... "Nel tempo dell'Inganno Universale, dire la verita' e' un atto
rivoluzionario" - George Orwell

[Neural]
Mailbox: neural@autistici.org
GPG Key Available: gpg --recv-key DB75A587
Key fingerprint = A2AB 88A2 B9C5 3247 AD4E  3221 9152 9340 DB75 A587

_______________________________________________
Hackmeeting mailing list
Hackmeeting@inventati.org
https://inventati.org/mailman/listinfo/hackmeeting

[<--] Indice [-->]