Italian community of Lazarus and Free Pascal
Programmazione => Generale => Topic aperto da: Legolas - Giugno 07, 2013, 09:56:43 pm
-
Qualche giorno fa si è tenuto il FPC Hackaton 2013. Si tratta di un evento che viene organizzato di tanto in tanto e al quale partecipano i core developers di fpc. Durante il fine settimana hanno lavorato su nuove features per il compilatore e su migliorìe dello stesso. In particolare si è lavorato su:
- Static Single Assignment (SSA), una tecnica che dovrebbe aumentare la velocità di esecuzione del codice
- backend LLVM
- supporto per il caricamento dinamico dei packages (qualcuno starà facendo salti di gioia :D )
- RTL Unicode per Windows e FreeBSD
- supporto della RTTI estesa e miglioramento di fpmake e fppkg
- miglioramento del compilatore per 8086 a 16 bit
- migliorie nel compilatore per ARM
- miglioramenti nella RTL per MorphOS
- miglioramenti per SQLDB
L'evento si è tenuto in Germania nello scorso week-end ed è stato sponsorizzato da Viprinet, che utilizza il compilatore fpc nelle proprie soluzioni di routing TCP/IP. Come contorno si è festeggiato il compleanno del Free Pascal, che proprio a Giugno di quest'anno compie 20 anni :)
-
Bene.
-
Ammazza che entusiasmo! :D
Scherzi a parte, togliendo i tecnicismi, la RTL Unicode dovrebbe estendere la compatibilità alle ultime versioni di delphi, mentre il caricamento dinamico dei packages permetterebbe a Lazarus di non dover ricompilare l'IDE ogni volta che si installa un nuovo componente.
-
caricamento dinamico dei packages
era ora! iniziavo a pensare che ci avessero rinunciato :)
è finalmente una ottima notizia!
Anche "RTL Unicode per Windows e FreeBSD" è una buona notizia (spero che FreeBSD non voglia dire Mac si, Linux no): la sua mancanza cominciava ad avere un sapore anacronistico.
Bisogna dire che è comunque un piacere sapere che, anche se piano, "eppur si muove" :D
-
RTL Unicode per Windows e FreeBSD
Finalmente, anche perchè ormai LCL è già da diverso tempo passato all'unicode, mancavano solo le librerie di FreePascal. ;)
Static Single Assignment (SSA), una tecnica che dovrebbe aumentare la velocità di esecuzione del codice
In cosa consiste questa tecnica?
-
Ottime notizie, interesserebbe anche a me sapere qualcosa di più su questa tecnica di programmazione accennata.
-
Su wikipedia inglese si trova qualcosa. E' un argomento un po' troppo tecnico per le mie capacità di comprensione, ma da quello che ho capito e semplificando all'osso, - e qui si apre un paragrafo della serie "l'informatica secondo me" :-[ - con questa tecnica si ottimizza l'assegnazione delle variabili da parte del compilatore, eliminando il superfluo. Da questa semplice ottimizzazione traggono beneficio tutta una serie di ulteriori tecniche di ottimizzazione, tipo l'eliminazione di codice superfluo, la semplificazione del codice ridondante, e così via.
Se qualcuno sa spiegare bene in cosa consiste, sarei felice anch'io di saperne qualcosa in più :)
-
http://www.cs.cmu.edu/afs/cs/academic/class/15745-s11/public/lectures/L12-SSA-Concepts.pdf
-
In pratica il "trucchetto" sta nel ragionare in termini di variabili e non di allocazioni di memoria (compilatore), le variabili non usate non vengono tradotte in indirizzi di memoria.
Questa l'idea di base. Sempre che non abbia preso le famose lucciole per lanterne .... ;)