modern 发表于 2010-5-8 22:33:34

linux环境配置Terabit

官方网站
http://www.terabit.com.au/solutions.php

TProactor (ACE compatible Proactor) - add-on to ACE class-libraries, which allows using of ACE Proactor pattern on POSIX platforms. Major benefits:
[*]one code base on MS-Windows and all flavors of UNIX (Proactor pattern);[*]in many cases add-on Proactor improves performance up to 2 times (compared with Reactor);[*]easy to add platform specific small driver to tune-up the system to get maximum possible performance;[*]one code base for SSL and non-SSL implementation of the same solution.[*]better scaling for multi-CPU machines[*]minimized number of memory allocations and pooling of asynch results[*]simplified Proactor internal design with compatible interface with old Proactors TProactor (ACE compatible Proactor) - add-on to ACE class-libraries, which allows using of ACE Proactor pattern on POSIX platforms. Major benefits:[*]one code base on MS-Windows and all flavors of UNIX (Proactor pattern);[*]in many cases add-on Proactor improves performance up to 2 times (compared with Reactor);[*]easy to add platform specific small driver to tune-up the system to get maximum possible performance;[*]one code base for SSL and non-SSL implementation of the same solution.[*]better scaling for multi-CPU machines[*]minimized number of memory allocations and pooling of asynch results[*]simplified Proactor internal design with compatible interface with old Proactors简单的来说,不用使用linux下不太成熟的AIO作为proactor的默认实现了,可能的选择如下:
PVT_NONE      = (PVC_NONE),         // Provider not exist
      PVT_POSIX_AIOCB = (PVC_POSIX | 1),    // POSIX Standart AIO api
      PVT_POSIX_SIG   = (PVC_POSIX | 2),
      PVT_POSIX_CB    = (PVC_POSIX | 3),
      PVT_SUN_AIO   = (PVC_SUN_AIO),
      PVT_LINUX_NAIO= (PVC_LINUX_NAIO),   // Linux libaio apo io_XXXXX
      PVT_SELECT      = (PVC_EMULATION | 1),//
      PVT_POLL      = (PVC_EMULATION | 2),
      PVT_EPOLL       = (PVC_EMULATION | 3),
      PVT_DEVPOLL   = (PVC_EMULATION | 4),
      PVT_SUNPORT   = (PVC_EMULATION | 5),
      PVT_KQUEUE      = (PVC_EMULATION | 6)

另外可以选择两种模式,一种是独立使用TBR_Proactor,一种是替换ACE的Proactor的实现。

配置大体按照下载后解压目录下的install.txt即可。
需要注意的以下。
1.需要安装openssl,这个编译ACE的时候如果不是嫌麻烦特意禁用应该已经安装了。
2.如果使用perl $ACE_ROOT/bin/mwc.pl -type gnuace -include $AIO_ROOT-global $AIO_ROOT/linaio.mpb aio.mwc
需要安装libaio,这个比较简单。
3.如果已经将ace安装到默认目录下/usr/local/lib的话,Terabit生成的makefile会傻傻的找不到,默认将无法找到ace的库。
在$ACE_ROOT/lib目录下做个链接就可以了。
4.在ld.so.conf包含一下运行库的路径
接下来,将例子跑一遍就OK了。

[ 本帖最后由 modern 于 2010-5-8 22:36 编辑 ]

dean 发表于 2011-2-11 17:52:04

本帖最后由 dean 于 2011-3-1 15:08 编辑

编译失败。。
页: [1]
查看完整版本: linux环境配置Terabit