2014-05-07

ufm: (Default)

Причем в плохом смысле этого слова.
Простенькая и неправильная программа: http://pastebin.com/fYE2CvUS

Неправильная, потому что в summ ко окончанию будет черти что (почему, я надеюсь, объяснять не нужно).
Но странно не это. Странно другое.
Запускаем:
$ time ../../hello.go
summ == 2564618148

real 0m4.182s
user 0m15.373s
sys 0m0.340s

А теперь исправляем 18 строчку на summ += 1 (или summ++ — даёт такой-же эффект)
$ time ../../hello.go
summ == 2367670838

real 0m15.969s
user 1m2.116s
sys 0m0.428s

Причем ладно бы эти варианты были атомарными, в отличие от «summ = summ +1″, тогда понятно было-бы тормозилово. Но так ведь нет.

Originally published at U.F.M's Homepage. You can comment here or there.