Ускорить симуляцию
В симуляциях важна производительность, можно ускорить вычисления за счет болшей памяти а) кеш, это отдельная тема б) приближенной функцией. Где вместо реально и сложной функции используется ее приближение из 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, но таки, не всегда удается уложиться именно в эти операции.
321
Читайте на SMART-LAB:
Палладий + масло, на котором жарили котлеты, = ?
🔬 Команда исследователей из Университета Южной Каролины нашла способ с помощью палладия превратить использованное растительное масло в...
🖥️ Комплексное импортозамещение для промышленности от Софтлайн
Друзья, делимся очередным классным кейсом! «Софтлайн Решения» (входит в Группу Софтлайн) реализовала комплексный ИТ-проект для крупного...
Криптоиндустрия как новый финансовый рынок
Криптоиндустрия – совокупность рынков и технологических сервисов, которые напрямую связаны с цифровыми активами, в основе которых лежит технология...
Совкомбанк МСФО 2025 г. - чем это лучше Сбера?
Совкомбанк опубликовал финансовые результаты за 2025 год. Чистая прибыль снизилась на 31% до 53,2 млрд руб., в 4-ом квартале снижение...