В настоящее время диаграммы порождаются прямо по ходу логгирования, поэтому если строится длинная функциональная последовательность преобразований автомат -> автомат, то все промежуточные диаграммы дублируются. Сейчас самой дорогой по времени является операция dot2tex в рендеринге, и такое дублирование не очень хорошо сказывается на скорости.
Предлагаю делать привязку картинки к шагу, и если на входе следующего шага вычислений тот же автомат, что и был на выходе, хотя бы его не дублировать в генераторе.
Лучше не дублировать их и между функциональными последовательностями, а привязывать к переменной, если она типа автомат, соответствующую диаграмму, и при переиспользовании этой переменной включать тот же исходник. Аналогично - если преобразование ничего не сделало. Потому что сейчас такая последовательность:
порождает 7 диаграмм, а по существу тут только три (что видит тайпчекер, но не видит логгер).
Заодно такой рефакторинг решит проблему повторного рендеринга при доставании из кеша.
В настоящее время диаграммы порождаются прямо по ходу логгирования, поэтому если строится длинная функциональная последовательность преобразований
автомат -> автомат
, то все промежуточные диаграммы дублируются. Сейчас самой дорогой по времени является операцияdot2tex
в рендеринге, и такое дублирование не очень хорошо сказывается на скорости. Предлагаю делать привязку картинки к шагу, и если на входе следующего шага вычислений тот же автомат, что и был на выходе, хотя бы его не дублировать в генераторе. Лучше не дублировать их и между функциональными последовательностями, а привязывать к переменной, если она типаавтомат
, соответствующую диаграмму, и при переиспользовании этой переменной включать тот же исходник. Аналогично - если преобразование ничего не сделало. Потому что сейчас такая последовательность:порождает 7 диаграмм, а по существу тут только три (что видит тайпчекер, но не видит логгер). Заодно такой рефакторинг решит проблему повторного рендеринга при доставании из кеша.