From 4e0bb82899104bb50b968ae3bc6528fe3d8a2ba6 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Tue, 19 Sep 2017 08:58:31 +0200 Subject: [PATCH] Remove MOTIVATION.md, wrote another blog post about it instead Signed-off-by: Joachim Nilsson --- MOTIVATION.md | 30 ------------------------------ README.md | 1 - 2 files changed, 31 deletions(-) delete mode 100644 MOTIVATION.md diff --git a/MOTIVATION.md b/MOTIVATION.md deleted file mode 100644 index 07e6093..0000000 --- a/MOTIVATION.md +++ /dev/null @@ -1,30 +0,0 @@ -Motivation ----------- - -> “Why an event loop, why not use threads?” - -With the advent of light-weight processes (threads) programmers these -days have a [golden hammer](http://c2.com/cgi/wiki?GoldenHammer) they -often swing without consideration. Event loops and non-blocking I/O is -often a far easier approach, as well as less error prone. - -The purpose of many applications is, with a little logic sprinkled on -top, to act on network packets entering an interface, timeouts expiring, -mouse clicks, or other types of events. Such applications are often -very well suited to use an event loop. - -Applications that need to churn massively parallel algorithms are more -suitable for running multiple (independent) threads on several CPU -cores. However, threaded applications must deal with the side effects -of concurrency, like race conditions, deadlocks, live locks, etc. -Writing error free threaded applications is hard, debugging them can be -even harder. - -Sometimes the combination of multiple threads *and* an event loop per -thread can be the best approach, but each application of course needs to -be broken down individually to find the most optimal approach. Do keep -in mind, however, that not all systems your application will run on have -multiple CPU cores -- some small embedded systems still use a single CPU -core, even though they run Linux, with multiple threads a program may -actually run slower! Always profile your program, and if possible, test -it on different architectures. diff --git a/README.md b/README.md index 8e3e598..b393733 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ libuEv | Simple event loop for Linux * [Using -luev](API.md#using--luev) * [Joystick Example](API.md#joystick-example) * [Build & Install](#build--install) -* [Motivation](MOTIVATION.md#background) * [Origin & References](#origin--references)