This sounds interesting. I'll try it out and see what I find.

Thanks,
Avital.

On Tue, May 11, 2010 at 3:36 PM, Vyacheslav Egorov <[email protected]>wrote:

> Hi,
>
> It is hard to say anything about this without knowing a bit more about "do
> some work".
>
> For example if "do some work" contains tight loops then adding and
> removing things from the function might affect alignment of loop headers and
> result in some performance boost.
>
> Debug version of v8 also supports --print-code flag which might be very
> instrumental in performance audit.
>
> Regards,
> Vyacheslav Egorov.
>
>
> On Tue, May 11, 2010 at 11:23 PM, Avital Oliver <[email protected]> wrote:
>
>> Good afternoon friends,
>>
>> In the process of trying to optimize our Javascript code running on
>> Chrome/v8cgi we have stumbled upon what seems like counter-intuitive
>> results. Basically, in certain cases we see that adding code to a function
>> makes it faster (specifically, we are adding a call to a function that does
>> very little work and then returns). Also, we see significant jumps in the
>> time it takes to run a function even when we make very minor changes to it.
>>
>> To illustrate, here is a schematic representation of our functions and
>> timings:
>>
>> function f1(x) { // this takes 80 microseconds
>>   // do some work
>> }
>>
>> function f2(x) { // this takes 60 microseconds
>>   assert(x !== 0);
>>   // do some work (same work)
>> }
>>
>> function f3(x) { // this takes 80 microseconds
>>    if (x === 0)
>>     ufu();
>>
>>   // do some work (same as before)
>> }
>>
>> We're pretty confused. Could this be because of some optimizations done in
>> V8 based on the length of functions or any other similar thing? Is there
>> anything we can do to help us understand this?
>>
>> Thanks in advance,
>> Avital.
>> asana.com
>>
>>  --
>> v8-users mailing list
>> [email protected]
>> http://groups.google.com/group/v8-users
>>
>
>  --
> v8-users mailing list
> [email protected]
> http://groups.google.com/group/v8-users
>

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to