Google protobuf解析消息逻辑的版本问题
在分析caffe2源码的过程中,由于caffe2使用protobuf作为网络结构和网络参数序列化和反序列化的机制,想在反序列化之前进行加解密处理,这是反向protouf其实有两个版本的实现来进行消息的解析。
protobuf 中对消息的解析有两个版本,一个是python版本,另外一个是c++版本。python版本相关的代码存放路径在:./python/google/protobuf/internal/python_message.py 中,而c++实现版本存放路径在:./python/google/protobuf/pyext/message.cc ,在python目录下有一个setup.py文件,里面有一个--cpp_implemetation选项,这个选项可以控制使用cpp的实现还是使用python的实现来进行消息的解析(序列化和反序列化),默认这个选项是关闭的,所以如果从源代码安装protobuf,那么就会默认使用python的实现来进行消息的解析,这时会发现解析的性能变慢。如果用pip安装的protobuf来进行消息的解析,默认采用的是cpp的实现,所有会发现效率更高。
转载于:https://www.cnblogs.com/justinzhang/p/9104165.html
Google protobuf解析消息逻辑的版本问题相关推荐
- Unity2017使用Google.Protobuf.dll(.NET3.5版本)
官方Protobuf的C#实现要求.Net4.6及以上,Unity2017有NET3.5和.NET4.6两种版本. 如果编译Google.Protobuf.dll时选择的.Net版本过高,一般多数为. ...
- 一种自动反射消息类型的 Google Protobuf 网络传输方案
陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice t.sina.com.cn/giantchen 这篇文章要解决的问题是:在接收到 protobuf 数据 ...
- Google Protobuf 实践使用开发
Android 敏捷开发助手 Lottie动画 轻松使用 PNG.JPG等普通图片高保真转SVG图 Android 完美的蒙层方案 Android MMKV框架引入使用 强大无匹的自定义下拉列表 Go ...
- google ProtoBuf开发者指南
目录 1 概览 1.1 什么是protocol buffer 1.2 他们如何工作 1.3 为什么不用XML? 1.4 听起来像是为我的解决方案,如何开始? 1.5 一点历史 ...
- 使用CSharp编写Google Protobuf插件
什么是 Google Protocol Buffer? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 ...
- Google Protobuf 使用介绍
直接在 www.google.com.hk 上搜索google protobuf 后下载官方版本. 官方版本支持C++\Java\Python三门语言. 还有很多非官方的语言版本支持,如C\NET(C ...
- C++|Java工作笔记-google protobuf基本使用
目录 前言 protoc生成 Java相关 C++相关 前言 这里主要是生成序列号,在我所做的项目中,一般是把数据序列化后扔到消息总线上,消费者读取了,自行解析. 个人感觉这种方式比Json和XML都 ...
- google protobuf使用
google protobuf使用 下载的是github上的:https://github.com/google/protobuf If you get the source from github, ...
- Google Protobuf
Google Protobuf 编码和解码的基本介绍 Netty 本身的编码解码的机制和问题分析 Protobuf Protobuf 快速入门实例 pom.xml Student.proto Nett ...
最新文章
- 【数据结构】支持四则混合运算的计算器(转)
- MATLAB的左除\和右除/ ??? 自己没有完全明白
- eWebEditor不支持IE8的解决方法
- dreamstart的催促
- idea设置默认maven路径(2020版idea)
- python 好书推荐_关于Python的好书推荐(三)
- Java EE 7的高峰–使用EclipseLink的多租户示例
- 使用Golang实现的快速排序
- c语言坐标打印佛祖,C语言输入平面上两个点的坐标(double类型),计算两个点之间的距离。看”详细“里哪里写错了谢谢...
- Windows Phone 7 开发探索笔记1——触控操作之Touch
- VBoxGuestAdditions.iso无法在virtualbox中正确安装
- kuangbin专题-最短路练习
- ibatis iterator list 参数 查询
- java xss漏洞修复_全局存储型XSS漏洞修复
- springboot整合容联云发短信验证码
- 通过echarts绘制双十一销量实时统计图表
- Java简单实现猜拳游戏
- 二代旅游CMS网站管理系统使用手册(二)--目的地管理
- 如何在当前文件夹打开命令行窗口
- 软件著作权的好处有哪些?软著含金量高吗?
热门文章
- 仓鼠体重年龄对照表_各年龄段血糖,血压,血脂,尿酸对照表,内容太值!
- 如何设置多个图层层叠关系_凉山车载式叠螺污泥脱水机_山东领旗环保科技
- linux卸载桌面Ubuntu,Ubuntu安装卸载KDE桌面之折腾记
- 在text html模版中写js,如何利用模板将HTML从JavaScript中抽离
- windows下安装redis以及一些常规操作
- Java面试题整理,连续四年百度Java岗必问面试题
- “重金求来”Alibaba技术官并发编程笔记,附Java面经
- python【数据结构与算法】六度空间
- Python程序设计题解【蓝桥杯官网题库】 DAY6-基础练习
- ftp服务器文件备份,数据备份是十分重要的,下面是通过ftp将本机数据备份到远程服务器的一个例子...