donderdag 6 december 2007

Delphi speed tips

Na mijn ".Net speed tips" kon een Delphi versie natuurlijk niet uitblijven :-).
Dus bij deze de eerste tips, een tweede (of meer) komen later.

Delphi IDE
De IDE van Delphi kan op een aantal manier versneld worden. Dit betreft de werking van IDE zelf, geen shortcuts etc.

- FastMM memory manager replacement voor Delphi
(http://sourceforge.net/projects/fastmm/)

De makers van FastMM hebben voor Delphi een "replacement dll" gemaakt, die het geheugen beheer van Delphi overneemt. Dit geldt dus alleen voor de Delphi IDE zelf, niet de gecompileerde applicaties (zie onder). Door "borlndmm.dll" te vervangen door de FastMM versie, is de IDE sneller en stabieler (!). Werkt van D5 tot D2005 (D2006 en hoger gebruiken zelf standaard al FastMM!).

- DelphiSpeedUp plugin
(http://andy.jgknet.de/dspeedup/)

Met deze plugin wordt de werking van de Delphi IDE een stuk versneld. Onder andere de opstarttijd is een stuk sneller, maar ook de algehele werking is sneller, doordat interne functies vervangen worden door functies van het Fastcode project (in geheugen, de Delphi .exe wordt niet aangepast). Verder heeft het allerlei interne caches en andere optimalisaties voor een snellere werking. Een echte aanrader!

Delphi experts
Delphi experts zijn plugins waarmee het leven van een programmeur gemakkelijk wordt :-).
Een kleine opsomming van mijn favorieten:

GExperts
(http://www.gexperts.org/tour/)

Dit is een zeer uitgebreide plugin, met zeer veel handige functies. De "experts" zijn verdeeld
over een aantal categorieen:
"Editor experts" - Bijvoorbeeld regels sorteren, reverse statement (!), previous/next identifier (begin/end etc).
"IDE enhancements" - Zoals multiline tabs, component palette verbeteringen.
"Code editor enhancements" - Multiline tabs voor open bestanden, editor toolbar.
"Editor toolbar" - Hierop kun je allerlei functies op plaatsen.

De extra functies die GExperts biedt lopen uiteen van een ASCII tabel tot een zeer goede "Grep
search", van "Set tab order" tot "replace components", van "Project option sets" tot "Project dependencies, van "Clipboard history" tot "Executable information". Verder gebruik ik de "Procedure list" functie erg vaak: CTRL-G indrukken en je krijgt een lijst van alle functies
die een Delphi unit bevat. Default is de subsearch actief: door een gedeelte van een naam in te typen wordt de lijst gefilterd, via "enter" wordt naar de functie gesprongen. Ideaal!

DDevExtensions plugin
(http://andy.jgknet.de/dspeedup/index.php?page=DDevExtensions)

Van de maker van de "DelphiSpeedUp plugin". Bevat een aantal kleine verbeteringen zoals een simpele progressbar tijdens compileren en een "component selector". Maar het meest gebruik ik de sterk verbeterde "View unit" en "View form" functies. Deze werken net als de "Procedure list" functie van GExperts. In dit geval gebruik je de normale CTRL-F12 en SHIFT-F12 sneltoetsen. In plaats van een simpele lijst waarin je alleen op het begin kunt zoeken, krijg je een mooie lijst die je kunt sorteren, filteren op classe, etc. Maar vooral super werkt subsearch: door een gedeelte van een unit/form naam in te typen, waardoor de lijst gefiltert wordt. Ideaal!

JEDI Experts
(http://homepages.codegear.com/jedi/jvcl/)

Deze zijn onderdeel van de JEDI componenten (JVCL, JCL). Deze bevatten een aantal debugger plugins (auto insert JEDI debug data in .exe, threadnames, etc), Project analyzer, Uses wizard etc.

Geen opmerkingen: