Почему звук постепенно печатается медленно? - PullRequest
1 голос
/ 08 мая 2019

Существует целый ряд статей, в которых утверждается, что постепенная печать по своей сути медленная. Наиболее шокирующее утверждение исходит от Takikawa et al (2016) , которые сообщают о 100-кратном замедлении на постепенно набираемых программах.

Я просто не верю в это и хочу точно знать , откуда замедление. Я могу поверить, что реализация постепенной типизации в Typed Racket идет медленно, но в целом постепенная типизация не будет такой медленной.

Возьмем, к примеру, эту постепенно набираемую программу на Python:

x = some_fun()
y: int = x

Это неправильно, потому что x может быть другого типа, чем int. Однако, если умный компилятор вставляет эквивалент assert

x = some_fun()
assert type(x) == int
y: int = x

тогда проверка типа становится обоснованной. Ясно, что даже если вы вставляете сотни утверждений повсюду в программе, замедление в 100 раз нереально. Что мне здесь не хватает?

...