From 6570f8dfc604e2d703eef3d21c4c1d2073485d94 Mon Sep 17 00:00:00 2001 From: martinsumner Date: Thu, 2 Feb 2017 16:15:59 +0000 Subject: [PATCH] Typo --- docs/WHY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/WHY.md b/docs/WHY.md index e9e8aa9..bdf70c5 100644 --- a/docs/WHY.md +++ b/docs/WHY.md @@ -26,7 +26,7 @@ I tried hard to fully understand memory-mapping before I started, and ultimately Honestly, writing stuff that consistently behaves predictably and safely is hard, achieving this in C or C++ would be beyond my skills. However, further to the [introduction](INTRO.md), CPU is not a constraint I'm interested in as this is a plentiful cheap resource. Neither is low median latency a design consideration. Writing this in another language may result in faster code, but would that be faster in a way that would be material in this context? -How to approach taking a snapshot of a database for queries, how to run background compaction/merge work in parallel to real activity - these are non-trivial challenges. the programming model of Erlang/OTP makes this a lot, lot easier. The end intention is to include this in Riak KV, and hence reducing serialisation steps, human context-switching and managing reductions correctly means that there may be some distinct advantages in using Erlang. +How to approach taking a snapshot of a database for queries, how to run background compaction/merge work in parallel to real activity - these are non-trivial challenges and the programming model of Erlang/OTP makes this a lot, lot easier. The end intention is to include this in Riak KV, and hence reducing serialisation steps, human context-switching and managing reductions correctly means that there may be some distinct advantages in using Erlang. Theory of constraints guides me to consider optimisation only of the bottleneck, and the bottleneck appears to be access to disk. A [futile fortnight](https://github.com/martinsumner/eleveleddb/tree/mas-nifile/src) trying to use a NIF for file read/write performance improvements convinced me that Erlang does this natively with reasonable efficiency.