Q & A – Benchmark Export Format

This document provides some frequently asked questions about Sandra. Please read the Help File as well!

Sandra XI added the ability to export benchmark results and not only share them with others but also import them into other programs. Various file formats (CSV, TAB, XML) are supported to enable easy import into spreadsheets, databases or other program types.

This document details the format of data in the exported file so that you can pick the data you need, convert it, graph it, etc.

Exporting Benchmark Results

How do you actually export the benchmark results and get the data?

  • Run Sandra, select Benchmarks (either using the tab or the icon) then open the benchmark module you want (e.g. Processor Arithmetic benchmark)
  • Click the Refresh button or use the F5 keyboard shortcut to run the benchmark. The Save Benchmark Results button is disabled as there is nothing to save/export yet.
  • If the benchmark has completed successfully, the results will be displayed and the Save Benchmark Results button as well as other buttons become enabled.
  • Click the Save Benchmark Results button and select Export Benchmark Results… from the pop-up menu.
  • Choose the format you want the results to be saved in.
  • Choose the file name and folder for the exported file.
  • Click OK button (aka the “tick”) and that’s it!

Now you have file which you can import into the program you want or even in Sandra itself (share with others, transfer to another Sandra copy, etc.).

Importing Benchmark Results

Importing benchmark results is similar to the above process, except you select Import Benchmark Results… and select a file you created earlier.

File Encoding

The encoding is UNICODE (UTF-16), not ANSI or anything else. This ensures you get correct data and strings whoever sends you a file. Since they are very small, the overhead is negligible.

Comma Delimited Values (CSV) and Tab Delimited (TAB) Formats

These formats are the simplest and should be importable in just about every program; the only difference between the two is the token delimiter, which is “,” for CSV and the “tab character” for TAB. Each row ends with the CR+LF (end of line/next line) marker.

The format has 5 columns and a variable number of rows, depending on the module (benchmark) in question. Thus you need to know a bit about the module whose data you have exported not only to know the meaning but also to know the length.

The columns mean:

  1. Current device
  2. Reference device 1 as selected in combo-box 1
  3. Reference device 2 as selected in combo-box 2
  4. Reference device 3 as selected in combo-box 3
  5. Reference device 4 as selected in combo-box 4

Why is the data for reference devices also exported? This is to allow reviewers to generate comparisons from more than just the current device tested data.

The rows mean:

  1. Sandra version (integer number)
  2. Sandra module ID (integer number)
  3. Architecture / Operating System ID (integer number)
  4. Sandra table ID (integer number)
  5. Name of device (string)
  6. User result (1) or Reference result (0) (boolean)
  7. Benchmark values (integers, how many is module dependent)
  8. Extra device data (integers, how many is module dependent)

Sandra version: This is a DWORD [major version | minor version | release year | release month] as displayed in Help-About. Use to check the file is from the version you know thus in the format you know – just in case.

Sandra module ID: This is a DWORD of internal module ID. Use to check the data is from the benchmark you want and not another.

Architecture / Operating System ID: This is an integer of internal Arch/OS ID. Use to check the benchmark was run on the architecture and OS you want and not another.

Sandra table ID: This is an integer of Sandra reference table ID. Not useful to you.

Name of device: Name of the device that was tested as a string, max 255 characters.

User or Reference result: 1 for user generated result or 0 for reference result.

Benchmark values: This is the actual data you want. The difficulty here is that the data meaning and size is module dependent – as it has to be considering all the above data is just boilerplate. It is easy to figure out as long as you keep in mind that what Sandra displays is what is saved. For example:

  • Processor Arithmetic Benchmark
    1. MIPS value
    2. ALU benchmark type (0-ALU, 1-iSSE2)
    3. MFLOPS value
    4. FPU benchmark type (0-FPU, 1-iSSE2, 2-iSSE3)

     

  • Processor Multi-Media Benchmark
    1. ALU it/s value
    2. ALU benchmark type (0-ALU, 1-MMX, 2-aEMMX/aSSE, 3-iSSE2, 4-iSSE, 5-iSSE2 64-bit, 6-iWMMX, 7-iSSSE3)
    3. FPU it/s value
    4. FPU benchmark type (0-FPU, 2-iSSE, 4-iSSE2, 5-aSSE, 6-iSSE2 64-bit)

Extra device data: Various data, both module and device dependent. Not useful to you.

It may be clearer if we structure the information above in a table with some example data:

Devices
Current device Reference device 1 as selected in combo-box 1 Reference device 2 as selected in combo-box 2 Reference device 3 as selected in combo-box 3 Reference device 4 as selected in combo-box 4
Sandra version 720920 720920 720920 720920 720920
Sandra module ID 5152 5152 5152 5152 5152
Architecture / Operating System ID 1 1 1 1 1
Sandra table ID 7 7 7 7 7
Name of device CPU Name Intel Core 2 Quad Q6400 2.13GHz 2x4ML2 (x86) Intel Core 2 XE X6800 2.93GHz 4ML2 (x86) AMD Athlon 64 5000 (x86) AMD Athlon 64 3200 (x86)
User / Reference 1 0 0 0 0
Combined value 1 388 38546 26501 25000 24000
Benchmark value 2 388 38546 26501 25000 24000
Benchmark value 3 0 0 0 0 0
Benchmark value 4 578 26823 18441 14000 12000
Benchmark value 5 1 2 2 1 1
Extra data 1 (Speed) 1862 2133 2933 5000 3200
Extra data 2 (Power) 350 450 550 650 550
Extra data 3 (Threads) 2 4 2 1 1

XML Format

Naturally, this format contains all the data shown above, thus for any data interpretation please refer to the paragraphs above.

Good luck!

Comments are closed.