Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
AS3: uint на много медленнее, чем Number
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  7 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Valentin Simonov  
View profile   Translate to Translated (View Original)
 More options Jan 11 2008, 4:29 am
From: "Valentin Simonov" <valy...@gmail.com>
Date: Fri, 11 Jan 2008 15:29:00 +0600
Subject: AS3: uint на много медленнее, чем Number

Hi.

Наткнулся тут на
http://www.gskinner.com/blog/archives/2006/06/types_in_as3_in.html
И действительно, uint в циклах просто ужасно отстает по производительности.

var n = getTimer()
for (var i:Number = 0; i < 16777215; i++){}
trace("Number", getTimer()-n)

n = getTimer()
for (var j:int = 0; j < 16777215; j++){}
trace("int", getTimer()-n)

n = getTimer()
for (var k:uint = 0; k < 16777215; k++){}
trace("uint", getTimer()-n)

у меня трейсит

Number 85
int 78
uint 239

а я как дурак в своём флексовом проекте везде uint понавставлял
...


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Denis Kolyako  
View profile   Translate to Translated (View Original)
 More options Jan 11 2008, 4:35 am
From: Denis Kolyako <e...@timezero.ru>
Date: Fri, 11 Jan 2008 12:35:40 +0300
Local: Fri, Jan 11 2008 4:35 am
Subject: Re: [ruFlash] AS3: uint на много медленнее, чем Number
Здравствуйте, Valentin.

> а я как дурак в своём флексовом проекте везде uint понавставлял

var n = getTimer()
for (var i:Number = 0; i < 16777215; i+=1){}
trace("Number", getTimer()-n)  // 166

n = getTimer()
for (var j:int = 0; j < 16777215; j+=1){}
trace("int", getTimer()-n) // 91

n = getTimer()
for (var k:uint = 0; k < 16777215; k+=1){}
trace("uint", getTimer()-n) // 91

Денис Коляко
______________________________________________________________________
e...@timezero.ru | http://etcs.ru/ | http://www.timezero.ru/


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Racer  
View profile   Translate to Translated (View Original)
 More options Jan 11 2008, 5:09 am
From: Racer <ra...@eteam.ru>
Date: Fri, 11 Jan 2008 02:09:28 -0800 (PST)
Local: Fri, Jan 11 2008 5:09 am
Subject: Re: AS3: uint на много медленнее, чем Number
ВАУ.

++ :
Number 84
int 73
uint 234

+=1
Number 82
int 58
uint 49

НО ПОЗВОЛЬТЕ! Это же ужастно!


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nox Noctis  
View profile   Translate to Translated (View Original)
 More options Jan 11 2008, 5:18 am
From: Nox Noctis <n...@noregret.org>
Date: Fri, 11 Jan 2008 13:18:43 +0300
Local: Fri, Jan 11 2008 5:18 am
Subject: Re: [ruFlash] Re: AS3: uint на много медленнее, чем Number

> ++ :
> Number 84
> int 73
> uint 234

> +=1
> Number 82
> int 58
> uint 49

думаю, все дело в том, какой тип имеет единица.

в случае ++ мы складываем два значения одного типа (происходит
дублирование элемента в стеке).

а в случае с += мы складываем исходный тип с константой типа int.

import flash.utils.getTimer;

var a:uint = 0;
var b:uint = 1;

var s:uint = getTimer();
for (var i:int = 0; i<0xFFFFFF; i+=1) {
        a += b;

}

trace(getTimer()-s); // 215

var c:uint = 0;
var d:int = 1;

s = getTimer();
for (i = 0; i<0xFFFFFF; i+=1) {
        c += d;

}

trace(getTimer()-s); // 70

--
Michael Antipin
______________________________________________________________________
n...@design.ru | http://www.artlebedev.ru | http://www.noregret.org


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Valentin Simonov  
View profile   Translate to Translated (View Original)
 More options Jan 11 2008, 5:34 am
From: "Valentin Simonov" <valy...@gmail.com>
Date: Fri, 11 Jan 2008 16:34:13 +0600
Local: Fri, Jan 11 2008 5:34 am
Subject: Re: [ruFlash] Re: AS3: uint на много медленнее, чем Number

Hi.

Занятно, я не знал.
Век живи, век учись (8


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Racer  
View profile  
 More options Jan 11 2008, 5:39 am
From: Racer <ra...@eteam.ru>
Date: Fri, 11 Jan 2008 02:39:23 -0800 (PST)
Local: Fri, Jan 11 2008 5:39 am
Subject: Re: AS3: uint на много медленнее, чем Number
Чисто из любопытства:

import flash.utils.getTimer;

var one_n:Number=1;
var one_i:int=1;
var one_u:uint=1;

var n = getTimer()
for (var i:Number = 0; i < 16777215; i+=one_n){}
trace("Number", getTimer()-n) //80

n = getTimer()
for (var j:int = 0; j < 16777215; j+=one_i){}
trace("int", getTimer()-n) //57

n = getTimer()
for (var k:uint = 0; k < 16777215; k+=one_u){}
trace("uint", getTimer()-n) //228

В какой бы цикл не подставили one_u получаются астрономические цифры.
Неее... uint только для обозначения констант клавиш, цветов и т.п.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pirrest  
View profile   Translate to Translated (View Original)
 More options Jan 11 2008, 1:53 pm
From: Pirrest <pirr...@gmail.com>
Date: Fri, 11 Jan 2008 20:53:54 +0200
Local: Fri, Jan 11 2008 1:53 pm
Subject: Re: [ruFlash] Re: AS3: uint на много медленнее, чем Number

Еще инетересно то, что в ActionScript 2.0 такой код:
var s:Number = getTimer();
for (var i:Number = 0; i<0xFFFFFF; i++) {}
trace(getTimer()-s);

не доживает до трейса, т.к. выполняется больше 15-ти секунд :)


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google