1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

RFC: More Interactive Graphs For Benchmarks

Phoronix

Published on 08 January 2012 07:10 AM EST
Written by Michael Larabel in Phoronix
3 Comments

Here's some work that's landed to ultimately provide a more interactive experiencing when viewing benchmark results, but your feedback is requested.

First, the technical details: Within the Phoronix Test Suite Git code-base now for the forthcoming 3.8-Bygland release is a new pts_Graph with the internal design being completely re-engineered. Up to this point, pts_Graph (the graphing library written for the Phoronix Test Suite that generates the line graphs, bar graphs, box plots, scatter plots, etc of test results) has used bilde_renderer to handle all of the drawing.

The bilde_renderer is a multi-format drawing API I wrote for the purpose of being able to seamlessly target SVG, PNG, JPEG, Adobe Flash/SWF, and PDF formats with these pts_Graph graphs. The bilde_renderer design has worked well for several years with having a uniform API and then different back-ends for each of the image formats. The need for supporting different formats has come down to using SVG on modern web-browsers since the resulting files are very small and display well, needing to support JPEG for merging graphs into certain PDF files and other document formats, and dumping PNG graphs for un-supported web browsers.

Now with most browsers in 2012, SVG (Scalable Vector Graphics) is working well across all major browsers with even the latest Microsoft Internet Explorer finally playing natively with SVG. There's only a few modern exceptions like a few SVG bugs with Konqueror's KHTML and the latest Opera browser still not handling a few SVG text alignment attributes correctly. So for most cases, SVG graphs from the Phoronix Test Suite are great and delivering the best image quality, file size, and also the greatest flexibility in supporting interactions with the user, etc. However, support for PNG/JPEG graphs is still needed for the problematic web-browsers and for embedding graphs into other document types.

The problem with the status quo of bilde_renderer is that this universal API still needs to be extended each time of adding new features, which these days come down to mostly adding more interactivity and other features. Most of the recent API additions have then only been implemented in the SVG back-end of bilde_renderer, so this just becomes a burden.

However, to allow for more quickly introducing new features to the SVG graphs, pts_Graph has been re-worked. In the new graphing code for Phoronix Test Suite 3.8 and later, pts_Graph internally is now manipulating an SVG DOM directly. This way new SVG features can be added quickly and easily to pts_Graph, such as mouse-over effects, more linking between results, drilling down on more test result details, etc. This means most of the time bilde_renderer is bypassed completely. which will result in slightly faster performance (time to generate graphs) for OpenBenchmarking.org and other cases where dozens or hundreds of dynamic graph requests can happen per second.

For cases where a JPEG/PNG version of the graph is needed, new Phoronix Test Suite code allows using the SVG DOM as an IR that is then fed to a bilde_renderer back-end accordingly and the unsupported portions being ignored. Effectively this makes it a lightweight SVG to PNG/JPEG translator. Compared to other open-source SVG to PNG conversion methods, this custom implementation provides 1:1 accuracy for the important drawing calls that the Phoronix Test Suite cares about for providing a static graph while the size of this translator is less than 10KB of code.

There's also some other pts_Graph changes that are being worked on too for allowing some nifty features coming soon.

To sum it up, the Phoronix Test Suite graphs can now be made much richer and highly interactive in a cleaner and easier manner. The SVG graphs are what most people deal with and then the static JPEG/PNG support remains. With Phoronix Test Suite 4.0 later in the year is my target for having many new end-user features added to the graphs rendered by the Phoronix Test Suite and OpenBenchmarking.org. (Ideally by the 4.0 release my last gripes with the SVG support in the remaining Linux browsers will also be addressed.) But prior to that, I would like to hear some feedback in terms of what visual features you would like added to the result graphs or examples of other graphs you enjoy viewing right now on the web. Please share this feedback within the forums. Thanks, and other feature requests for the Phoronix Test Suite are also welcome.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. FSF's High Priority Project List Now Has A Committee
  2. Details On Using OpenACC & GPUs With GCC
  3. Ubuntu 15.04 Alpha 1 For Its Various Flavors
  4. Git 2.2.1 Released To Fix Critical Security Issue
  5. WTFTW: A Tiling Window Manager Written In Rust
  6. Jolla's Sailfish OS Update 10 Is Now Available
  7. HP To Launch Linux++ Operating System Next Year
  8. Civilization: Beyond Earth Launches For Linux
  9. NIR Has Been Revised As A New IR For Mesa
  10. New 64-bit Linux Kernel Vulnerabilities Disclosed This Week
Latest Forum Discussions
  1. Debian init discussion in Phoenix Wright format
  2. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  3. XLennart: A Game For Systemd Haters With Nothing Better To Do
  4. Bench specific mount point
  5. Tool for measuring FPS in games
  6. Need some hand holding with upgrading xserver
  7. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  8. Microsoft buying Mojang