SPARQL benchmark

Virtuoso Open Source (VOS) vs QLever (without NUMA)

I

Who wins where🔗

For each workload family, the geometric-mean time of both engines on the same queries, with the faster one named. Speed-up shows how many times as long the slower engine needs; Times shows the times themselves. Group by workload family or by result type, and pick any row to isolate that group everywhere.

II

How fast is a typical query?🔗

Each curve shows what share of queries has finished by a given time. A curve that sits left and high is quicker across the board; one that stops short of the top never finished some queries.

III

Every query, one tile🔗

Each tile is a query, coloured by its fastest engine. Saturation is the margin: pale is a photo finish, solid is a 20× blowout. Pick a tile to race it.

IV

Why the numbers look like this🔗

Each explainer carries a tag from the reading guide above: architecture (how the engines are built), method (how the numbers were taken). Result callouts and the race panel link here, and each explainer lists the measured queries it covers.

The full data🔗

Sortable, filtered by everything above.

Reading this objectively🔗

  • Test edition. This page applies the current report template to the original (first) set of VOS 7 and QLever numbers on DBLP data with Sparqloscope queries. Times are in seconds.
  • The test machine:
    • Processors: 2 × Intel Xeon E5-2630, each with 6 cores at 2.30 GHz. In total, 12 cores and 24 threads.
    • Memory: 192 GB, from 3 × Corsair XMS3 DIMM kits of 64 GB each (DDR3-1333).
    • Operating system: CentOS release 6.2 (Final).
    • File system: ext2, on SSDs.
  • VOS configuration (INI settings):
    [Flags]
    enable_mt_txn                   = 1
    enable_mt_transact              = 1
    qp_thread_min_usec              = 100
    enable_exact_p_stat             = 1
    hash_join_enable                = 2
    enable_g_in_sec                 = 1
    tn_max_memory                   = 10000000000
    enable_sparql_count_distinct_dt = 1
    enable_sparql_sample_min        = 1
  • Other run conditions are not stated for this data set, so none are listed here.
  • The explanations in this report were written for the later data set and have not been re-checked against these numbers.