2010-10-05 24 views
2

J'utilise Delphi 2009.Amélioration Delphi 2009 vitesse IDE sur un énorme projet en utilisant de nombreux composants et bibliothèques

Sur un énorme projet 300+ unités, 5 composants tiers, beaucoup de bibliothèques, très souvent l'IDE se fige pour secondes, très souvent quand "intellisense" (je ne me souviens pas comment il s'appelle) essaie de me donner des suggestions.

Existe-t-il un moyen d'améliorer les performances?

Je vais aussi essayer les améliorations suivantes:

1) Format ma machine

2) mise à niveau vers Delphi XE

Mais pouvez-vous suggérer tout autre chose?

+1

peut-être que l'ajout de fichiers au DPR aide à - voir http://stackoverflow.com/questions/2776932/ ajouter-des-fichiers-au-fichier-dpr-vs-project-paths-in-delphi-2010 – mjn

Répondre

5

3) acheter une machine plus rapide

4) désactiver le code faisant allusion

5) essayer IDE FixPack

6) Gardez toujours à l'esprit: Hardware is Cheap, Programmers are Expensive

+2

Et n'oubliez pas DelphiSpeedUp: http://andy.jgknet.de/blog/?page_id=8 Outre les améliorations de performances, il inclut également une fonctionnalité permettant d'arrêter l'aperçu du code lors du déplacement de la souris ou de l'esc. –

+0

Je vais installer IDE FixPack et désactiver certaines options. J'installerai Delphi plus récent sur un serveur rapide et ferai le bureau à distance contre lui. – LaBracca

+1

Delphi Speed ​​Up est inutile pour Delphi 2009+. Quoi qu'il en soit un bon conseil. – LaBracca

3

(code Perspicacité) IntelliSense tend être un peu pénible, car il va utiliser les informations du code pour vérifier quelle intelligence il peut servir. Vous pouvez réduire la quantité d '"intelligence" en faisant référence à moins d'unités de votre code. Si l'unité 1 n'a pas besoin de quelque chose de l'unité 2, n'utilisez pas l'unité 2 de cette unité. Le nettoyage de la clause 'uses' accélérera un peu les choses.
Vous pouvez également désactiver certaines ou toutes les options fournies par Intellisense. L'IDE devient alors un peu moins utile (mais CTRL + SPACE est toujours votre ami) mais cela accélérera un peu les choses.
Avec un projet de plus de 300 unités, vous devriez peut-être repenser le design original. Est-il possible de diviser les unités en blocs logiques? Est-il possible de déplacer certaines unités dans des paquets séparés ou des DLL? Cependant, il n'est pas rare que de grands projets soient aussi importants. Mais j'ai moi-même tendance à regrouper les unités apparentées dans le même sous-dossier, avec plusieurs sous-dossiers dans mon projet pour tous les blocs d'unités logiques.
La conception même du projet compliquera toujours les choses. Matériel plus récent, plus de mémoire, un disque dur plus rapide et plus de patience sont très pratiques avec ce genre de projets.

2

Si vous utilisez 5 grandes bibliothèques de composants, cette astuce peut vous aider.

Si vous surveillez l'accès aux fichiers de votre système en utilisant SysInternals ou quelque chose de similaire, vous verrez qu'il lit très fréquemment tous les dossiers de votre chemin de bibliothèque IDE. Réduire le nombre de dossiers dans mon chemin de bibliothèque a fait une amélioration notable, mais pas radicale, de Code Insight pour moi.

Déplacez tous les fichiers DCU de vos composants tiers dans un répertoire unique, puis ajoutez ce répertoire au chemin de la bibliothèque, en supprimant les répertoires DCU tiers existants du chemin de la bibliothèque en même temps.

Vous devrez peut-être copier quelques fichiers DFM, RES et INC dans ce nouveau dossier DCU commun, mais vous obtiendrez des erreurs de compilation pour vous en informer.

0

télécharger et d'utiliser des outils comme Delphi Distiller avec que vous pouvez supprimer certaines fonctionnalités de refactoring indésirables et de nombreux réglages disponibles dans ce logiciel

et utiliser DelphiSpeedUp 2.8 rend la charge ıde Delphi plus rapidement (il améliore le temps de chargement de D2007 très bien) mais il peut aussi speedup D2009 un peu

0

Delphi distillateur peut même désactiver les paquets indésirables et les outils même certains composants