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…
Code Review and Audit with Phabricator
Wiki Phabricator is a collection of web applications which help software companies build better software. Including the Differential code review tool, the Diffusion repository browser, the Herald change monitoring tool, the Maniphest bug tracker and the Phriction wiki. Phabricator integrates…
Profiling PHP Applications with Xdebug
Introduction Xdebug is a PHP extension for powerful debugging. It supports stack and function traces, profiling information and memory allocation and script execution analysis. Install Xdebug on Windows Download php_xdebug.dll from official website. Edit php.ini like this: [xdebug] xdebug.profiler_enable =…