Что такое файлы MonoDevelop .pidb? - PullRequest
44 голосов
/ 20 июня 2009

MonoDevelop создает их для каждого проекта. Должен ли я включить их в систему контроля версий?

Ответы [ 2 ]

54 голосов
/ 20 июня 2009

Из сообщения MonoDevelop в блоге :

Было несколько ожидающих долгое время отчеты об ошибках, и я также хотел немного улучшить производительность и использование памяти. MonoDevelop создает Информационная база данных парсера (pidb) файл для каждой сборки или проекта. Этот файл содержит всю информацию о классах, реализованных в сборка вместе с документацией вытащил из монодока. Файл PIDB имеет разделы три: первый заголовок, который содержит среди прочего вещи версия формата файла (эта версия проверяется при загрузке PIDB, и файл будет регенерируется, если он не соответствует текущая версия реализации). Второй раздел является индексом файл pidb. Содержит индекс всех занятия в базе данных. Индекс всегда полностью загружен в память, чтобы быть в состоянии быстро найти классы. третий раздел файла содержит все информация о классе: список методы, поля, свойства, документация для каждого из них, и скоро. Каждая запись в индексе имеет поле смещения файла, которое можно использовать полностью загрузить всю информацию класса (индекс содержит только имя).

Похоже, это действительно просто оптимизация. Лично я бы не включил его в систему контроля версий, если вы не обнаружите, что он имеет большое различие в производительности: я думаю, что он действительно останется действительным, если над проектом одновременно работает только один человек. (Если он большой и регулярно меняется, вы можете обнаружить, что он добавляет значительные накладные расходы и к хранилищу. Я не проверял, какой на самом деле размер, но стоит проверить.)

17 голосов
/ 24 июня 2009

Это просто кэшированные данные завершения кода. Как объясняет пост, на который ссылается Джон, основная причина заключается в экономии памяти, хотя они также избавляют вас от ожидания, пока MD проанализирует все исходные файлы и ссылочные сборки при открытии проекта.

Файлы pidb могут быть восстановлены довольно быстро, поэтому нет смысла хранить их в VCS. Действительно, помимо издержек хранилища VCS, это может также вызвать проблемы, если люди используют разные версии MD с разными форматами pidb, поэтому я настоятельно рекомендую не сохранять их в системе контроля версий.

...