构建高性能系统的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;  }

项目主页:http://www.open-open.com/lib/view/home/1379399879568