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