每天写几行的进度拖出来的...-v-
一个Delphi的基于WinSock2的多线程TCP Socket组件。
特点是:
1. Ring Buffer (环状缓冲)。从32字节到32M字节任意;
2. 操作简单。组件中有一个单独的线程为程序及时的处理Socket输入输出,包含了所有的异常处理,外部调用就如同文件读写一样简单;并且一个参数就可以选择是否为阻塞操作。
3. 能够实现Zero Copy (零复制)。从应用程序到系统网络堆栈中间没有任何冗余的内存复制操作,最大化传输效率。
接下来的目标就是扣接我的TriC加密组件,实现安全传输通道。
因为有计划今后走Open Source路线,所以现征求一些程序测试人员。
请有兴趣参与的人下载下面这个程序:
本程序对RingSocket的性能/稳定性进行测试: 通过本机Loopback接口在两个RingSocket之间传递1GB的数据; 每个RingSocket有读、写缓存各8MB.
使用方法: 0. 下载,解压,运行,点击Connect;
1. 等待7 - 45秒(视机器硬件配置); * 如果1.5分钟以上仍然没有停止(CPU忙),或者CPU占用率降到很低,但是没有结果显示,请强行中止,并发帖告知; * 如果出现任何错误提示,请发帖告知;
2. 请验证显示结果,Sending bytes 和 Receiving bytes的值必须一样,如果不一样,请发帖告知;
3. 如果通过验证,请发帖,包含以下内容: a. 显示结果的 Throughput 两行的值; b. 机器的CPU个数、型号、频率; c. 机器的内存大小、频率(是否是双通道也很重要);
* 下载 * |
本程序对机器的总线和内存带宽很敏感,如果希望测试自己机器这方面性能的,也可以运行一下这个程序。
下面是最高和最低分记录: ^_^
最高分: 155MB/sec [AMD Athlon64 3000+, 1G DDR400x2, Bus 2.0GHz]
所有者: scegg
最低分: 28MB/sec [AMD Turion 64 MT-28 800MHz(PS), 512MB DDR333 (共享显存), Bus 200MHz]
所有者: 粘土火星
另外,可以作为参考的是:
2 * Intel Xeon 2.8GHz HT, 1G DDR 400, Bus 400MHz
得分是.... 75MB/sec
这就再次证明了程序对机器的总线和内存带宽的依赖程度... Prz