Небольшое дополнение.
1. Если обозначить общее время распаковки y и время умножения x, то зависимость между ними y=x+const, т.к. const зависит только от содержания потока бит, который постоянен для одного файла и не зависит от времени умножения.
2. Хорошо, линейность зависимости очевидна, зачем нужна ползучая эмпирика с аппроксимацией, почему бы не посчитать x и const по тактам? Собственно x я и посчитал по тактам, для процедур умножения это возможно. Хотя внимательность нужна, т.к. большинство процедур умножения (в моей выборке все кроме одной) содержат условные переходы и нужно посчитать пути по всем веткам и усреднить, если нет заметных перекосов вероятностей сомножителей (судя по линейности полученной аппроксимации, я посчитал правильно, по крайней мере без серьезных ошибок). А вот const включает в себя слишком много условных переходов и циклов. За одним умножением, т.е. за одним декодированным битом может следовать запись одного литерала или накопление части литерала или копирование ссылки или декодирование длины ссылки или смещения, вариантов слишком много чтобы их все аккуратно и правильно посчитать. Проще и точнее определить y (общее время распаковки).




Ответить с цитированием