Description - phoronix/sqlite

This is a simple benchmark of SQLite. At present this test profile just measures the time to perform a pre-defined number of insertions on an indexed database.

According to the features page of sqlite.org, the database is implemented with a single database file. Access to the database is done with file locking. Looking at the performance results, it looks like on my systems the behavior is dominated by disk/filesystem performance and not much of a CPU benchmark.

The program is single-threaded and I tested bound to core 1.

Metrics (Intel) - phoronix/sqlite
sh - pid 24491
	On_CPU   0.001
	On_Core  0.005
	IPC      0.534
	Retire   0.158	(15.8%)
	FrontEnd 0.586	(58.6%)
	Spec     0.079	(7.9%)
	Backend  0.178	(17.8%)
	Elapsed  637.03
	Procs    10
	Maxrss   10K
	Minflt   1538
	Majflt   0
	Inblock  0
	Oublock  361312
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    45311	(99.6%)
	Nivcsw   202
	Utime    0.518302
	Stime    2.724126
	Start    333626.94
	Finish   334263.97

Metrics show a huge percentage of involuntary context switches and an extremely low On_CPU, both signs that we’re waiting on I/O as this test is more for disk latency and processor.

Metrics (AMD) - phoronix/sqlite
sh - pid 6019
	On_CPU   0.000
	On_Core  0.007
	IPC      0.366
	FrontCyc 0.118	(11.8%)
	BackCyc  0.044	(4.4%)
	Elapsed  758.23
	Procs    10
	Maxrss   10K
	Minflt   1576
	Majflt   0
	Inblock  0
	Oublock  361312
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    47646	(97.7%)
	Nivcsw   1145
	Utime    0.929035
	Stime    4.478492
	Start    340232.31
	Finish   340990.54

AMD metrics are similar.