Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Скорость вычислений Mathematica
Начну с простого примера.
Код:
Timing[Table[Timing[Log[i*10^(-20)]], {i, 1, 3000}]]
Почему во всех точках скорость расчета порядка $10^{-17}$, а в какой-то одной(причем различной при нескольких запусках) 0.016?

 Re: Скорость вычислений Mathematica
Наверно, из-за того, что на Виндах дискретность стандартного таймера порядка 16 миллисекунд.

 Re: Скорость вычислений Mathematica
А поподробнее можно? Т.е. считает он во всех точках одинаково?

 Re: Скорость вычислений Mathematica
Можно определить время точнее, но простейшая функция C возвращает время в тиках, коих в секунде фиксированное число (на PC часто - 60). Если очень часто опрашивать время, то оно будет неизменно, неизменно, неизменно, а потом - раз, и на 16 миллисекунд увеличилось.

 Re: Скорость вычислений Mathematica
Спасибо за ответы. Т.е. скорость расчетов в принципе распределена равномерно?? И 10^(-17) совсем не точное время, а как переходит через 0.016, показывает. Так?

 Re: Скорость вычислений Mathematica
Видимо, $10^{-17}$ это погрешность типа лонг. А такое время на много порядков меньше интервала для одного такта процессора :-)

 Re: Скорость вычислений Mathematica
Андрей123 в сообщении #469763 писал(а):
Спасибо за ответы. Т.е. скорость расчетов в принципе распределена равномерно?? И 10^(-17) совсем не точное время, а как переходит через 0.016, показывает. Так?
Возможно, $10^{-17}$ секунды добавляют к оказавшимся нулевыми интервалам времени, чтобы не было деления на ноль. Обычно в этом случае получается ровно ноль. Или это погрешность представления чисел в виде чисел с плавающей точкой.

 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group