
D语言
jasonslaex
这个作者很懒,什么都没留下…
展开
-
epoll 指向的d对象导致的gc释放问题,使用手动释放gc引用的对象
1.dlang在转换成void*指针的时候,gc会认为不引用此对象,造成提前对象释放,导致epoll变成野指针。2.使用gc手动控制对象的生命周期,手动释放。 设置对象gc属性为NO_MOVE, GC就不会引用对象了 锁定对象: GC.addRoot(cast(void*)this); GC.setAt原创 2017-04-21 17:08:52 · 596 阅读 · 0 评论 -
高性能异步RPC框架 kiss-rpc-flatbuffer介绍和测试
kiss-rpc简介: * 特性:模拟堆栈式调用方式,支持多值返回, 多层类型结构嵌套,多层数组嵌, 支持idl协议编写。调用简单安全, 服务器采用多线程异步模式,挖掘服务器性能。客户端支持多线程同步和异步模式,超时机制,linux下支持 epoll网络模型,类比grpc,thrift,dubbo快几倍甚至 几十倍。 * 环境: linux, unix, windows, macOS原创 2017-07-10 14:50:53 · 2937 阅读 · 0 评论 -
kiss-rpc IDL协议编写和使用方式
什么是IDL1. IDL是kiss rpc接口代码生成协议, 编写IDL协议, 可以生成对应的服务端和客户端通用的RPC代码调用接口.2. 规范统一化, 接口统一化, 使用简单.IDL使用方式1. [idl文件路径] [输出名字] [输出路径,默认为当前目录].2. 同时输出client和server文件代码,只需要拷贝到对应的客户端和服务端目录就行了.IDL代码使用方式1. 服原创 2017-07-10 14:52:34 · 1155 阅读 · 0 评论 -
kiss rpc flatbuffer,capnp版本和grpc性能测试对比
kiss rpc flatbuffer比之前的capnp在性能上快4倍左右,类比grpc快5倍左右。 内存资源,cpu资源,网络资源占用更低。测试环境环境:ubuntu 16.04 lts(64位)硬件:xeon cpu e3-1230@3.3GHz x 8内存:8G网络:localhost(本地环回)GRPC 测试单连接, 同步测试,测试50WQPS:1.5W qps/sec单连接,原创 2017-08-04 17:44:33 · 2535 阅读 · 0 评论