![]() |
|
||||||||||
|
|||||
|
Цитата:
Слушай, ты че плозхо соображеаешь что ли ![]() " если условие взято в скобки и все переменные просчитаны, то компилятор будет условие в скобках принимать за "1 переменную", не просчитывать " т.е. Вариант1. dist=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); По твоему всказываению это равносильно. созданию двух переменных 1.x2-x1 2.y2-y1 Вариант2 dist=Math.sqrt((x2-x1)*(x2-x1)+(x2-x1)*(x2-x1)); А в этом вариете только одной (x2-x1) т.е. по сути экономии в вычитание и созданию как ты говоришь виртуальной скобочной переменной. Но работаю одинаково , так то что ты там сказал это чушь полная. Значение переменных не важно здесь. |
|
|||||
|
Я плохо знать как экшен скрипт создаёт переменные(какого они типа и как он разбирает их тип),но в с++ можно указать её конкретный тип(int,double,char)и сэкономить в некоторых случаях память(int-4 байта,double-8 байт),а также исключить запихивания в переменную типа int значение типа char...
|
|
|||||
|
Цитата:
|
|
|||||
|
мне кажется(перекрестился),что флэш так тормозит оттого что он почти полностью автоматизирован,чтобы народ не парился...
![]() в том же с++ чтобы создать массив содержащий разные типы нужно создать либо структуру либо класс,а флэш он ,наверно, делает это автоматически,даже когда в массиве данные одного типа(массив это к примеру) |
|
|||||
|
2iNils
Ну через геттаймер проверь. s=getTimer(); for(i=1;i<=10000;i++){ x1=random(50000); x2=random(50000); y1=random(50000); y2=random(50000); dist=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); } trace(getTimer()-s); ------------------------------------------- s=getTimer(); for(i=1;i<=80000;i++){ x1=random(50000); x2=random(50000); y1=random(50000); y2=random(50000); dx=x2-x1; dy=y2-y1; dist=Math.sqrt((dx)*(dx)+(dy)*(dy)); } trace(getTimer()-s); |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
1. 13 _push "dx"/*Dic[4]*/, "x2"/*Dic[2]*/ 14 _getVariable 15 _push "x1"/*Dic[0]*/ 16 _getVariable 17 _subtract 18 _setVariable 19 _push "dy"/*Dic[5]*/, "y2"/*Dic[3]*/ 20 _getVariable 21 _push "y1"/*Dic[1]*/ 22 _getVariable 23 _subtract 24 _setVariable 25 _push "dist"/*Dic[6]*/, "dx"/*Dic[4]*/ 26 _getVariable 27 _push "dx"/*Dic[4]*/ 28 _getVariable 29 _multiply 30 _push "dy"/*Dic[5]*/ 31 _getVariable 32 _push "dy"/*Dic[5]*/ 33 _getVariable 2. 13 _push "dist"/*Dic[4]*/, "x2"/*Dic[2]*/ 14 _getVariable 15 _push "x1"/*Dic[0]*/ 16 _getVariable 17 _subtract 18 _push "x2"/*Dic[2]*/ 19 _getVariable 20 _push "x1"/*Dic[0]*/ 21 _getVariable 22 _subtract 23 _multiply 24 _push "y2"/*Dic[3]*/ 25 _getVariable 26 _push "y1"/*Dic[1]*/ 27 _getVariable 28 _subtract 29 _push "y2"/*Dic[3]*/ 30 _getVariable 31 _push "y1"/*Dic[1]*/ 32 _getVariable 33 _subtract как видите хотя операции разные, их количество одинаково |
|
|||||
|
Цитата:
А во флеше ты можешь например булеан создать так он в себе уже будет внутри содержать непонятную сруктуру и непонятно сколько памяти. Но зато все просто. Ты можешь на лету из булеана сделать целый супер объект с громадной вложеннолстью. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
и кстати, не корректно первую функцию 10000 запускать, а вторую 80000 ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|