Skip to content
This repository has been archived by the owner on Nov 28, 2020. It is now read-only.

Benchmarks for Async Web Tooling #205

Open
bmeck opened this issue Feb 22, 2018 · 4 comments
Open

Benchmarks for Async Web Tooling #205

bmeck opened this issue Feb 22, 2018 · 4 comments

Comments

@bmeck
Copy link
Member

bmeck commented Feb 22, 2018

This was talked about in the feedback meeting, but https://github.com/v8/web-tooling-benchmark currently is only setup to test a minimal subset of workflows that do not use asynchronous tasks. That is the reason that webpack is not in the benchmark suite there. It would be great if we could setup some generic benchmarking system to use against real applications. I did mention that GoDaddy has an open source build system that has a component that seems to apply.

We could look at modifying Carpenter to add any metrics gathering the group thinks as relevant or any other parts of our system if that seems desirable. I'm not sure if we have specific benchmark open source sites in mind but I can see if we can also open source some more of ours but that would take some significant time.

@mathiasbynens
Copy link

mathiasbynens commented Feb 22, 2018

In the Web Tooling Benchmark, we avoid:

  • Node-specific APIs, to ensure the benchmark can run in the various standalone JS shells
  • disk I/O, as it skews the results (on non-SSD drives, it would otherwise become an I/O benchmark)

We’re open to testing asynchronous tasks, as long as they don’t fall under the above, and provided we find a way around the fact that the microtask queue is not handled consistently across JS shells.

@m-leitch
Copy link

Given IO tends to be where things get "real", can you simply enforce a reference standard (whether IOPS+latency or SSD+NVMe)? This would assume these additional workloads would have value. :-)

@bmeck
Copy link
Member Author

bmeck commented Feb 22, 2018

@mathiasbynens since IO is part of Node's bottlenecks sometimes I think we would want it to some extent, even if skewed / needing to plaec timers on start/end of every turn of the event loop. Otherwise we are just testing JS running speed, not any IO optimizations as well. I'm not sure how complex real world apps would be easily ported to not use Node APIs but that seems a fine goal if it is doable.

@mhdawson
Copy link
Member

mhdawson commented Apr 2, 2018

I agree that having something that covers IO optimization is good as well.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants