![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Modus ponens
|
Math.random и Math.pow если в цикле, то лучше вызывать по ссылке:
Не значительно, но все таки есть разница.
__________________
Hell is the possibility of sanity |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
За совет - спасибо! Буду знать) 2 VovkaMorkovka1: as3-lisp: http://www.solve-et-coagula.com/?p=9 нечто кложуроподное: http://wiki.github.com/aemoncannon/las3r/ Но мне кажется это - just for lulz) PS:2VovkaMorkovka1 - сорри -не увидел твою ссылку..
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 11.05.2010 в 10:16. |
|
|||||
|
Это откуда такое? За счет локальных переменных?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
var time:int = getTimer(); var s:int = 0; for (var i:int = 0; i < 100000; i++) { s += Math.random(); } tf.text = (getTimer() - time).toString();//52 var rnd:Function = Math.random; var time:int = getTimer(); var s:int = 0; for (var i:int = 0; i < 100000; i++) { s += rnd(); } tf.text = (getTimer() - time).toString();//149 либо медленность вызова функции по ссылке губит весь прирост от пропускания операции "." Пробуем на haXe: var time = Lib.getTimer(); var s = 0.; for (i in 0 ... 100000) { s += Math.random(); } tf.text = Std.string(Lib.getTimer() - time);//47 var rnd = Math.random; var time = Lib.getTimer(); var s = 0.; for (i in 0 ... 100000) { s += rnd(); } tf.text = Std.string(Lib.getTimer() - time);//107 Извиняюсь, лажанулся - тормоза были из-за преобразований Number-Int: Ток вот что haXe тормозит - не понятно =( Последний раз редактировалось expl; 11.05.2010 в 21:47. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
|
Modus ponens
|
debugline 27 |debugline 33
getlocal2 |getlocal2
getlocal1 |findpropstrict :Math
getglobalscope |getproperty :Math
call (0) |callproperty :random (0)
add |add
convert_d |convert_d
setlocal2 |setlocal2
debugline 25 |debugline 31
getlocal4 |getlocal4
increment_i |increment_i
convert_i |convert_i
setlocal4 |setlocal4
for (var i:int = 0; i < 10000; i++)
{
s += r(); // line 27
}
for (i = 0; i < 10000; i++)
{
s += Math.random(); // line 33
}
EDIT: Хотя, есть предположение, что findpropstrict будет работать с разной скоростью в зависимости от того, сколько у нас обозначено maxscope для функции, хотя, кто знает, вполне возможно, что это правило на getlocal тоже распространяется... EDIT2: Жаль, что нету calllocal ![]()
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 11.05.2010 в 23:07. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|