Skip to content

cffs/app-sqlite-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQLite Performance Experiment

This repository is used for a performance experiment of SQLite running on Unikraft.

This experiment compares four different configuration, each on its own branch of this repository:

  • Branch newlib-native uses the native port of SQLite to Unikraft, with the newlib libc and pthread-embedded.
  • Branch musl-native uses the native port of SQLite to Unikraft, with musl libc.
  • Branch musl-compat uses a static library of SQLite built with musl-gcc on a standard GNU\Linux box (we recommend Debian), which is then linked with Unikraft, also using musl.
  • Branch linux-native does not use Unikraft at all. It just runs the same benchmark running SQLite built with musl-gcc, as a standard Linux process (no virtualisation).

All Unikraft experiments use the TLSF memory allocator, while the Linux one uses the default Linux allocator.

To use this application, you will need Unikraft and the relevant libraries. A script https://github.com/unikraft/eurosys21-artifacts can do all the setup for you, including cloning the different branches of this repository.

To reproduce this experiment by hand, you will also need original SQLite include files in an include folder, and do a make menuconfig before building with make.

For the Linux test, if /tmp is on tmpfs, i.e. a RAM disk, it will be used. Otherwise the experiment will create a RAM disk. It is important to use a RAM disk to be fair as the Unikraft experiments are using the RAM disk approach, and the benchmark is I/O intensive. Note that on some Linux boxes, using /tmp on tmpfs is actually faster than using a dedicated RAM disk mounted using tmpfs as well (sync operations return immediately with /tmp while provoking context switches with other RAM disks).

About

Performance experiment with SQLite on Unikraft

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published