2008-11-28 4 views
1

В прошлом и с перерывами теперь я использовал инструменты моделирования, такие как Easy Java Simulations и NetLogo.Как вы профилируете/оптимизируете инструмент моделирования?

Они отличные инструменты для визуального моделирования различных математических/comp-sci-концепций, поскольку «все, что вам нужно сделать» - написать цикл моделирования - графика и т. Д. Обрабатываются для вас.

Однако, одна вещь, которую я заметил, заключается в том, что улучшение времени выполнения/скорости моделирования чрезвычайно сложно с использованием таких инструментов, потому что кишки реализации скрыты под поверхностью.

Существует, как правило, отличная документация о том, как использовать инструменты симулятора, но я ничего не нашел в улучшении времени выполнения.

Например, скажем, вы внедряете метод Ньютона для поиска корней. Это прямолинейный алгоритм, но в зависимости от

  • типа графического вложения Вы используете или
  • различных других различных параметров, выбранные

симуляция будет работать на разных скоростях.

Есть ли способ определить «оптимальное» отображение данных моделирования?

Я думаю об этом в случае использования такого инструмента для обучения классам моделирования/научного программирования.

ответ

1

Если все остальное терпит неудачу, то вы можете использовать комбинацию этих двух подходов:

  • предугадывать среды: спросить себя, как вы бы реализовать свои возможности, а затем вывести, какие функции, вероятно, будет требовать наименьшая вычислительная работа.
  • Пробная ошибка: просто сравните различные методы, проверив их. Это большая помощь, если в среде есть какое-то средство для синхронизации вашего кода, например функция, которая (точно) сообщает вам, какое сейчас время.

Не забывайте о таких эффектах, как кеширование и оптимизация памяти. Если вы попытаетесь использовать определенную функцию в определенном контексте, она может отличаться от предыдущего опыта.

+0

NetLogo имеет расширение профилировщика включенное – Matt 2010-11-11 05:23:17

3

Вы можете попытаться использовать инструментарий моделирования агентов Repast Symphony. Это зрелая, свободная среда программирования с открытым исходным кодом с множеством полезных функций. Вы можете интегрировать Repast с Eclipse, который имеет profiler plugin.

Смежные вопросы