Предлагаю добавить ещё одну специальную форму в интерпретатор, позволяющую делать замеры размеров выходов и скорости работы методов из пользовательского интерфейса и выводить результат в форме статистики по средним значениям от размера входа с учётом дисперсии. Очень удобно будет анализировать эффективность работы улучшенных методов, в том числе эмпирически оценивать асимптотику.
В принципе, такое можно просто добавить в виде нового блока тестов (нагрузочного), но мне кажется, интерфейсный вариант с порождением диаграмм будет даже лучше.
Предлагаемый синтаксис
Compare [параметр] {Seq1} {Seq2} {Val} {Iterations} --- где Seq1 и Seq2 --- секвенции вычислений одного и того же типа T1 -> T2, Val --- значение (случайное или скомбинированное из случайного секвенцией действий) типа T1, Iterations --- натуральное число.
Интерфейс диаграммы близок к тому, который есть в методе Test, но попробуем добавить ещё усы (для доверительных интервалов).
Предлагаю добавить ещё одну специальную форму в интерпретатор, позволяющую делать замеры размеров выходов и скорости работы методов из пользовательского интерфейса и выводить результат в форме статистики по средним значениям от размера входа с учётом дисперсии. Очень удобно будет анализировать эффективность работы улучшенных методов, в том числе эмпирически оценивать асимптотику.
В принципе, такое можно просто добавить в виде нового блока тестов (нагрузочного), но мне кажется, интерфейсный вариант с порождением диаграмм будет даже лучше.
Предлагаемый синтаксис
Compare [параметр] {Seq1} {Seq2} {Val} {Iterations}
--- гдеSeq1
иSeq2
--- секвенции вычислений одного и того же типаT1 -> T2
,Val
--- значение (случайное или скомбинированное из случайного секвенцией действий) типаT1
,Iterations
--- натуральное число.Интерфейс диаграммы близок к тому, который есть в методе
Test
, но попробуем добавить ещё усы (для доверительных интервалов).