Python 学習:処理時間測定(ほんの一部)

2014-05-10 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
2、3、2、0、0、 1、1、0、0、0(39)で、換算ポイント 58pt 。
「Firefox」今、6位にダウン。
・-・ - -・

さて、本文。

このところ、
Python 学習:Perl より遅い?
とか、
Python 学習:PIL Image to Numpy array(recipe-577591)
と云った、
条件が異なる“比較ではない比較?”を行っている。


今回は、単純に(?) Python 処理系について、
(ほんの一部の)文/関数の処理時間を測定してみた。

マシンについては、
2年前(2012-06-03)の記事:
移行途中ですが
で書いた、現行マシン。
  CPU・・・Core i5 3550
  メモリ・・・4GB×2枚
  HDD・・・2TB×1台( + 1TB×1台 )
  グラフィックボードはオンボード
そして、OSは、
  Windows 7 Home Premium with SP1 64ビット版

Python は、2ヶ月前(2014-03-23)の記事:
WinPython で決着
で書いた如く、
  WinPython 2.7.6.3 の 64 ビット版
で本マシンに Regist したもの。

時間計測精度は「Python 学習:Perl より遅い?
で書いたものと同じ“ミリ秒”単位。

まずは、基本として、

import time
sTime = int( time.time() * 1000 ) # ミリ秒単位の整数化
for i in xrange(1000000): # 100万回をベース
pass
eTime = int( time.time() * 1000 ) # =========



で測った。(3回ほどの平均値?)
これで、
○ 31ミリ秒。

以下、'pass' の部分を置き換えて、・・・・・


○ 空('pass'だけ)の関数呼び出し:109ミリ秒

○ a = [0]*1000000 とし、a[i]=i :109ミリ秒(リストは速い?)

  import numpy as np
  a = np.zeros( 1000000, np.int32 )
  としたら、
○ a[i] = i            :156ミリ秒(アレイは遅い?)

  import struct
  a = [0]*1000000; v = ''
○ v += struct.pack( 'B', a[i] ) :405ミリ秒
○ v += struct.pack( 'L', a[i] ) :967ミリ秒

  import struct
  import numpy as np
  a = np.zeros( 1000000, np.int32 ); v = ''
  としたら、
○ v += struct.pack( 'B', a[i] ) :515ミリ秒
○ v += struct.pack( 'L', a[i] ) :1,100ミリ秒


補足:

以上、WinPython 64 ビット版だったが、
Active Python 64 ビット版だと、5%強遅いかも?

また、同じ WinPython でも 32 ビット版だと、
Active Python 64 ビット版と同じか気持ち遅そう?


本日はここまで。
更に Python 学習は続く。



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


140312
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク