2009-06-20 6 views

Répondre

54

D'un MonoDevelop blog post:

Il y avait plusieurs longtemps dans l'attente rapports de bugs, et je voulais aussi améliorer un peu les performances et utilisation de la mémoire. MonoDevelop crée un fichier Base de données d'informations de l'analyseur (pidb) pour chaque assemblage ou projet. Ce fichier contient toutes les informations sur les classes implémentées dans un assemblage , ainsi que la documentation tirée de Monodoc. Un fichier PIDB a sections trhee: le premier est un en-tête qui contient entre autres choses la version du format de fichier (cette version est vérifiée lors du chargement le PIDB, et le fichier sera régénéré si elle n » t correspond à la version d'implémentation actuelle). La deuxième section est l'index du fichier pidb . Il contient un index de toutes les classes de la base de données. L'index est toujours entièrement chargé en mémoire pour être capable de localiser rapidement les classes. La troisième section du fichier contient toutes les informations de classe : la liste des méthodes , des champs, des propriétés, documentation pour chacun d'eux, et ainsi de suite. Chaque entrée dans l'indice a un champ de décalage de fichier , qui peut être utilisé pour charger complètement toutes les informations d'une classe (l'index ne contient que le nom).

Il semble donc que ce soit juste une optimisation. Personnellement, je ne l'inclurais pas dans le contrôle des sources à moins que vous ne trouviez que cela fasse une différence de performance: je pense que cela ne restera valable que si une seule personne travaille sur le projet à la fois. (Si elle est grande et change régulièrement, vous pourriez la trouver en ajoutant une surcharge importante au dépôt.) Je n'ai pas vérifié la taille, mais ça vaut le coup de vérifier.)

+1

Encore une fois, Skeet à la rescousse ... + 1 (comme il en a besoin). – ctacke

17

données d'achèvement. Comme le poste Jon explique lié, la raison principale est de vous faire économiser de la mémoire, mais ils épargnent également d'attendre MD pour analyser tous les fichiers source et ensembles référencés lorsque vous ouvrez un projet.

Les fichiers PIDB peuvent être régénérées assez rapidement, donc il n'y a aucun avantage à les garder dans le VCS. En effet, ainsi que les frais généraux de dépôt VCS, il pourrait aussi causer des problèmes si les gens utilisent différentes versions de MD avec différents formats de PIDB, donc je vous recommande fortement contre les garder dans le contrôle source.

Questions connexes