Windows 10 搭建Python3 安装使用 protobuf
Windows 10 搭建Python3 安装使用 protobuf
Protobuf对比XML、Json等其他序列化的优势
- protobuf 不管是处理时间上,还是空间占用上都优于现有的其他序列化方式。内存暂用是java 序列化的1/9,时间也是差了一个数量级,一次操作在1us左右。缺点:就是对象结构体有限制,只适合于内部系统使用。
- json格式在空间占用还是有一些优势,是java序列化的1/2.6。序列化和反序列化处理时间上差不多,也就在5us。当然这次使用的jackson,如果使用普通的jsonlib可能没有这样好的性能,jsonlib估计跟java序列化差不多。
- xml相比于java序列化来说,空间占用上有点优势,但不明显。处理时间上比java序列化多了一个数量级,在100us左右。
- 以前一种的java序列化,表现得有些失望
- hessian测试有点意外,具体序列化数据上还步入json。性能上也不如jackjson,输得比较彻底。
- hessian使用压缩,虽然在字节上有20%以上的空间提升,但性能上差了4,5倍,典型的以时间换空间。总的来说还是google protobuf比较给力
protobuf | jackson | xstream | Serializable | hessian2 | hessian2压缩 | hessian1 | |
序列化(单位ns) | 1154 | 5421 | 92406 | 10189 | 26794 | 100766 | 29027 |
反序列化(单位ns) | 1334 | 8743 | 117329 | 64027 | 37871 | 188432 | 37596 |
bytes | 97 | 311 | 664 | 824 | 374 | 283 | 495 |
准备环境:
1,Python版本3.5.4
2,Protobuf版本3.7.0
3,Protobuf安装包:protoc-3.7.0-rc1-win64.zip
4,Win10 64位系统
步骤:
【下载protoc】
https://github.com/google/protobuf/releases
根据自己的平台下载对应的编译器,我的是win10-64位,所以下载 protoc-3.7.0-rc1-win64.zip
设置环境变量:这一步使你在本地任何地方使用protoc这个指令
(右击“此电脑”。。。)
测试protoc:
新打开一个命令行:输入protoc --version,如果将输出版本号,说明protoc安装好了
【编写.proto协议文件】
新建一个protobuf文件夹,手动创建test2.proto文件:
并在test2.proto中输入:
syntax = "proto2"; message testinfo { required int32 devtype = 1; required int32 devid = 2; required int32 unitid = 3; required int32 chlid = 4; optional int32 testid = 5 [default = 0]; required bytes stepdata = 6; }
【编译】:
打开命令行,切换到protobuf文件夹下下面,执行protoc --python_out=./ test2.proto
然后会生成一个python文件
在目录下新建文件 test.py,写入代码
import test2_pb2testinfo = test2_pb2.testinfo() testinfo.devtype = 100 testinfo.devid = 2 testinfo.unitid = 3 testinfo.chlid = 4 testinfo.testid = 250 testinfo.stepdata = b'abd'print(testinfo, testinfo.devtype) # 打印 protobuf 结构的内容 out = testinfo.SerializeToString() print(out) # 打印 Protobuf 序列字符串decode = test2_pb2.testinfo() decode.ParseFromString(out) print(decode) # 打印 解析Protobuf后的内容
运行python代码,得到以下结果,证明实验成功!
Windows 10 搭建Python3 安装使用 protobuf相关推荐
- python374安装windows10_Windows 10 搭建Python3 安装使用 protobuf
Protobuf对比XML.Json等其他序列化的优势 protobuf 不管是处理时间上,还是空间占用上都优于现有的其他序列化方式.内存暂用是java 序列化的1/9,时间也是差了一个数量级,一次操 ...
- tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 原文见于:http://www.jianshu.com/p/c245d46d43f0 ...
- Windows 10 搭建Python开发环境(PyCharm )
Windows 10 搭建Python开发环境(PyCharm ) 一.安装Python3 二.安装Pycharm 怎么使用PyCharm编写Python程序,简单教程. windows下安装pyth ...
- Windows 10 Technical Preview 安装体验及变化
Windows 10 Technical Preview 安装及最新变化 2014.10.1零晨,微软官方发布了windows 10技术预览版,下载体验一番,与大家分享一下使用心得. Window ...
- Win10安装程序修复计算机,如何在Windows 10上使用安装介质引导或修复
本文将向您展示如何使用可启动的安装USB或DVD介质修复Windows 10安装,而不会丢失数据. 如果无法从Windows中访问Windows 10高级选项疑难解答选项,则需要使用USB或DVD介质 ...
- 如何在 Windows 10 的同时安装 Ubuntu 20.04实现双系统
如何在 Windows 10 的同时安装 Ubuntu 20.04 和双启动 注:本文翻译自How to install Ubuntu 20.04 and dual boot alongside Wi ...
- 单EFI分区Archlinux + Windows 10 双启动安装记录
单EFI分区Archlinux + Windows 10 双启动安装记录 前言 一些规范 一.安装前准备 1.下载ISO 2.用USB启动 二.开始安装 1.检查是否是UEFI启动 2.检查网络 3. ...
- Windows 10系统下安装MATLAB出现Error 1935的应对措施
Windows 10系统下安装MATLAB出现Error 1935的应对措施 出现该错误的原因是安装过程默认安装的时C++ 2005而不是2008,因此绕开C++ 2005来安装.具体步骤如下: 1. ...
- windows 10 64位安装Python3.6.4
1.下载Python3.6 windows版本的安装包 Python官网地址:https://www.python.org 下载软件包:python-3.6.4.exe 2.安装Python3.6版本 ...
最新文章
- 另辟蹊径创建移动应用:iOS和Android代码共享
- JavaBean组件的基本使用-语法
- OpenCV相机位移引起的单应性的实例(附完整代码)
- java truevfs_Java-Apache Commons VFS:使用FTP
- iOS开发--一步步教你彻底学会『iOS应用间相互跳转』
- django migration使用指南
- Spring之对象依赖关系
- 从入门到高级Java书籍推荐
- js 生成二维码(qrcodejs)
- 关于无穷级数收敛的充要条件的猜想
- 职场潜规则:非985院校的简历,一律扔进垃圾桶
- 阿里云文字转语音接口
- es提示 MaxNewSize (1048576k) is equal to or greater than the entire heap (1048576k). A new max genera
- 窄带包络Matlab分析,窄带随机过程的产生及其性能测试
- 虚拟摄像头/无人直播效果分析,可替抖音/微信
- 树莓派4B:智能植物管家
- 拾贰SparkSQL:数据关联优化
- 手机拍摄证件照可以用什么软件
- Flash常用源代码大全
- 皮卡智能2022年功能升级汇总,打造智能工作新体验
热门文章
- UIViewController生命周期的理解
- 移动对meta的定义(转)
- OCP题库笔记1z0-052
- python查询mysql decimal报错_python读取MySQL数据表时,使用ast模块转换decimal格式数据的坑...
- 项目管理十大知识领域,为何不含
- Visio图形自动编号
- 批量删除table或view
- mysql双机热备 配置文件,MYSQL 双机热备配置手册()
- debug error怎么解决_我要以血和泪的经历告诉你,这个 bug 太难解决了
- matlab 锐化降噪,matlab 图形锐化 滤波