构建高性能系统的C语言事件框架:libPhenom
jopen
11年前
libPhenom 是 非死book 发布的一个C语言事件框架,用于构建高性能和高可扩展的系统。支持多线程,提供内存管理和常用数据结构(hash tables, lists, queues),json处理。
- Memory management with counters - record how much of which kinds of memory your application is using.
- Jobs - decompose your application into portions of work and let the phenom scheduler manage getting them done
- streaming I/O with buffers
- Handy data structures (hash tables, lists, queues)
- Variant数据类型,实现JSON的序列化和反序列化
- A printf implementation with registerable object formatting
示例代码:
#include "phenom/defs.h" #include "phenom/job.h" #include "phenom/log.h" #include "phenom/sysutil.h" int main(int argc, char **argv) { // Must be called prior to calling any other phenom functions ph_library_init(); // Optional config file for tuning internals ph_config_load_config_file("/path/to/my/config.json"); // Enable the non-blocking IO manager ph_nbio_init(0); // Do stuff here to register client/server stuff. // This enables a very simple request/response console // that allows you to run diagnostic commands: // `echo memory | nc -UC /tmp/phenom-debug-console` // The code behind this is in // https://github.com/非死book/libphenom/blob/master/corelib/debug_console.c ph_debug_console_start("/tmp/phenom-debug-console"); // Run ph_sched_run(); return 0; }