V2EX ybilly 的所有回复 第 1 页 / 共 1 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    ybilly    全部回复第 1 页 / 共 1 页
回复总数  8
@mcfog 我看了下,vtprotobuf 生成出来的代码和 gogoprotobuf 生成出来的代码一样的,而 fastproto 也是参考的 gogoprotobuf ,不过生成出来的代码重新成引用 google 的 protowire 这个包来读写数据。所以两者在性能上应该是一个量级的,不会有太大偏差
2. 两者有个区别就是 fastproto 支持自己的 message 里面引用其它人只用标准 proto 生成的 message ,比如 google 标准库里面的 Any 类型和 timestamp 类型。vtprotobuf 试了下不行。
3. Marshal 函数,gogoprotobuf 原来的实现是从后面往前写,fastproto 为了使用 protowire 这个库里面的标准函数,所以改成从前往后写。
@mcfog 先去瞄一眼
@millken 现在这个工具只是在 google 自己的.pb.go 文件之外,额外生成 marshal 、marshalto 、unmarshal 几个方法。结构的定义还是依赖于 google 的.pb.go 文件。
2022-02-17 17:02:40 +08:00
回复了 xtx 创建的主题 汽车 25 万以内,新能源 suv 有什么推荐么?
年底上海狮
2019-01-16 11:19:22 +08:0
回复了 luxurioust 创建的主题 Go 编程语言 Go 语言 Excel 文档类库 excelize 发布 1.4.1 版本
@luxurioust 360 是个好库,曾经 golang 上只有 tealeg 的库,但是他的库对于读取文本以外的功能支持不多。现在多了 360,是个好事。最终可以根据项目需求来选择。
2019-01-15 20:46:24 +08:00
回复了 luxurioust 创建的主题 Go 编程语言 Go 语言 Excel 文档类库 excelize 发布 1.4.1 版本
最近刚使用这个库做了个通用的库

https://github.com/billyplus/luatable

以前我用过一个 golang 的库,是 tealeg 的,后来看到他在项目说明里面推荐 360 的库,说 360 的库功能更全面,所以这次我先尝试了一下 360 的库。结果不是很理想,读取数据明显比 tealeg 的慢,应该是 xml 解析没有优化,但是对于我的这种导表工具来说,读取速度比功能更有意义。

我用这两个库做了个对比。

总运行时间:4.97s
其中:
github.com/360EntSecGroup-Skylar/excelize.(*File).GetRows (67.00%, 3.33s)

```
Flat Flat% Sum% Cum Cum% Name Inlined?
0 0.00% 0.00% 3.49s 70.22% github.com/spf13/cobra.(*Command).Execute
0 0.00% 0.00% 3.49s 70.22% github.com/spf13/cobra.(*Command).ExecuteC
0 0.00% 0.00% 3.49s 70.22% main.main
0 0.00% 0.00% 3.49s 70.22% runtime.main
0 0.00% 0.00% 3.48s 70.02% github.com/spf13/cobra.(*Command).execute
0 0.00% 0.00% 3.48s 70.02% main.(*generator).GenConfig
0 0.00% 0.00% 3.48s 70.02% main.(*generator).GenConfig.func1
0 0.00% 0.00% 3.48s 70.02% main.(*generator).GenConfig.func1.1
0 0.00% 0.00% 3.48s 70.02% main.glob..func1
0 0.00% 0.00% 3.48s 70.02% path/filepath.Walk
0 0.00% 0.00% 3.48s 70.02% path/filepath.walk
0 0.00% 0.00% 3.46s 69.62% main.(*generator).iterateXlsx
0 0.00% 0.00% 3.46s 69.62% main.(*generator).sheetsFromExcel360
0 0.00% 0.00% 3.33s 67.00% github.com/360EntSecGroup-Skylar/excelize.(*File).GetRows
0 0.00% 0.00% 2.70s 54.33% encoding/xml.(*Decoder).DecodeElement
0.18s 3.62% 3.62% 2.70s 54.33% encoding/xml.(*Decoder).unmarshal
```

后来试着换了一个库,这个库功能更少,但是使用时候发现读表效率更高,换库只是调整了读表的部分。
github.com/tealeg/xlsx

总运行时间:2.34s
top
```
Flat Flat% Sum% Cum Cum% Name Inlined?
0 0.00% 0.00% 1.30s 55.56% github.com/tealeg/xlsx.readSheetFromFile
0 0.00% 0.00% 1.30s 55.56% github.com/tealeg/xlsx.readSheetsFromZipFile.func1
0 0.00% 0.00% 1.27s 54.27% encoding/xml.(*Decoder).Decode
0 0.00% 0.00% 1.27s 54.27% encoding/xml.(*Decoder).DecodeElement
0.04s 1.71% 1.71% 1.27s 54.27% encoding/xml.(*Decoder).unmarshal
0.03s 1.28% 2.99% 1.14s 48.72% encoding/xml.(*Decoder).unmarshalPath
0 0.00% 2.99% 1.13s 48.29% github.com/tealeg/xlsx.getWorksheetFromSheet
0.01s 0.43% 3.42% 0.76s 32.48% encoding/xml.(*Decoder).Token
0.04s 1.71% 5.13% 0.69s 29.49% encoding/xml.(*Decoder).rawToken
0 0.00% 5.13% 0.42s 17.95% runtime.mstart
0 0.00% 5.13% 0.42s 17.95% runtime.systemstack
```

两者对比,读取文件的操作差别还是挺大的,如果文件更大的话,差距就会更明显。
2019-01-15 18:42:48 +08:00
回复了 yuikns 创建的主题 Google 这种搜索排序可以如何实现?
这个排序应该是巧合,搜小说的时候,他就不会给你排章节。
2019-01-15 14:39:32 +08:00
回复了 ryan1991 创建的主题 微信 小程序跟苹果之间的关系很微妙啊,有未来吗?
PWA 才是最终解决方案,但是苹果也不积极,安卓也只是要用他自己的 chrome 浏览器能才打开。双方都怕自己的流量入口被其它人抢占,所以比较谨慎。小程序想干 PWA 的事情,连 PWA 他们都不放开,哪轮得到小程序,如果他们开放到能接受小程序,他们就会开放到把 PWA 标准和功能放开,这样,又回到浏览器为入口的时代。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4903 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 17ms UTC 09:44 PVG 17:44 LAX 01:44 JFK 04:44
Do have faith in what yo're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86