Python 为什么EC2机器上的内存复制速度慢?
在我的EC2机器上,内存拷贝似乎惊人地慢。我想找出原因 在大多数计算机上,我观察到大容量内存拷贝带宽为3000 MB/s。请参见以下Python代码段:Python 为什么EC2机器上的内存复制速度慢?,python,memory,amazon-ec2,Python,Memory,Amazon Ec2,在我的EC2机器上,内存拷贝似乎惊人地慢。我想找出原因 在大多数计算机上,我观察到大容量内存拷贝带宽为3000 MB/s。请参见以下Python代码段: In [1]: data = b'0' * int(1e8) # 100 MB In [2]: %time len(data[1:]) # memcopy CPU times: user 18.4 ms, sys: 8.62 ms, total: 27.1 ms Wall time: 27.1 ms Out[2]: 99999999
In [1]: data = b'0' * int(1e8) # 100 MB
In [2]: %time len(data[1:]) # memcopy
CPU times: user 18.4 ms, sys: 8.62 ms, total: 27.1 ms
Wall time: 27.1 ms
Out[2]: 99999999
In [3]: 100000000 / 0.027 / 1e6 # MB/s
Out[3]: 3703.703703703704
然而,在EC2上,这种情况发生了显著的变化
In [1]: data = b'0' * int(1e8) # 100 MB
In [2]: %time len(data[1:]) # memcopy
CPU times: user 44 ms, sys: 148 ms, total: 192 ms
Wall time: 192 ms
Out[2]: 99999999
In [3]: 100000000 / 0.192 / 1e6 # MB/s
Out[3]: 520.8333333333333
我以前从未见过memcpy跑得那么慢。可能的原因是什么
安装程序
软件环境基本相同。我在每台机器上运行Ubuntu14.04和带有Python 2.7的Anaconda。硬件是不同的
- 笔记本电脑(Thinkpad w540):Intel(R)Core(TM)i7-4700MQ CPU@2.40GHz
- EC2机器(m4.xlarge):英特尔(R)至强(R)CPU E5-2670 v2@2.50GHz