ゲーム共通で使えるAIコンポーネントを抽出し、common/ai.rb にまとめてある。*1
局面複製のためのオブジェクトDeep Copyに関する調査
単位(sec)
| # | w/o Marshal | w/ Marshal | 
| 1 | 95 | 96 | 
| 2 | 93 | 99 | 
| 3 | 92 | 90 | 
| 4 | 93 | 91 | 
| 5 | 95 | 91 | 
| 平均 | 93.6 | 93.4 | 
| 標準偏差 | 1.3 | 3.9 | 
単位(sec)
| # | w/o Marshal | w/ Marshal | 
| 1 | 70 | 74 | 
| 2 | 73 | 72 | 
| 3 | 74 | 71 | 
| 4 | 75 | 72 | 
| 5 | 70 | 77 | 
| 平均 | 72.4 | 73.2 | 
| 標準偏差 | 2.3 | 2.4 | 
単位(sec)
| # | nonthread | thread | ||||||
| 1 | 87 | 99 | 61 | 42 | 106 | 106 | 79 | 100 | 
| 289 | 391 | |||||||
| 2 | 85 | 99 | 60 | 42 | 106 | 103 | 77 | 90 | 
| 286 | 377 | |||||||
| 3 | 85 | 78 | 62 | 70 | 103 | 105 | 78 | 89 | 
| 295 | 375 | |||||||
| 4 | 85 | 99 | 61 | 42 | 101 | 131 | 76 | 61 | 
| 287 | 369 | |||||||
| 平均 | 289.3 | 378.0 | ||||||
| 標準偏差 | 4.0 | 9.3 | ||||||
単位(sec)
| # | nonthread | thread | ||||||
| 1 | 42 | 37 | 28 | 32 | 52 | 48 | 33 | 36 | 
| 139 | 169 | |||||||
| 2 | 42 | 46 | 28 | 20 | 52 | 45 | 34 | 38 | 
| 136 | 169 | |||||||
| 3 | 42 | 37 | 28 | 33 | 52 | 56 | 33 | 22 | 
| 140 | 163 | |||||||
| 4 | 42 | 36 | 29 | 32 | 52 | 57 | 33 | 22 | 
| 139 | 164 | |||||||
| 平均 | 138.5 | 166.3 | ||||||
| 標準偏差 | 1.7 | 3.2 | ||||||
単位(sec)
| # | 1.8 | 1.9 | 
| 1 | 57 | 38 | 
| 2 | 56 | 39 | 
| 3 | 57 | 38 | 
| 4 | 57 | 38 | 
| 5 | 58 | 38 | 
| 平均 | 57 | 38.2 | 
| 標準偏差 | 0.71 | 0.45 | 
Active Recordを使うようにプログラムの修正をおこなっているため、 既に測定した環境でのテストも、再度計測した。
Ruby1.9ではActiveRecord版が動作しない。
単位(sec)
| # | 1.8 | JRuby | 
| 1 | 595 | 332 | 
| 2 | 537 | 327 | 
| 3 | 553 | 338 | 
| 4 | 533 | 338 | 
| 5 | 552 | 339 | 
| 平均 | 554 | 334.8 | 
| 標準偏差 | 24.58 | 5.17 | 
| 性能比 | 1.00 | 0.604 | 
性能比は、環境1 Ruby1.8 Single-Threadを1として...数値が小さいほど高速
単位(sec)
| # | 1.8 | 1.9 | JRuby | 
| 1 | 339 | 179 | 152 | 
| 2 | 339 | 174 | 151 | 
| 3 | 338 | 173 | 156 | 
| 4 | 338 | 179 | 156 | 
| 5 | 328 | 175 | 155 | 
| 平均 | 336.4 | 176 | 153.75 | 
| 標準偏差 | 4.72 | 2.83 | 2.63 | 
| 性能比 | 0.607 | 0.318 | 0.278 | 
性能比は、環境1 Ruby1.8 Single-Threadを1として...数値が小さいほど高速
Active Recordを使うようにプログラムの修正をおこなっているため、 既に測定した環境でのテストも、再度計測した。
Ruby1.9ではActiveRecord版が動作しない。
単位(sec)
| # | 1.8 | JRuby | 
| 1 | 640 | 248 | 
| 2 | 634 | 253 | 
| 3 | 653 | 251 | 
| 4 | 656 | 244 | 
| 5 | 658 | 255 | 
| 平均 | 648.2 | 250.2 | 
| 標準偏差 | 10.59 | 4.32 | 
| 性能比 | 1.170 | 0.452 | 
性能比は、環境1 Ruby1.8 Single-Threadを1として...数値が小さいほど高速
単位(sec)
| # | 1.8 | 1.9 | JRuby | 
| 1 | 480 | 199 | 93 | 
| 2 | 483 | 200 | 93 | 
| 3 | 494 | 200 | 91 | 
| 4 | 495 | 202 | 101 | 
| 5 | 497 | 208 | 100 | 
| 平均 | 489.8 | 201.8 | 95.6 | 
| 標準偏差 | 7.73 | 3.63 | 4.56 | 
| 性能比 | 0.884 | 0.364 | 0.173 | 
性能比は、環境1 Ruby1.8 Single-Threadを1として...数値が小さいほど高速
性能対比。比較は、処理時間による性能比。
| 環境 | Single 1.8 (2) | Single 1.9 (2) | Single J (2) | Multi 1.8 (2) | Multi 1.9 (2) | Multi J (2) | 
| 結果(sec) | 336.4 | 176.0 | 154.0 | 489.8 | 201.8 | 95.6 | 
| Single 1.8 (2) | 1.000 | 0.523 | 0.458 | 1.456 | 0.600 | 0.284 | 
| Single 1.9 (2) | 1.911 | 1.000 | 0.875 | 2.783 | 1.147 | 0.543 | 
| Single J (2) | 2.184 | 1.143 | 1.000 | 3.181 | 1.310 | 0.621 | 
| Multi 1.8 (2) | 0.687 | 0.359 | 0.314 | 1.000 | 0.412 | 0.195 | 
| Multi 1.9 (2) | 1.667 | 0.872 | 0.763 | 2.427 | 1.000 | 0.474 | 
| Multi J (2) | 3.519 | 1.841 | 1.611 | 5.123 | 2.111 | 1.000 | 
| real | user | sys | |
| Single 1.8 (2) | 140.863 | 047.189 | 053.553 | 
| Single 1.9 (2) | 055.651 | 055.541 | 000.049 | 
| Single J (2) | 052.475 | 058.730 | 000.317 | 
| Multi 1.8 (2) | 231.588 | 132.856 | 058.655 | 
| Multi 1.9 (2) | 010.553 | 010.451 | 000.075 | 
| Multi J (2) | 034.570 | 015.846 | 000.594 | 
URLLoaderは、デフォルトでは、30secでタイムアウト。 URLLoaderWithTimeoutクラスを使うことでデフォルト120secに指定。
ただし、Flashplayerのバージョン、環境によってTimeout値が異なることがある。
以下、開発者専用のページです