Подмена оптимизированных файлов при помощи символических ссылок. Сброс количества сэмплов.
БД:
- Добавить таблицу в схему БД для оптимизированных объектных файлов (optimized).
- Добавить таблицу в схему БД для черного списка (blacklist).
Добавить дополнительные фильтры для применения оптимизации:
- Не оптимизировать уже оптимизированные файлы.
- Не оптимизировать файлы из черного списка.
После оптимизации:
-
Проверить оптимизированный файл: проверка.
-
Если проверка неуспешна:
- добавить файл в таблицу blacklist.
- пропустить замену файла.
-
Если проверка успешна:
- сохранить исходный objfile как objfile.bak:
cp objfile objfile.bak
- создать символическую ссылку outfile -> objfile:
ln -sf outfile objfile
- Добавить оптимизированный файл в таблицу optimized.
- сохранить исходный objfile как objfile.bak:
-
Удостовериться, что для оптимизированных и пропущенных файлов perf файлы все еще накапливаются, но оптимизация не повторяется.