Italian community of Lazarus and Free Pascal
Programmazione => Generale => Topic aperto da: Maverich - Ottobre 29, 2012, 11:36:15 am
-
chi usa Delphi sa bene che la fase di Link sia molto rapida anche utilizzando componenti aggiuntivi;
in Lazarus ma anche CodeTyphoon, questa operazione risulta molto più lenta, e di fatto compromette
la possibilità di creare applicazioni complesse, causa le perdite di tempo nella fase Compile/Link.
si può settare qualche parametro per velocizzare questa fase ?
-
so solo che il linking sotto lazarus è un po' più complesso di quello di delphi, ma non sono a conoscenza di "workaround"
forse è una domanda da postare sul forum ufficiale
-
Ciao,
il link sotto delphi viene fatto direttamente tramite DCC32.dll (che ha anche il compilatore dentro...).
Sotto Lazarus e FreePascal si usa il linker del gcc.... quindi i tempi del linker dovrebbero essere quelli del gcc. FreePascal funge solo da "frontend" al chain di compilazione.
Delphi tiene tutti in memoria (eredità del TurboPascal), mentre il linker del gcc dovrebbe (ma non conosco così bene la sua architettura interna) utilizzare i file .obj letti da disco di volta in volta.
Forse ci sono dei parametri da passare al linker, ma non li conosco.
-
grazie, ho scrtto anche sul forum ufficiale, se arriva qualche suggerimento, lo posto.
-
Tempo fa' era allo studio la creazione di un linker, non ricordo se da FPC o da Lazarus. Poi credo che non se ne sia fatto più nulla.
P.S. Per esperienza personale, col linker attuale, la RAM ha un grande peso. A me sul lavoro i tempi di compilazione si sono ridotti enormemente quando mi hanno aumentato la ram da 512 mega a 2 giga.
Ciao, Mario
-
ram ho installati 8gb, ho cambiato dei parametri
su Linking- Link Intelligente
su Compilazione - ho lasciato Crea - Costruisci - Esegui, ma anche variando non ottengo miglioramenti.
su un progetto compilato, dal momento in cui premo F9 a quello in cui appare
la finestra dell'eseguibile , passano 15 secondi
se sullo stesso progetto cambio una riga, e premo ancora F9, passano 20 secondi.
ci sono un paio di indicazioni, ma non dicono i parametri modificati
http://www.lazarus.freepascal.org/index.php/topic,18732.0.html
al momento non ho trovato documentazione sui vari parametri presenti, per capire a cosa servono.
-
Mi verrebbe da dire che hai qualcosa che non va ...
Il progetto è grosso?
Io ho provato a compilarne uno a caso si quasi 1500 righe che richiama svariate unit.
Compilando da 0 ci mette 12 secondi, e tieni conto che compila parecchie delle unit che vengono richiamate.
Se cambio una riga e compilo, ci mette meno di 2 secondi.
Qui a casa lavoro su un PC 64 bit con Ubuntu 12.10 e 6 giga di ram. Il processore è un I5 prima generazione model name : Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz
I sorgenti sono su una partizione NTFS. L'eseguibile viene creato su una partizione EXT4
Ciao, Mario
-
ho fatto un confronto tra Lazarus 1.0 e CodeTyphon 2.70;
2 progetti vuoti , 1 solo form:
stesse impostazioni per Linker/Compiler
sistema Win7 - 64
Lazarus e' decisamente piu' veloce da 2 a 5 sec.
CodeTyphon sempre intorno i 15 sec.
Ho provato anche la rel 1.02 di Lazarus a 32 e 64 bit
La rel. 32 bit funziona, la 64 invece non parte neppure
lazarus-1.0.2-fpc-2.6.0-win64
avete riscontrato lo stesso problema ?
p.s disintallato CodeTyphon e Lazarus ;
lasciato Delphi XE2, ma non deriva da quello il problema.
faro' dei test su una VMneutra.
-
Io ho sempre installato "normalmente", non ho mai usato CodeTyphon, quindi non ti so dire.
Ciao, Mario
-
Cacchio Maverich, pure su macchiana virtuale compili ;) E' come mettere i blocchi al motorino :D
-
mica ho detto che lavoro sulla VM, ma i per test le uso e sono pure comode.
sulla VM Lazarus 1.0.2 64 bit, funziona regolarmente, mentre sull macchina reale mi da errore Just-in-Time
"No installed debugger has Just-in-Time....", senza VM avrei pensato che fosse un problema di file rovinati. ;)