[Moscow.pm] Сравнение языков
Михаил Монашёв
postmaster на softsearch.ru
Пн Фев 9 07:42:11 PST 2015
Здравствуйте, Alexander.
>> Вот и ноду обогнали :-)
> Ну это не совсем честно, ИМХО. Да и посмотри, как сильно читаемость
> кода ухудшилась!
> Переписал через слайсы, чтобы перейти в цикле к сравнению с нулём (что
> намного быстрее): https://play.golang.org/p/SZYYqGDmQY и стало 11ms.
Кстати, что странно, время выполнения этого кода прыгает иногда в 2
раза. И профайлер VTune показывает в таких случаях очень большой Spin
Time:
Elapsed Time: 0.382s
Total Thread Count: 5
Paused Time: 0s
CPU Time: 0.063s
Spin Time: 0.011s <--- почти столько же, сколько работает наше суммирование
Overhead Time: 0s
Effective Time: 0.052s
Idle: 0.000s
Poor: 0.052s
Ok: 0s
Ideal: 0s
Over: 0s
Top Hotspots
Function CPU Time
runtime.memclr 0.026s <--- это освобождение памяти после окончания работы
main.main 0.017s <--- это выделение памяти и заполнение массива первичными данными
WaitForSingleObject 0.011s <--- это какие-то непонятные локи в kernel32.dll
main.func╥001 0.009s <---- это код, работающий в горутине, который мы собственно и замеряем
Есть мысли, что это и как избегать?
--
С уважением,
Михаил mailto:postmaster на softsearch.ru
Подробная информация о списке рассылки Moscow-pm