Xiper

Временные затраты на выполнение операций

Автор: Петрунин Николай Дата публикации:

Создание обьекта (проверено на 1 000 000 операций)

A={} A= new Object()
Opera 11.62 634 932
FF 11 320 1342
IE 9 892 1425
Chrome18 83 449

Создание массива (проверено на 1 000 000 операций)

A=[] A= new Array()
Opera 11.62 932 1467
FF 11 513 565
IE 9 1668 2436
Chrome18 127 258

Switch or If (проверено на 1 000 000 операций)

switch if
Opera 11.62 86 44
FF 11 130 29
IE 9 781 845
Chrome18 46 45

i++, i=i+1, i+=1(проверено на 10 000 000 операций)

i++ i=i+1 i+=1
Opera 11.62 326 345 347
FF 11 183 173 177
IE 9 6425 5650 5406
Chrome18 137 138 138

i--, i=i-1, i-=1(проверено на 10 000 000 операций)

i-- i=i-1 i-=1
Opera 11.62 348 347 346
FF 11 177 174 177
IE 9 5233 5725 5449
Chrome18 138 139 140

i/2, i*0.5, (проверено на 10 000 000 операций)

i/2 i*0.5
Opera 11.62 1343 348
FF 11 1840 887
IE 9 7377 7215
Chrome18 1318 151

Pow(23,3),23^3, (проверено на 10 000 000 операций)

Pow(23,3) 23^3
Opera 11.62 3022 377
FF 11 10000 817
IE 9 19217 7146
Chrome18 2026 222

Pow(23,2),23^2, (проверено на 10 000 000 операций)

Pow(23,2) 23^2
Opera 11.62 1162 326
FF 11 10000 760
IE 9 19041 6153
Chrome18 191 167

forEach, for (проверено на 1 000 000 операций)

forEach for
Opera 11.62 4893 248
FF 11 845 11.9
IE 9 2288 2454
Chrome18 1118 98

j=j-0, j=parseInt(j) (проверено на 1 000 000 операций)

j=j-0 j=parseInt(j)
Opera 11.62 307 104
FF 11 357 442
IE 9 1202 1725
Chrome18 444 232

Операция производится в цикле без вызова функции, Вызов функции из этого же файла, вызов функции из внешнего фала (проверено на 1 000 000 операций)

Операция производится в цикле без вызова функции Вызов функции из этого же файла Вызов функции из внешнего фала Вызов функции из обьекта этого же файла
Opera 11.62 317 1365 1399 1857
FF 11 166 234 537 647
IE 9 6005 7609 8719 10190
Chrome18 197 913 890 385

Округление

Результаты - к-во операций в секунду (платформа - Windwos 7, CPU - Intel Core i5). Актуально только для положительных чисел.

FF 16 Chrome 21 Opera 12 Safari 5 IE 9
Math.round(somenum) 17,817,182 27,549,410 35,287,451 25,461,229 14,274,838
~~ (0.5 + somenum) 395,439,013 189,794,396 71,739,813 29,500,517 17,673,561
~~ (somenum + (somenum > 0 ? .5 : -.5)) 84,892,338 109,771,092 72,260,273 24,405,533 11,019,110
(0.5 + somenum) | 0 501,783,641 138,620,357 67,865,371 31,123,606 18,503,289
(0.5 + somenum) << 0 505,879,709 139,063,612 67,733,977 29,839,918 18,392,823