Regular Expression Engine Regular expression engine can be divided into 2 different categories: DFA (Deterministic finite automaton) and NFA( Non-deterministic finite automaton). The NFA can be divided into Traditional NFA and POSIX NFA. Backtracking is allowed in DFA, while in…
Memcache Internals
Memcached, system of the distributed memory caching, is often used to increase the performance and availability of the hosted application through decreasing database load. It creates a common cache for all the application nodes and represents your application short-term memory.…
I/O Multiplexing in Linux
I will talk about synchronous I/O and asynchronous I/O, blocking I/O and non-blocking I/O of network I/O in this article. We need to understand a few concepts first: User and Kernel Mode In any modern operating system, the CPU is…
Goroutine, Concurrency and Parallelism
Concurrency is not Parallelism. Parallelism is when two or more threads are executing code simultaneously against different processors. If you configure the runtime to use more than one logical processor, the scheduler will distribute goroutines between these logical processors which…