PyPy

2017年8月10日 - 未分類

Pythonを高速化するPyPyをRaspberryPi3にインストールしてみました。ここを参照しました。

インストール方法
wget https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.8.0-linux-armhf-raspbian.tar.bz2 -O pypy2-v5.8.0-linux-armhf-raspbian.tar.bz2

tar -jxvf pypy2-v5.8.0-linux-armhf-raspbian.tar.bz2

cd pypy2-v5.8.0-linux-armhf-raspbian/

sudo rm /usr/bin/pypy

sudo ln -s bin/pypy /usr/bin/pypy

pypy -V

Python 2.7.13 (c925e7381036, Jun 05 2017, 20:54:35)
[PyPy 5.8.0 with GCC 4.7.2 20120731 (prerelease)]

pypy setup.py install

cd

sudo pypy -c ‘import numpy’

ソースコード

import time

Time = 10
N = 10000000

def list_append():
	for i in xrange(Time):
		array = []
		for j in xrange(N):
			array.append(1)

def list_extend():
	for i in xrange(Time):
		array = []
		for j in xrange(N):
			array.extend([1])

def list_extend_list():
	for i in xrange(Time):
		array = []
		array.extend(range(N))

def list_intend():
	for i in xrange(Time):
		[1 for i in xrange(N)]

if __name__ == '__main__':
	array= [list_append,list_extend,list_extend_list,list_intend]
	time.time()
	for function in array:
		clock = time.time()
		function()
		print (time.time() - clock) / Time


実行結果

python2.7 pypy
list_append 11.082302999 1.81932659149
list_extend 21.6563467026 2.52540261745
list_extend_list 2.01237900257 1.95026397705e-05
list_intend 4.27665119171 0.689387488365

結構、高速化されていますね。でも、import cv2でダメでした。importでエラーがでて動作しない。

Translate »