Подтвердить что ты не робот

Что такое файлы MonoDevelop.pidb?

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

4b9b3361

Ответ 1

Из Запись блога MonoDevelop:

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

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

Ответ 2

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

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