Status: New
Owner: ----

New issue 3346 by [email protected]: performance drop introduced by Function::NewInstance() and Object::SetPrototype()
http://code.google.com/p/v8/issues/detail?id=3346

We are upgrading from v3.22.24.19 to v3.25.30, and found there is significant performance drop introduced by two functions, Function::NewInstance() and Object::SetPrototype().

To demonstrate the performance change, two sample programs are attached here. Check the attachment 'v8-issue-demo.tgz'. There are two folders inside, 'NewInstance' and 'SetPrototype', used to demonstrate the change caused by these two functions respectively. You may build the two shell-v8-<ver>.cc files (same programs but modified for v8 api changes) in each of these two folders and execute it with the following command (the script file 'createPoint.js' may be found in the attachment too.):

    time ./shell createPoint.js


Here're the performance output that we generated using the attached program.

*NewInstance*

        v3.22.24.19     v8-3.25.30
==============================================
  real  0m0.335s        0m0.397s        (-18%)
  user  0m0.330s        0m0.380s        (-15%)
  sys   0m0.010s        0m0.020s


*SetPrototype*

        v3.22.24.19     v8-3.25.30
==============================================
  real  0m0.371s        0m0.446s        (-20%)
  user  0m0.360s        0m0.450s        (-25%)
  sys   0m0.010s        0m0.000s


You could see there is a performance degradation between the two versions of V8. Is this change to be expected? Is there any alternatives or some other way to call these two functions more efficiently? Any suggestion is appreciated.


ps: the sample program may be a little silly and doesn't makes much sense. But it is just used to show the performance change.

Attachments:
        v8-issue-demo.tgz  5.0 KB

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to