I assume you double-checked in flashplayerversion.com that FF is running a
release player?

It could be that bytearray got optimized over time as it was a key piece
of gaming strategy and Alchemy.

-Alex

On 10/18/13 5:04 PM, "Maurice Amsellem" <maurice.amsel...@systar.com>
wrote:

>FYI, I tried with Chrome (FP 11.9) and Firefox (FP 11.4) and the results
>are quite different:
>
>Chrome FP 11.9:
>1.29
>1.24
>0.405
>
>FireFox FP 11.4:
>2.16
>1.93
>1.07
>
>Is the difference expected ? That is, is FP 11.9 twice as fast as FP
>11.4, or is it just for these computations.
>
>Maurice 
>
>-----Message d'origine-----
>De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>Envoyé : samedi 19 octobre 2013 01:59
>À : dev@flex.apache.org
>Objet : RE: UID performance
>
>I tried already and the results are consistent.
>
>Here is the link:
>
>https://dl.dropboxusercontent.com/u/12169005/ApacheFlex/TestUIDPerf_releas
>e.swf
>
>Maurice 
>
>-----Message d'origine-----
>De : Alex Harui [mailto:aha...@adobe.com] Envoyé : samedi 19 octobre 2013
>01:56 À : dev@flex.apache.org Objet : Re: UID performance
>
>Actually, I thought of one more test that needs to be run which I don't
>have time to do right now: Release player with release SWF.  Sometimes
>you can get very different results on the debugger players.
>
>Thanks,
>-Alex
>
>On 10/18/13 4:53 PM, "Alex Harui" <aha...@adobe.com> wrote:
>
>>Yup, V3 wins on mac and windows for me.
>>
>>Thanks for doing it.
>>
>>-Alex
>>
>>On 10/18/13 4:45 PM, "Maurice Amsellem" <maurice.amsel...@systar.com>
>>wrote:
>>
>>>I have posted FB project with the source s + compiled SWF.
>>>
>>>https://dl.dropboxusercontent.com/u/12169005/ApacheFlex/TestUIDPerf.fx
>>>p
>>>https://dl.dropboxusercontent.com/u/12169005/ApacheFlex/TestUIDPerf.sw
>>>f
>>>
>>>Algorithm 1= Original
>>>Algorithm 2 = using Array.join() and other optimizations by JMcLean
>>>Algo 3:  using single static byteArray (Maurice)
>>>
>>>These are the results I get for 100,000 iterations:
>>>
>>>Original: 2.74s
>>>V2:  2.5s
>>>V3:  1.70s
>>>
>>>Please can you test on your side as well...
>>>
>>>Maurice
>>>
>>>-----Message d'origine-----
>>>De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>>>Envoyé : samedi 19 octobre 2013 00:56
>>>À : dev@flex.apache.org
>>>Objet : RE: UID performance
>>>
>>>I have used a static ByteArray as suggested: much better.
>>>Thanks for the suggestion.
>>>
>>>
>>>-----Message d'origine-----
>>>De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>>>Envoyé : samedi 19 octobre 2013 00:49
>>>À : dev@flex.apache.org
>>>Objet : RE: UID performance
>>>
>>>Sure, I will do that.
>>>
>>>I will  also post the source so that you can recompile at your
>>>convenience.
>>>
>>>Maurice
>>>
>>>
>>>-----Message d'origine-----
>>>De : Alex Harui [mailto:aha...@adobe.com] Envoyé : samedi 19 octobre
>>>2013
>>>00:13 À : dev@flex.apache.org Objet : Re: UID performance
>>>
>>>I'm a bit surprised that ByteArray.writeByte is faster but maybe
>>>Array.join isn't that fast.  I would also like to see a test of a
>>>single static bytearray and resetting it and/or overwriting the old
>>>bytes.
>>>
>>>Maybe if you put a SWF with various algorithms in your people.a.o
>>>folder folks can hit it and make sure we all get the same results and
>>>then we'll know which algorithm to check in.
>>>
>>>Thanks for this idea as well.
>>>
>>>-Alex
>>>
>>>On 10/18/13 3:05 PM, "Maurice Amsellem" <maurice.amsel...@systar.com>
>>>wrote:
>>>
>>>>Any answer ? 
>>>>
>>>>-----Message d'origine-----
>>>>De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>>>>Envoyé : vendredi 18 octobre 2013 14:39 À : dev@flex.apache.org Objet :
>>>>RE: UID performance
>>>>
>>>>Hi,
>>>>
>>>>I shouldn't have mixed the two options, because it's confusing.
>>>>
>>>>Actually, V3 option generates uppercase, exactly as the current UUID,
>>>>and it's 2x faster.
>>>>So let's forget about V4...
>>>>
>>>>Here is the code:
>>>>
>>>>    private static const HEX_CHARS:String = "0123456789ABCDEF";
>>>>    private static const DASH:int = 45;  // "-"
>>>>
>>>>public static function createUID():String
>>>>    {
>>>>        var ba:ByteArray = new ByteArray();
>>>>        var i:int;
>>>>        var j:int;
>>>>
>>>>        for (i = 0; i < 8; i++) {
>>>>            ba.writeByte(HEX_CHARS.charCodeAt(Math.random() * 16));
>>>>       }
>>>>
>>>>        for (i = 0; i < 3; i++)
>>>>        {
>>>>            ba.writeByte(DASH);
>>>>            for (j = 0; j < 4; j++)
>>>>            {
>>>>                ba.writeByte(HEX_CHARS.charCodeAt(Math.random() * 16));
>>>>            }
>>>>        }
>>>>
>>>>        ba.writeByte(DASH);
>>>>
>>>>        var time:Number = new Date().getTime();
>>>>
>>>>        var timeString:String = ("0000000" +
>>>>time.toString(16).toUpperCase()).substr(-8);
>>>>        ba.writeUTFBytes(timeString);
>>>>
>>>>        for (i = 0; i < 4; i++)
>>>>        {
>>>>            ba.writeByte(HEX_CHARS.charCodeAt(Math.random() * 16));
>>>>        }
>>>>
>>>>        return ba.toString();
>>>>    }
>>>>
>>>>-----Message d'origine-----
>>>>De : Justin Mclean [mailto:jus...@classsoftware.com] Envoyé :
>>>>vendredi
>>>>18 octobre 2013 14:34 À : dev@flex.apache.org Objet : Re: UID
>>>>performance
>>>>
>>>>Hi,
>>>>
>>>>> V3: generates the random hex bytes one by one, and writes them to
>>>>> the BA
>>>>> V4: generates 4 or 8 random bytes in one shot, and writes them to
>>>>> the BA  (hexa in lowercase, to avoid call toUppercase() )
>>>>Probably best not too fiddle too much with the UID construction.
>>>>While I can't think of any major issues it would cause there could be
>>>>subtle issues due to seeding of random numbers and the like.
>>>>
>>>>> I don't know if this is acceptable (are we breaking some code if we
>>>>>use lowercase instead of uppercase).
>>>>
>>>>Again can't think of any issues but probably safer if we kept it
>>>>upper case.
>>>>
>>>>Go ahead and post the code it could be interesting/useful to someone.
>>>>
>>>>Thanks,
>>>>Justin
>>>
>>
>

Reply via email to