@
icyalala 那是因为 msgpack 反序例化根本就不需要先整体解析 utf8 字串,因为 msgpack 本身就不是字符串格式
其中包含的一些字符串格式的内容,使用各环境自带的 utf8 编解码工具即可,譬如浏览器你怎么用 simdjson ?
至于你原本需要用 simdjson 的环境,你如果不满意现有 msgpack 库的 string 数据的转码速度,你直接把 utf8 转码函数替换一下就行了,搜 utf8 simd 库即可,会找到更多比 simdjson 更好的库,因为 utf8 的使用面可比 json 大多了,各环境的 utf8 编解码应该都已经用的就是 simd 加速过了的。
使用 msgpack 最大的好处是简单、扩展性好、通用性好,譬如要搞一个上传 图片 的 API ,和其它 API 一起共用一个 url 就行,而且除了 get/post 接口,还可以用于 websocket:
{ "user": "xxxxx", "auth": "tmp_password", "cmd": "upload_img", "image": 图片数据 }
我不是让后端费力开发一个小众接口,而是产品一开始就要选择简单、扩展性好、通用性好的 msgpack 。
至于它是否小众,你可以看一下其他坛友的回覆,很多大厂到在用。
互联网前后端不是最喜欢造轮子、脚手架和追新的吗?怎么到 msgpack 这样真正有意义的东西上,就各种排斥了呢?
当然如何选择是你的事,反正有人喜欢堆屎山也不会影响到我。