Есть странная ошибка, которая была в Mathematica в течение многих лет, по крайней мере с версии 5.1, и сохранялась в версии 7.
Module[{f, L}, L = f[];
Do[L = f[L, i], {i, 10^4}]] // Timing
{0.015, Null}
Module[{weirdness, L}, L = weirdness[];
Do[L = weirdness[L, i], {i, 10^4}]] // Timing
{2.266, Null}
-
Что вызывает это? Это проблема хеширования?
-
Исправлено ли это в версии 8?
-
Есть ли способ узнать, какие имена символов вызывают замедление, отличное от тестирования?