相关疑难解决方法(0)

为什么我的python/numpy示例比纯C实现更快?

我在python和C.中有几乎相同的代码.Python示例:

import numpy
nbr_values = 8192
n_iter = 100000

a = numpy.ones(nbr_values).astype(numpy.float32)
for i in range(n_iter):
    a = numpy.sin(a)
Run Code Online (Sandbox Code Playgroud)

C示例:

#include <stdio.h>
#include <math.h>
int main(void)
{
  int i, j;
  int nbr_values = 8192;
  int n_iter = 100000;
  double x;  
  for (j = 0; j < nbr_values; j++){
    x = 1;
    for (i=0; i<n_iter; i++)
    x = sin(x);
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行两个例子时,会发生奇怪的事情:

$ time python numpy_test.py 
real    0m5.967s
user    0m5.932s
sys     0m0.012s

$ g++ sin.c
$ time ./a.out 
real …
Run Code Online (Sandbox Code Playgroud)

c python performance numpy

7
推荐指数
1
解决办法
4833
查看次数

标签 统计

c ×1

numpy ×1

performance ×1

python ×1