Skip to content

Instantly share code, notes, and snippets.

@wjordan
wjordan / key-value-performance-test.md
Last active May 3, 2017 17:29 — forked from stephan-nordnes-eriksen/key-value-performance-test.md
Performance testing different Key-Value stores in Ruby

Introduction

(from original author) For a project I am on I need to use a key-value store to converts file-paths to fixnum IDs. The dataset will typically be in the range of 100 000 to 1 000 000. These tests use 305 000 file paths to fixnum IDs.

The Different Key-Value stores tested are:

Daybreak: "Daybreak is a simple and very fast key value store for ruby" GDBM: GNU dbm. "a simple database engine for storing key-value pairs on disk." DBM: "The DBM class provides a wrapper to a Unix-style dbm or Database Manager library" PStore: "PStore implements a file based persistence mechanism based on a Hash. "

#!/usr/bin/env ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
# Rails master
gem 'rails', '5.0.0'
gem 'sqlite3'
gem 'ransack'
FROM ubuntu:14.04
USER root
# set timezone to UTC by default
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
# use unicode
RUN locale-gen C.UTF-8 || true
ENV LANG=C.UTF-8