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. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  2. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  3. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
  4. CS:GO & TF2 Extensively Tested On The Newest Open-Source Radeon Linux Driver
Latest Linux News
  1. HHVM 3.4 Adds New Features, Support
  2. More Radeon Driver Changes Queued For Linux 3.19
  3. Unigine 2.0 Alpha 2 Adds C# Support
  4. FFmpeg Is Returning To Ubuntu With 15.04 Release
  5. Linux Version Of Civilization: Beyond Earth Still Coming Along
  6. Yahoo To Become Default Search Provider For Firefox
  7. Better Fan Control Support Coming To The Open-Source Radeon Driver
  8. PTS 5.4 Milestone 6 Released - Official "Lipki" Release Is Near
  9. Ian Jackson Resigns From The Debian Technical Committee
  10. Valve's VOGL Is Finally Back To Having New Commits, OS X Support
Latest Forum Discussions
  1. Debian Init System Coupling Vote Results
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  4. Debian Developer Resigns From The Systemd Maintainership Team
  5. How to get rid of Linux
  6. how to configure module phoromatic ?
  7. Major Performance Breakthrough Discovered For Intel's Mesa Driver
  8. Script for Fan Speed Control