有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android上的javanio性能

我正在评估安卓上的I-jetty。 我看到I-jetty支持NIO,并且默认启用了它。 这使我想到了一点: 在安卓上,NIO和传统IO相比如何

乍一看,似乎在移动平台上NIO会做得更好,因为它可以节省更多内存。 另一方面,OIO可以更好地适应,因为通常我们不需要像JavaEE那样需要很多开放式socket


共 (1) 个答案

  1. # 1 楼答案

    这并不是一个答案。只想与两个实现共享快速手动测试的结果:

    1. Koushik Dutta的带ION(1.1.5)的NIO
    2. 广场上的伙计们用OkHttp(1.1.1)的OIO

    测试是在同一台LTE设备(Android 4.0.4)上完成的。在8分钟内,一个接一个地发出108个请求(没有并发)。请求分为5个部分:NIO->;OIO->;NIO->;OIO->;尼奥。该请求是对UserGrid API的HTTP PUT请求,返回的响应与转换为字符串并以相同方式处理的响应相同

    以毫秒为单位:

    NIO/ION 60 times   OIO/OkHttp for 48 times        
     Min.   :  889      Min.   :  629.0
     1st Qu.: 1086      1st Qu.:  774.5
     Median : 1426      Median : 1241.0
     Mean   : 1659      Mean   : 1712.2
     3rd Qu.: 1697      3rd Qu.: 1881.2
     Max.   :10913      Max.   :16333.0
    
     Std Dev: 1329.406  Std Dev: 2254.099
    

    备注:

    • 应用程序在每个部分之间重新启动。因此,NIO/ION测试还有一次“首次运行”,速度稍慢。然而,这对平均值/平均值不会有太大的影响

    从这个测试中,您可以说NIO在响应时间上更可预测

    正如我所说,这并不是答案。我很想看到其他测试结果,并找出哪种情况下NIO/OIO更好。thx