Блог им. AlexeyPetrushin

Ускорить симуляцию

В симуляциях важна производительность, можно ускорить вычисления за счет болшей памяти а) кеш, это отдельная тема б) приближенной функцией. Где вместо реально и сложной функции используется ее приближение из 100, 1000 или 10000 точек.

count = 1000
ys[i] = fn(x) for x in collect([xmin, xmax], { count })
last_i = count-1

И затем любое значение можно получить как

y = ys[trunc(last_i*(x-xmin))]

Со скоростью 4х операций и хорошей локальностью памяти.

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

Языки использующие структуры близкие к железу (C, Nim, и т.п) но часто достаточно JavaScript/Java они также работают достаточно быстро.

П.С. Python/Matlab используют векторизацию и многие типовые операции реализованы эффективно на C, но таки, не всегда удается уложиться именно в эти операции.

320
1 комментарий
Для меня, это как для Вас,  Бис-октадиенил-метил амин.
avatar

Читайте на SMART-LAB:
Фото
Экосистема «МГКЛ» — как она работает на практике
Экосистема «МГКЛ» — это единая логика оборота активов и капитала. Один и тот же товар или сделка может проходить через разные контуры...
Фото
Ключевые тезисы по итогам раскрытия финансовых результатов за 2025 г. и ожидания на 2026
☝️На днях мы опубликовали финансовые результаты по итогам 2025 г., а также провели коммуникацию с участниками рынка, в рамках которой обсудили наши...
Фото
Как прошла экскурсия на лазерное производство
На прошлой неделе мы организовали поездку для представителей медиа и финансового сообщества на завод лазерной дочки SOFL — VPG LaserONE (входит в...
Фото
Мой Рюкзак #63: ВТБ - дальше без меня, меняем на более крепкий банк, дивидендные отсечки близко
Февраль продолжает радовать стоимостных инвесторов, все по стратегии, которую описывал в конце прошлого года Прошлый пост тут —...

теги блога Alex Craft

....все тэги



UPDONW
Новый дизайн