[SERVER-8821] Add javascript performance testing suite Created: 01/Mar/13  Updated: 08/Jan/24  Resolved: 26/Sep/16

Status: Closed
Project: Core Server
Component/s: Performance
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor - P4
Reporter: Shaun Verch Assignee: Backlog - Performance Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive perftesting.zip    
Issue Links:
Related
related to SERVER-21360 JS tests in jstests/perf/ aren't runn... Closed
Assigned Teams:
Product Performance
Participants:

 Description   

Attached are the results of some informal performance testing, and the differences between V8 and Spidermonkey. General Javascript interpreter performance tests like this should be added to the regression test suite.



 Comments   
Comment by Mira Carey [ 26/Sep/16 ]

ian.whalen,

I'm happy to let it go. When we did the V8 -> SM conversion, most of the slow bits ended up in our integration (rather than as direct perf in the engine), so these kind of tests wouldn't really help that. Also, js engines are generally all pretty good nowadays, so I don't think we need to independently test what's already being tested for browsers.

Comment by Ian Whalen (Inactive) [ 26/Sep/16 ]

mira.carey@mongodb.com does this seem like something we need? Closing for now, but please re-open if needed.

Comment by Shaun Verch [ 01/Mar/13 ]

Results of some simple performance testing. Attached test script and results.

3,12c3,11
< SpiderMonkey 1.7
< emptyFunc * 1000000: 1126
< objFunc * 1000000: 3819
< arrayFunc * 1000000: 16811
< numScopeFunc * 1000000: 6344
< objScopeFunc * 1000000: 39694
< recurseFunc(10) * 1000000: 11428
< recurseFunc(100) * 1000000: 90387
< Fri Mar  1 00:40:50.026 InternalError: too much recursion perftesting/perf.js:83
< failed to load: perftesting/perf.js
---
> V8 3.12.19
> emptyFunc * 1000000: 2
> objFunc * 1000000: 52
> arrayFunc * 1000000: 212
> numScopeFunc * 1000000: 9
> objScopeFunc * 1000000: 128
> recurseFunc(10) * 1000000: 49
> recurseFunc(100) * 1000000: 462
> recurseFunc(1000) * 100000: 485

Generated at Thu Feb 08 03:18:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.