708.sqlite_r
SPEC CPU®2026 Benchmark Description

Benchmark Name

708.sqlite_r

Benchmark Program General Category

SQL language compiler/interpreter and database engine

Benchmark Authors

708.sqlite_r was submitted to the SPEC CPU v8 Benchmark Search Program by Richard Hipp drh [at] sqlite [dot] org.

Benchmark Description

SQLite is a widely used SQL database engine. For instance, it is built into and used heavily by most of your iOS and android devices as well as in widely used Web browsers. Here are more examples of SQLite usage.

Since CPU benchmarks should not be I/O bound, the benchmark uses in-memory databases.

The benchmark is divided in three workloads.

The MAIN workload exercises typical usage of a relational database, creating several relations composed of three attributes of types : integer, integer and text respectively. Values are inserting, indexes are created, operations like selection, projection and join are performed.

In addition to this MAIN workload, and in order to exercise the byte-code interpreter that underpins SQLite, two additional workloads are present: CTE and FP.

The CTE workload performs sudoku puzzles and computes mandelbrot sets. While we are aware that nobody uses SQLite to perform sudoku and mandelbrot, it exercises the SQLite interpreter while performing no I/O. We also expect conditional branching and scattered memory accesses. In this benchmark, the number of iterations for Mandelbrot is set to 38. The Mandelbrot set uses an SQL Recursive Common Table Expression, similar to the examples provided here: https://www.sqlite.org/lang_with.html#mandelbrot

The FP workload creates a relation containing floating-point attributes, inserting values and performing range selections.

Input Description

The input consists in the list of tests: It is possible to increase the runtime by increasing the resolution of the Mandelbrot computation, or by solving multiple and/or more difficult Sudoku problems. The benchmark uses two different options:

Output Description

The output prints the SQL queries and as well as a verification hash. The hash is computed by the benchmark itself including the size in bytes of the result as well as a hash value: it tests the length but also the content and varies with the size input parameter.

Programming Language

C language

Threading Model

The SPECrate version is single-threaded.

Known Portability Issues

None

Sources and Licensing

SQLite original sources

Program is public domain: https://www.sqlite.org/copyright.html (archived text version).

References

Copyright © 2026 Standard Performance Evaluation Corporation (SPEC®)