dimhold.by

Артыкулы

27 артыкулаў Архіў →

11 верасня 2013 г.

Адзін і той жа код абагнаў сам сябе на 33 адсоткі

Я аб'явіў адну функцыю двойчы і памераў дзве копіі адна супраць адной. На адной пары раўндаў аднолькавы код паказаў перамогу ў 32.9 адсотка, 10.6 адсотка пар выдаюць пераможцу з разрывам больш за 5 адсоткаў, а самы першы раўнд ідзе ў 3.57 раза павольней за ўсталяваную медыяну. Усё, што на гэтай машыне менш за 3 адсоткі, гэта не вынік.

5 хв чытання

хуткадзейнасць статыстыка

12 чэрвеня 2013 г.

Экран для пошуку падробак спрацоўвае на ліках, якіх ніхто не падрабляў

Закон Бенфарда прадаюць як экран: наводзіш на слупок лікаў і падробка відаць. Я навёў яго на 4 слупкі з аднаго рэпазіторыя, дзе падрабляць не было каму і навошта, і 3 з іх праваліліся. Горш за тое, два прынятыя тэсты даюць на тых самых даных супрацьлеглыя вердыкты: слупок, які прапускае MAD, адхіляе chi square.

7 хв чытання

статыстыка лікі

10 красавіка 2013 г.

93 адсоткі працы пайшлі кліентам, якія ўжо сышлі

Я збіраўся памераць, як паўторы валяць сэрвіс пад нагрузкай. Трафік яны сапраўды патройваюць, у маім стэндзе ў 2.88 раза, але абвал зрабілі не яны. Абвал быў ужо на 1.2 столі, бо чарга стала глыбейшай за кліенцкі таймаўт і сервер увесь дзень дарабляў запыты, якіх ужо ніхто не чакаў.

6 хв чытання

надзейнасць сеткі

13 сакавіка 2013 г.

Таймаўт, які ты не паставіў, роўны 135 секундам

Я казаў, што запыт без таймаўта чакае вечна. Палова гэтага няслушная. Таймаўт на ўсталяванне злучэння ядро выдае незалежна ад таго, прасілі яго ці не, і на гэтай машыне ён спрацоўвае праз 135.3 секунды. Другая палова горшая за вечнасць: як толькі злучэнне паднялося, не лічыць увогуле ніхто.

5 хв чытання

сеткі linux

14 лістапада 2012 г.

199 запытаў пры ліміце 100, і ніхто не атакаваў

Лічыльнік у фіксаваным акне прапускае падвойную норму на мяжы, і гэта вядомы загана, якой патрэбны той, хто ведае, дзе мяжа. Токен-бакет, на які я з-за гэтага перайшоў, прапусціў 199 за адно акно на звычайным роўным патоку. Адзіны, хто ўтрымаў ліміт ва ўсіх 4 формах трафіку, гэта журнал адзнак, і ён каштуе ў 50 разоў больш памяці.

6 хв чытання

алгарытмы надзейнасць

10 кастрычніка 2012 г.

Другая старонка паўтарыла радок з першай, і нічога пры гэтым не зламалася

Адна ўстаўка ў пачатак парадку прывяла да таго, што другая старонка пачалася з апошняга радка першай. Абодва запыты слушныя. Яшчэ гартанне праз OFFSET на глыбіні чытае 900020 радкоў, каб вярнуць 20, і траціць 69.5 мілісекунды супраць 1.5 у той жа старонкі па ключы. План запыту кажа пра гэта простым тэкстам.

5 хв чытання

базы даных хуткадзейнасць

15 жніўня 2012 г.

Load average 8 двойчы, і гэта былі розныя рэчы

На серверы з 4 ядрамі я атрымаў load average 8.19 пры працэсары на 99 адсоткаў і load average 8.10 пры працэсары, які працуе 36 адсоткаў часу, і 7 працэсах, якія захраслі на дыску. Адна і тая ж трывога, супрацьлеглае лячэнне. А пасля цэлай хвіліны чатырох забітых ядраў хвілінны лік усё яшчэ паказваў 2.67.

5 хв чытання

linux хуткадзейнасць

16 мая 2012 г.

Усталёўка grunt кладзе мне на дыск код 32 чалавек

Я абышоў граф залежнасцей 6 пакетаў такімі, якімі іх запісаў рэестр на сёння. Grunt прыносіць 51 пакет, напісаны 32 людзьмі. Абяцанне пра дробныя кубікі літаральна слушнае, бо 40 пакетаў з 67 не залежаць увогуле ні ад чаго, але ў 56 з тых жа 67 роўна адзін суправаджальнік, а 3 імені трымаюць 26 пакетаў.

5 хв чытання

залежнасці адкрытыя даныя

21 снежня 2011 г.

344 скачкі гадзінніка за гэты год, два з іх на цэлыя суткі

Я прачытаў усе зоны базы за 2011 год і ўдакладніў кожны скачок да хвіліны. 336 скачкоў з 344 гэта звыклая гадзіна. Астатнія 8 гэта 30 хвілін, 2 гадзіны, 3 гадзіны і двойчы па 1440 хвілін: 30 снежня, праз 9 дзён, дзве зоны губляюць цэлыя суткі. А 26 зон скончаць год на гадзіну далей ад таго месца, з якога пачалі.

6 хв чытання

час git

7 снежня 2011 г.

Коміт, сабраны рукамі: 187 байтаў

Пяць выклікаў пламбінга даюць коміт, і git log яго чытае. Адзінаццаць рэвізій файла на 1703 радкі каштуюць 187576 байтаў свабоднымі аб’ектамі супраць 16490 у пакеце. Базай дэльты выяўляецца самая новая версія файла.

11 хв чытання

git тэкст і кадоўкі

30 лістапада 2011 г.

Option замест null: 16 байтаў, якіх я не знайшоў

Тры розныя абрывы аднаго ланцужка даюць адзін і той жа NullPointerException з пустым паведамленнем. Option ператварае ўсе тры ў None. А потым лічыльнік алакацый кажа, што Some не каштуе нічога. Знайсці сам Some атрымліваецца толькі праз -XX:-DoEscapeAnalysis.

11 хв чытання

тыпы якасць кода