MonoDevelop erstellt diese für jedes Projekt. Sollte ich sie in die Quellcodeverwaltung einbeziehen?Was sind die .pidb-Dateien von MonoDevelop?
Antwort
Es gab mehrere lange Zeit anhängig Bugreports, und ich wollte auch ein bisschen um die Leistung verbessern und Speichernutzung. MonoDevelop erstellt eine Parser Information Database (PIDB) Datei für jede Assembly oder jedes Projekt. Diese Datei enthält alle Informationen über Klassen, die in einer Baugruppe zusammen mit Dokumentation aus Monodoc implementiert werden. Eine PIDB Datei hat trhee Abschnitte: der erste ist ein Header, der unter anderem Dinge die Version des Dateiformats enthält (diese Version wird geprüft, wenn die PIDB Laden, und die Datei regeneriert werden wenn es doesn‘ t entsprechen der aktuellen Implementierungsversion ). Der zweite Abschnitt ist der Index der Pidb-Datei. Es enthält einen Index aller Klassen in der Datenbank. Der Index ist immer voll im Speicher geladen, um in der Lage, Klassen schnell zu lokalisieren. Der dritte Abschnitt der Datei enthält alle die Klasseninformationen: Liste der Methoden, Felder, Eigenschaften, Dokumentation für jede dieser, und so weiter. Jeder Eintrag im Index hat ein Dateioffsetfeld , das verwendet werden kann , um alle Informationen einer Klasse vollständig zu laden (der Index enthält nur den Namen).
So klingt es wie es ist nur eine Optimierung. Ich persönlich würde es nicht in die Quellcodeverwaltung einbeziehen, es sei denn, Sie finden es große Unterschied zur Leistung: Ich denke, es wird nur gültig bleiben, wenn nur eine Person an dem Projekt arbeitet. (Wenn es groß ist und sich regelmäßig ändert, können Sie feststellen, dass es dem Repository einen erheblichen Aufwand hinzufügt. Ich habe nicht überprüft, wie groß die Größe tatsächlich ist, aber es lohnt sich.)
Sie sind nur Cache-Code Abschlussdaten. Wie der Post Jon Link erklärt, besteht der Hauptgrund darin, Speicher zu sparen, obwohl sie Sie auch davor bewahren, darauf zu warten, dass MD beim Öffnen eines Projekts alle Quelldateien und referenzierten Assemblierungen analysiert.
Die PIDB-Dateien können ziemlich schnell neu generiert werden, so dass es keinen Vorteil hat, sie im VCS zu behalten. Neben dem VCS-Repository-Overhead kann es auch zu Problemen führen, wenn Benutzer unterschiedliche Versionen von MD mit unterschiedlichen PIDB-Formaten verwenden. Daher rate ich dringend davon ab, sie in der Quellcodeverwaltung zu belassen.
- 1. Was sind die Konsolenfarbwerte
- 2. Was ist 'semantische Hervorhebung' Option in MonoDevelop
- 3. Was sind die Werte?
- 4. d2: Was sind die Semantiken von opDot?
- 5. Was sind die Nebenwirkungen von EmptyWorkingSet?
- 6. Was sind die Vorteile von "Staircase" Branching?
- 7. Was sind die Abhängigkeiten von com.android.settings (ICS)
- 8. Was sind die Vorteile von Conduit-Resten?
- 9. Was sind die Vorteile von Subversion?
- 10. Was sind die Standard-Farbskalen von Plotly?
- 11. Was sind die date_default_timezones von diesen?
- 12. Was sind die von OKTA ausgesetzt APIs
- 13. Was sind die Verwendungen von SetWriteDeadline
- 14. Was sind die Systemanforderungen von ADT?
- 15. Was sind die Nachteile von Stackless Python?
- 16. Was sind die Vorteile von Lazy Evaluation?
- 17. Was sind die Vorteile von Java?
- 18. Was sind die Verwendungsmöglichkeiten von Binärdateien?
- 19. Was sind die Risiken von PHP-Sitzungen?
- 20. Was sind die Verwendungen von atomaren Wegen?
- 21. Was sind die teuren Optimierungen von GCC?
- 22. Was sind die Nachteile von Lucene?
- 23. Was sind die Vorteile von Ressourcendateien (.resx)?
- 24. Was sind die versteckten Funktionen von Maven2?
- 25. Was sind die Eigenschaften von Spaghetti Code?
- 26. Was sind die Vor-/Nachteile von py2exe
- 27. Was sind die Kinder von DocumentElement?
- 28. Was sind die Vorteile von Asynchronous HTTP
- 29. Was sind die Einheiten von FB.getAuthResponse(). ExpiresIn?
- 30. Was sind die Ziele von Ninject Modulen?
Noch einmal, Skeet zur Rettung ... + 1 (wie er es braucht). – ctacke