2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Скорость вычислений Mathematica
Сообщение19.07.2011, 23:46 


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

 Профиль  
                  
 
 Re: Скорость вычислений Mathematica
Сообщение19.07.2011, 23:55 
Заслуженный участник


04/05/09
4584
Наверно, из-за того, что на Виндах дискретность стандартного таймера порядка 16 миллисекунд.

 Профиль  
                  
 
 Re: Скорость вычислений Mathematica
Сообщение20.07.2011, 00:28 


01/12/06
463
МИНСК
А поподробнее можно? Т.е. считает он во всех точках одинаково?

 Профиль  
                  
 
 Re: Скорость вычислений Mathematica
Сообщение20.07.2011, 06:01 
Заслуженный участник


04/05/09
4584
Можно определить время точнее, но простейшая функция C возвращает время в тиках, коих в секунде фиксированное число (на PC часто - 60). Если очень часто опрашивать время, то оно будет неизменно, неизменно, неизменно, а потом - раз, и на 16 миллисекунд увеличилось.

 Профиль  
                  
 
 Re: Скорость вычислений Mathematica
Сообщение20.07.2011, 07:18 


01/12/06
463
МИНСК
Спасибо за ответы. Т.е. скорость расчетов в принципе распределена равномерно?? И 10^(-17) совсем не точное время, а как переходит через 0.016, показывает. Так?

 Профиль  
                  
 
 Re: Скорость вычислений Mathematica
Сообщение20.07.2011, 11:33 
Заслуженный участник


25/02/11
1786
Видимо, $10^{-17}$ это погрешность типа лонг. А такое время на много порядков меньше интервала для одного такта процессора :-)

 Профиль  
                  
 
 Re: Скорость вычислений Mathematica
Сообщение20.07.2011, 15:10 
Заслуженный участник


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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group