gpt4 book ai didi

f# - Protocol Buffer 是否可用于 F#?

转载 作者:行者123 更新时间:2023-12-01 07:11:40 26 4
gpt4 key购买 nike

只是好奇 - Protocol Buffer 可用于 F# 吗?任何警告等?

最佳答案

我只是想自己回答这个问题。

Marc Gravell's protobuf-net project使用 F# 开箱即用,因为它使用标准的 .NET 习惯用法。您可以使用属性进行序列化,而无需编写 .proto 文件或进行任何两阶段编译,或者您可以从标准 .proto 文件生成必要的代码。 .NET 的性能很好,但比 OCaml 的内置 Marshal 等替代方案慢很多。模块。但是,此库强制您使每种消息类型中的每个字段都可变。这确实适得其反,因为消息应该是不可变的。此外,文档还有很多不足之处,但是,这是免费软件。

我还没有设法得到Jon Skeet's protobuf-csharp-port library还没有工作。

理想情况下,您可以将所有内置的 F# 类型(元组、记录、联合、列表、集合、映射等)序列化为这种开箱即用的有线格式,但没有现有的开源解决方案能够做到这一点。我还担心这些解决方案的复杂性:Jon Skeet 的 C# 代码和注释有 88,000 行(!)。

顺便说一句,我很失望地看到 Google Protocol Buffer 没有为 DateTime 指定标准格式。或 decimal数字。

我还没有看过 Proto#,甚至找不到 Froto 的下载。还有ProtoParser但它只是解析 .proto 文件,实际上不能序列化任何东西。

关于f# - Protocol Buffer 是否可用于 F#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5004798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com