解压缩大数据时如何减少消息包库的解析时间

问题描述

我正在为Android应用程序使用message-pack lib(https://github.com/msgpack/msgpack-java),并从流api中解包数据以形成接收到的InputStream。传输速度很快,总体来说效果很好,但是在客户端(即android应用)上,在解包流时,解析耗时太长。

对于大小为16.65kb的数据,只有一行代码会占用大约600-800ms的时间。

    ImmutableValue val = unpacker.unpackValue();
  **JSONObject jsonObj=new JOSNObject(val.toString());**

如何使它更快?在使用MPMessagePack库的iOS手机中,它不到50毫秒,该库内部使用C语言进行了解析。

这是我已经尝试过的东西。

  1. 尝试了包装器lib https://github.com/msgpack/msgpack-java/blob/develop/msgpack-jackson/README.md,该包装器直接将数据解析为模型。同样慢。
  2. 尝试了另一个库okSSE,但是它使用了不同的编码,而消息包库使用了不同的编码。
  3. 试图遍历整个ImmutableMapValue并将键值放入JSONObject中。这也需要同样的时间。
  4. 试图编写自己的解析程序,但这似乎也没有加快速度。

如果您中的任何一个都遇到了消息包库的相同问题,并且发现了如何优化此步骤,请在下面的答案部分中进行分享

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)