A few months ago, we invited readers to send in their thoughts and ideas about web
technologies and workload scenarios that may be a good fit for the next WebXPRT. We’d like to share a few of those ideas today, and we invite
you to continue to send your feedback. We’re approaching the time when we need to begin firming up
plans for a WebXPRT 4 development cycle in 2021, but there’s still plenty of
time for you to help shape the future of the benchmark.
One of the most
promising ideas for WebXPRT 4 is the potential addition of one or more WebAssembly (WASM) workloads.
WASM is a low-level, binary instruction format that works across all modern browsers.
It offers web developers a great deal of flexibility and provides the speed and
efficiency necessary for running complex client applications in the browser. WASM
enables a variety of workload scenario options, including gaming, video editing, VR, virtual
machines, image recognition, and interactive educational content.
In addition, the
Chrome team is dropping Portable Native Client (PNaCL) support in favor of
WASM, which is why we had to remove a PNaCL workload when updating CrXPRT 2015 to CrXPRT 2. We
generally model CrXPRT workloads on existing WebXPRT workloads, so
familiarizing ourselves with WASM could ultimately benefit more than one XPRT
We are also
considering adding a web-based machine learning workload with TensorFlow for
tasks including image classification, object detection, sentence encoding,
natural language processing, and more. We could also use this technology to
enhance one of WebXPRT’s existing AI-themed workloads, such as Organize Album
using AI or Encrypt Notes and OCR Scan.
Other ideas include using
a WebGL-based workload to target GPUs and investigating ways to incorporate a
battery life test. What do you think? Let us know!
PCMag published a great review of the Opera browser this week. In addition to looking at the many features Opera offers, the review included performance data from multiple benchmarks, which look at areas such as hardware graphics acceleration, WebGL performance, memory consumption, and battery life.
For example, consider the test descriptions for JetStream 1.1. You’ll immediately notice that the tests are much lower-level tests than the ones in WebXPRT. However, consider these phrases from a few of the test descriptions:
- code-first-load “…This test attempts to defeat the browser’s caching capabilities…”
- splay-latency “Tests the worst-case performance…”
- zlib “…modified to restrict code caching opportunities…”
While the XPRTs test typical performance for higher level applications, the tests in JetStream are tweaked to stress devices in very specific ways, some of which are not typical. The information these tests provide can be very useful for engineers and developers, but may not be as meaningful to the typical user.
I have to stress that both approaches are valid, but they are doing somewhat different things. There’s a cliché about comparing apples to apples, but not all apples are the same. If you’re making a pie, a Granny Smith would be a good choice, but for snacking, you might be better off with a Red Delicious. Knowing a benchmark’s purpose will help you find the results that are most meaningful to you.
The beta build of WebXPRT 2015 is complete. Although the benchmark is still under development, it looks great!
As we described in the design document, it includes a number of improvements over WebXPRT 2013. There are more, and more demanding, tests. The UI has a cleaner, more modern look, and includes a couple of improvements people have been asking for. There is now descriptive text so that you know what’s happening during the test. Also, a progress indicator in the upper right corner shows you how close the test is to completion. Although the screens aren’t final, here’s a preview of one of the new DNA Sequence Analysis test screens:
One of the great virtues of WebXPRT is that it runs on almost anything. However, that level of compatibility has limited the range of devices WebXPRT can test. WebXPRT 2015 introduces a set of experimental tests. Running these tests is optional and their results are not included in the Overall Score. We hope that folks will use them to evaluate both new technologies and platform-specific technologies. The first Community Preview will include a WebGL-based 3D experimental test. We expect to add new experimental tests over time and we’re hoping community members will contribute tests or ideas for them.
I’m very excited to see the new WebXPRT. We’re testing now, and I hope to be able to let you know when the Community Preview will be available soon.