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

Benchmarks for Async Web Tooling #205

Description

@bmeck

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.

Activity

  1. mathiasbynens commented on Feb 22, 2018

    @mathiasbynens

    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.

  2. m-leitch commented on Feb 22, 2018

    @m-leitch

    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. :-)

  3. bmeck commented on Feb 22, 2018

    @bmeck
    MemberAuthor

    @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.

  4. mhdawson commented on Apr 2, 2018

    @mhdawson
    Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions