- The Log-Structured Merge-Tree (LSM-Tree)
- B-Tree vs Log-Structured Merge-Tree
- Modern B-tree techniques
- LSM-based Storage Techniques: A Survey
- B-tree Indexes and CPU Caches by Goetz Graefe and Per-Åke Larson
/// Test for RWF_NOWAIT, does it always non-block? | |
/// The answer is, it may sometimes, for example when there is some issues with the underlying disk. | |
/// Or maybe when it accessing page entries, that are blocked for a long time, need to take a look deeper. | |
#define _GNU_SOURCE /// for preadv2() | |
#include <sys/uio.h> | |
#include <sys/stat.h> | |
#include <fcntl.h> | |
#include <time.h> | |
#include <stdio.h> |
https://stackoverflow.com/questions/64369622/using-sample-in-clickhouse-seems-to-read-all-rows-and-more-bytes-is-this-expect | |
CREATE TABLE table_one | |
( timestamp UInt64, | |
transaction_id UInt64, | |
banner_id UInt16, | |
value UInt32 | |
) | |
ENGINE = MergeTree() | |
PARTITION BY toYYYYMMDD(toDateTime(timestamp)) |
For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.
After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](https://www.amazon.de/Large-Scale-Soft
https://github.com/MattPD/cpplinks / C++ Standard / C++20 / Coroutines
(draft; work in progress)
#coroutines (C++ Slack): https://cpplang.slack.com/archives/C5JS5JXT5
For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.
After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](https://www.amazon.de/Large-Scale-Soft
LLDB comes with a great set of commands for powerful debugging.
Your starting point for anything. Type help
to get a list of all commands, plus any user installed ones. Type 'help
for more information on a command. Type help
to get help for a specific option in a command too.
# save history of commands you type | |
set history save on | |
# set intel assembly style | |
set disassembly-flavor intel | |
define openwindows | |
# change layout to show interesting info | |
layout asm | |
layout regs |
import java.util.ArrayList; | |
import java.util.Iterator; | |
import java.util.List; | |
import java.util.concurrent.Callable; | |
import java.util.concurrent.ExecutorService; | |
import java.util.concurrent.Future; | |
import java.util.concurrent.LinkedBlockingQueue; | |
import java.util.concurrent.ThreadPoolExecutor; | |
import java.util.concurrent.TimeUnit; |
# | |
# STL GDB evaluators/views/utilities - 1.03 | |
# | |
# The new GDB commands: | |
# are entirely non instrumental | |
# do not depend on any "inline"(s) - e.g. size(), [], etc | |
# are extremely tolerant to debugger settings | |
# | |
# This file should be "included" in .gdbinit as following: | |
# source stl-views.gdb or just paste it into your .gdbinit file |