79db076f202ee42f95ebf609c78f60dcaf009a39
For sstable reads, bigger buffers are not always better, because it can be the case that we want to read just a piece of data. However, as it so happens, we have already two variants for read: when we want to read a single key, we will use read_row(), which will try to bring all data in: so it will use smaller buffer. For read_rows(), that will naturally span multiple buffers, we have end and start points: with that, we can have a good estimation of the expected buffer size, and we can have it go up until we reaches the 128k limit we have for writes. Before: 209578.62 +- 135.73 partitions / sec (30 runs, 1 concurrent ops) After: 291703.98 +- 218.95 partitions / sec (30 runs, 1 concurrent ops) Gain: 39.19 % Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
#Urchin
##Building Urchin
In addition to required packages by Seastar, the following packages are required by Urchin.
Submodules
Urchin uses submodules, so make sure you pull the submodules first by doing:
git submodule init
git submodule update --recursive
Building urchin on Fedora
Installing required packages:
sudo yum install yaml-cpp-devel lz4-devel zlib-devel snappy-devel jsoncpp-devel thrift-devel antlr3-tool antlr3-C++-devel libasan libubsan
Building urchin on Ubuntu 14.04
Installing required packages:
sudo apt-get install libyaml-cpp-dev liblz4-dev zlib1g-dev libsnappy-dev libjsoncpp-dev
Description
Languages
C++
73.5%
Python
25.3%
CMake
0.3%
GAP
0.3%
Shell
0.3%