Записи с темой: ступор мозговины (2)
21:38

Ваша Всратость
Сегодня забавно оговорился при обсуждении функционала на нашей системе контроля перевозок - "а подсказка должна появиться только в том случае, если клиент не поместится в отведенную для него ячейку"

@темы: горбота, ступор мозговины

22:34

Ваша Всратость
Нода вознамерилась-таки пожрать мой моск.
Дано:

Молотилка, реализующая схему Рунге-Кутта 4-го порядка. Ну потому что классика. Чтобы не тратиццо на оверхеды, связанные с созданием временных массивов (для K0, K1, K2, K3), создаем их перед началом интегрирования, на каждом шаге перезаписываем значения внутри. Сами данные о моделируемой системе лежат в отдельном массиве, способном удержать до 2048 элементов (каждый элемент описывается 7-ью 8-и разрядными флоатами, так что в сумме ~ 112Кб, отожранных из памяти). Используемые массивы - Float64Array, есличо


Запускаем молотилку, а чтобы было интереснее - просим ее выводить расход времени на один пробег численного интегрирования. Тестовый кейс - 28 переменных, 50000 шагов. И начинается магия (скважность на распечатке - 5000 шагов). Вот что мы словили:



Первый прогон - 0.25 миллисекунды, через 10000 шагов - уже 0.0175мс, под конец - 0.0025мс. WTF!? Почему сначала мы так тормозим, а затем так лихо разгоняемся!? Есть подозрение, что Нода видит, как мы используем лишь маленький фрагмент от выделенного изначально шмата памяти и проводит подковерную оптимизацию


Upd.
Если считать по средней скорости, замерив время на старте и финише, то Нода разгоняется еще быстрее, до ~ 0.0011мс/шаг. Видимо, мы тут приблизились к пределу точности performance.now. Который для безопасности искажает выдаваемое значение. Бгыыыы

@музыка: Почему молчит коммуникатор - ритуальная композиция

@темы: кодерастия, ступор мозговины