Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.08.2009, 19:33
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 1  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию Скорость сравнения

Чисто академический интерес, может кто знает...
Вот только что у О`Релли прочитал, что оператор сравнения if работает быстрее чем swich. А вот в отношении тернарного =?: ничего не нахожу.
Заранее спасибо если кто ответит.

ЗЫ. понятно, что if гораздо гибче, но я имею в виду исключительно однотипные задачи.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 30.08.2009, 19:50
Smrad вне форума Посмотреть профиль Отправить личное сообщение для Smrad Найти все сообщения от Smrad
  № 2  
Ответить с цитированием
Smrad

Регистрация: Nov 2008
Сообщений: 205
Отправить сообщение для Smrad с помощью ICQ
Зачем размышлять, если написать тест можно за две минуты и все увидеть?

Старый 31.08.2009, 00:20
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 3  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Знакомый делал тест такой буквально вот-вот. Наверно, вы его сподвигли. Одинаково.

Если речь о <=, ==, >= как я понял.

Старый 31.08.2009, 13:12
Герыч вне форума Посмотреть профиль Отправить личное сообщение для Герыч Найти все сообщения от Герыч
  № 4  
Ответить с цитированием
Герыч
 
Аватар для Герыч

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
мой шаблон для тестов:
Код AS3:
var t1:int;
var t2:int;
var count:int=10000;
var i:int;
 
t1=getTimer();
for(i=0;i<count;i++)
{
	//вставляем действие 1
}
t1=getTimer()-t1;
t2=getTimer();
for(i=0;i<count;i++)
{
	//вставляем действие 2
}
t2=getTimer()-t2;
 
trace(t1,t2);
Вставляй тестируемые операции вовнутрь и проверяй!

Старый 01.09.2009, 00:54
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Герыч, самое интересное что при значительном количестве итераций всегда получаются разные значения, при этом при текущем положении вещей (см. код) незначительное преимущество у одного метода, а если в 5 раз меньше поставить - наоборот. Но главный вывод - что при незначительном количестве итераций (в данной ситуации думаю таковым можно считать 10000) разницы никакой нет.
Код AS3:
package {
	import flash.display.Sprite;
	import flash.utils.getTimer;
	public class Main extends Sprite {
		public function Main():void {
			var t1:int;
			var t2:int;
			var a:uint=0;
			var count:int=50000000;
			var i:int;
			t1=getTimer();
			for (i=0; i<count; i++) {
				if (2>3) {
					a=5;
				} else {
					a=1;
				}
			}
			t1=getTimer()-t1;
			t2=getTimer();
			for (i=0; i<count; i++) {
				a=(2>3)?5:1;
			}
			t2=getTimer()-t2;
 
			trace(t1,t2);
		}
	}
}
Если кому есть что добавить или поправить...
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 01.09.2009, 01:06
Герыч вне форума Посмотреть профиль Отправить личное сообщение для Герыч Найти все сообщения от Герыч
  № 6  
Ответить с цитированием
Герыч
 
Аватар для Герыч

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
нет, нечего, только конкретней, какой метод выигрывает при больших значениях? А то я лентяй и не хочу тест проводить)

Старый 01.09.2009, 07:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Не занимайтесь ерундой, разницу вы ощутите только при десятках миллионов итераций, т. е. фактически никогда.

Старый 01.09.2009, 14:04
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 8  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
etc, отзанимался, больше не буду
Герыч, абсолютно согласен с etc. Выше писал, что до 10000 и даже больше в результате выходят одинаковые значения, а если увеличивать количество итераций, то скорее флеш зависнет по времени выполнения скрипта.

ИМХО тему можно считать исчерпанной.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.