相关疑难解决方法(0)

为什么JVM的设计方式不允许强制垃圾收集?

据我所知,我们不能强迫JAVA中的垃圾收集.我们能做的最好的事情是通过调用System.gc()或发送请求Runtime.gc().这样做会将垃圾收集请求发送到JVM,但不能保证垃圾收集会发生.所以我的问题是:有什么特别的原因,为什么 JVM的设计方式不支持Force Garbage Collection?

java garbage-collection jvm

13
推荐指数
1
解决办法
542
查看次数

为什么numpy的效率不会扩大

我一直在比较numpy与Python列表推导的相对效率,将随机数的数组相乘.(Python 3.4/Spyder,Windows和Ubuntu).

正如人们所预料的那样,对于除最小阵列之外的所有阵列,numpy迅速优于列表理解,并且为了增加阵列长度,您将获得预期的Sigmoid曲线以获得性能.但是sigmoid远非光滑,我很难理解.

显然,对于较短的阵列长度存在一定量的量化噪声,但是我得到了意外的噪声结果,特别是在Windows下.这些数字是各种阵列长度的100次运行的平均值,所以应该平滑任何瞬态效应(所以我想到).

性能特点

Numpy and Python list performance comparison
Run Code Online (Sandbox Code Playgroud)

下图显示了使用numpy与列表理解的不同长度的乘法数组的比率.

Array Length    Windows     Ubuntu
           1        0.2        0.4
           2        2.0        0.6
           5        1.0        0.5
          10        3.0        1.0
          20        0.3        0.8
          50        3.5        1.9
         100        3.5        1.9
         200       10.0        3.0
         500        4.6        6.0
       1,000       13.6        6.9
       2,000        9.2        8.2
       5,000       14.6       10.4
      10,000       12.1       11.1
      20,000       12.9       11.6
      50,000       13.4       11.4
     100,000       13.4       12.0
     200,000       12.8       12.4
     500,000       13.0       12.3
   1,000,000       13.3       12.4
   2,000,000       13.6       12.0
   5,000,000       13.6       11.9
Run Code Online (Sandbox Code Playgroud)

所以我想我的问题是任何人都可以解释为什么结果,特别是在Windows下如此嘈杂.我已多次运行测试,但结果似乎总是完全相同.

UPDATE.在Reblochon …

python arrays numpy

9
推荐指数
1
解决办法
291
查看次数

标签 统计

arrays ×1

garbage-collection ×1

java ×1

jvm ×1

numpy ×1

python ×1