文档章节

来看看Cap’n Proto’s的神器力量,让你的数据飞起来传输

uaisunshine
 uaisunshine
发布于 2015/04/23 15:24
字数 394
阅读 215
收藏 2
点赞 2
评论 0

https://capnproto.org/

这是管网。capnproto其他语言我不知道,反正我的java现在是跑起来了。

看到没,首页就说了把原来他自己写的谷歌的protobuf给完全碾压了。

明显这家伙在谷歌工作的时候留了一手。

现在我来跟大家说说怎用。


第一个,下载java源码:

https://capnproto.org/otherlang.html

这里有各种语言的,选你学的语言就好了。

java 在这里:https://github.com/dwrensha/capnproto-java/

以java为例子,找到目录:examples/src/main/java/org/capnproto/examples

里面有个类AddressbookMain,但你放到项目是要报错的,因为你缺少这里面的东西:runtime/src/main/java/org/capnproto,放一起后错少了许多。现在我们就要纠结半天了,这个东西AddressBook,还有这个Person,到底哪里去了啊!别着急,现在就来生成这2个类。

第二步,下载cmd工具包,生成java 文件。

https://capnproto.org/capnproto-c++-win32-0.5.2.zip

https://dwrensha.ws/capnproto/capnpc-java.exe.zip

运行命令:capnp compile -o java addressbook.capnp

接下来神器的事就来了,他自动生成了一个java文件:AddressBook.java,把他放到自己项目里,报错就没了,那你就开始跑main方法吧!



把它跟fastjson的解析和格式化做了下对比,单位是毫秒,大家请看:

简直没法比,这东西快的让人不敢相信。

© 著作权归作者所有

共有 人打赏支持
uaisunshine
粉丝 2
博文 15
码字总数 4591
作品 0
成都
高级程序员
序列化/RPC 系统--Cap’n Proto

Cap’n Proto 是非常快速的数据交换格式和基于容量的 RPC 系统。类似 JSON,除了二进制;或者是 Protocol Buffers,除了更快。事实上,Cap’n Proto 比 Protocol Buffers 快无数倍。 当然,这...

叶秀兰 ⋅ 2015/09/28 ⋅ 0

shell之netstat命令

语  法: netstat [-acCeFghilMnNoprstuvVwx] [-A][--ip] 补充说明: 利用netstat指令可让你得知整个Linux系统的网络情况。 参  数: -a 或–all 显示所有连线中的Socket。-A 或– 列出该...

品鉴初心 ⋅ 2017/12/06 ⋅ 0

netstat命令详解

(netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态。 netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -nr 1.netstat命令详解 其实我常用的是...

庆沉 ⋅ 2015/07/14 ⋅ 0

Linux tcpdump 命令详解

简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供...

刘星石 ⋅ 2016/03/02 ⋅ 0

python模块介绍- socket(1)

python模块介绍- socket 2013-03-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 博客:http://blog.csdn.net/oychw #版权所有,转载刊登请来函联系 # 深圳...

长平狐 ⋅ 2013/12/25 ⋅ 0

【sed 工具的使用】

grep 工具的功能其实还不够强大,其实说白了,grep实现的只是查找功能,而它却不 能实现把查找的内容替换掉。以前用vim的时候,可以查找也可以替换,但是只局限于在文 本内部来操作,而不能输...

天行健J ⋅ 2012/12/02 ⋅ 0

linux应该知道的东西

应该知道的Linux技巧 2013年1月9日 陈皓 发表评论 阅读评论 123,853 人阅读 这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Li...

阿山 ⋅ 2014/05/15 ⋅ 0

Bigflow Logical Plan

Logical Plan的概念 Logical Plan是分布式计算过程抽象为数据流在算子上变换的表示图。 核心概念 算子 算子是Flume中的基本计算单元, 它体现了分布式计算中的’计算’ Processor是主要的算子...

苗栋栋 ⋅ 2017/11/19 ⋅ 0

长文详解基于并行计算的条件随机场CRF

来自本人微信公众号 深度学习自然语言处理 之前写过CRF的详解,只是为了让大家详细了解下原理,但是那种是没有优化的,速度很慢。在实际应用中,还是需要用到batch,也就是需要用到GPU的,那...

zenRRan ⋅ 06/08 ⋅ 0

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet: Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001. 多个Command可以在一个C-frame(control frame)中发送...

sflfqx ⋅ 2013/03/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 34分钟前 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 51分钟前 ⋅ 0

001. 深入JVM学习—Java运行流程

1. Java运行流程图 2. Java运行时数据区 3. Java虚拟机栈 栈内存是线程私有的,其生命周期和线程相同; 虚拟机栈描述的是Java方法执行的内存模型:执行一个方法时会产生一个栈帧随后将其保存...

影狼 ⋅ 今天 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

mysql的分区和分表

1,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一...

梦梦阁 ⋅ 今天 ⋅ 0

exception.ZuulException: Forwarding error

错误日志 com.netflix.zuul.exception.ZuulException: Forwarding error Caused by: com.netflix.hystrix.exception.HystrixRuntimeException: xxx timed-out and no fallback available. Ca......

jack_peng ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部