過去の日記

2013-08-06

集合に含まれているか探す [Python]

プロファイラを使うべきだけど横着。

  1. ソート済みのlistを2分探索
  2. ソートされていないlistのin演算子
  3. dictのin演算子
  4. dictのgetメソッド
  5. setのin演算子

を調べた。
dictとsetのin演算子が速い。setの方がいつもちょっとだけ速い。dictを使うのはバッドノウハウで、意図通りのコードになるsetを使うべき。

import bisect
from datetime import datetime
import random


def index(a, x, l):
    """Locate the leftmost value exactly equal to x"""
    i = bisect.bisect_left(a, x)
    return i != l and a[i] == x

if __name__ == '__main__':
    SIZE = 10000
    i = [x * 2 for x in range(SIZE)]

    a = datetime.now()
    for idx in xrange(SIZE * 2):
        if index(i, idx, SIZE):
            pass
    b = datetime.now()
    print b - a

    random.shuffle(i)

    a = datetime.now()
    for idx in xrange(SIZE * 2):
        if idx in i:
            pass
    b = datetime.now()
    print b - a

    d = dict([(x, 1) for x in i])

    a = datetime.now()
    for idx in xrange(SIZE * 2):
        if idx in d:
            pass
    b = datetime.now()
    print b - a

    a = datetime.now()
    for idx in xrange(SIZE * 2):
        if d.get(idx):
            pass
    b = datetime.now()
    print b - a

    s = set(i)

    a = datetime.now()
    for idx in xrange(SIZE * 2):
        if idx in s:
            pass
    b = datetime.now()
    print b - a
0:00:00.022995
0:00:03.421239
0:00:00.002715
0:00:00.005084
0:00:00.002595

というメモ。


2013-08-07

古きものたちの墓 [novel]

そんなにしっかりクトゥルフものを読みこんだわけじゃないけど、「招待」には向かない作品だなぁ、という感じ。
実際には、本邦初訳を待っていた人向けなのではないだろうか。

古きものたちの墓 クトゥルフ神話への招待 (扶桑社ミステリー)

  • 作者: コリン・ウィルソン,ブライアン・ラムレイ,ラムジー・キャンベル
  • 出版社/メーカー: 扶桑社
  • 発売: 2013-06-29
  • ASIN: 4594068367
  • メディア: 文庫
  • amazon.co.jp詳細へ

2013-08-08

リライト [novel]

面白かった。
事態が不穏な方へ傾いていくときの雰囲気とかよかった。
時間ものSFって本当に豊かだなぁ。

リライト (ハヤカワ文庫JA)

  • 作者: 法条 遥
  • 出版社/メーカー: 早川書房
  • 発売: 2013-07-24
  • ASIN: 4150311196
  • メディア: 文庫
  • amazon.co.jp詳細へ

2013-08-12

幻國戦記CROW2 [novel]

五代さんの趣味全開。
でも物語的にはまだエンジンかかってない。伏線とか舞台設定とかが散りばめられただけで終わってる。

幻國戦記CROW2 -夢幻郷に唄う娘- (GA文庫)

  • 作者: 五代 ゆう
  • 出版社/メーカー: SBクリエイティブ
  • 発売: 2013-06-14
  • ASIN: 4797372311
  • メディア: 文庫
  • amazon.co.jp詳細へ

2013-08-24

夏の終わりの花火 [etc]

今年もオートモードでしか取れないデジカメ。




2013-08-28

バイロケーション [novel]

SF風ホラー、ミステリ風味。
自分は残念ながら途中で気づいたのでミステリ風味が邪魔をしてる感じがした。
でもかなり楽しめた!

バイロケーション (角川ホラー文庫)

  • 作者: 法条 遥
  • 出版社/メーカー: 角川書店(角川グループパブリッシング)
  • 発売: 2010-10-23
  • ASIN: 4043943873
  • メディア: 文庫
  • amazon.co.jp詳細へ

2013-08-29

マネーボール [book]

すごく痛快で面白かった。

マネー・ボール〔完全版〕 (ハヤカワ・ノンフィクション文庫)

  • 作者: マイケル・ルイス
  • 出版社/メーカー: 早川書房
  • 発売: 2013-04-10
  • ASIN: 4150503877
  • メディア: 文庫
  • amazon.co.jp詳細へ

金満球団と渡り合うために「他の球団の評価が低い選手たち」の中から、「安くて」「勝てる」選手を選択する必要にせまられた球団のゼネラルマネージャー。
ひどく曖昧で妥当性が薄い尺度で選手を評価し続ける野球界にあって、はたして彼は何をもって選手を評価し、チームを作り、思想を浸透させていったのか。
その様はひどく痛快だ。

"アウトにならない割合"が高い選手が評価できる選手である。
出塁した内容はなんだってもいい。四球でもヒットでも同じなのだ。
極端に言えばシングルヒットでもホームランでもさほど変わりはない。
なぜならとにかくアウトになりさえしなければ——3アウトにならないかぎり——攻撃は続くのだから。

というのが根本のところ。

なぜそう考えるに至ったのか、その源泉はどこにあったのか。
また、その方針でチームを作ったおかげで人生が変わった(あるいは、変えられた)人たちがいる。その人たちが辿った軌跡が描かれている。
一人の男にスポットをあてながらも、半分は群像劇のようでもある。

その様は、凡百の小説を超えている。


あとがきから

メジャーリーグの球団はビジネスではなく、社交クラブなのだから……。ビジネスであれば、効率に秀でたライバルがもし商売の秘訣を打ち明けてくれたら、大喜びだろう。眉唾ものだと感じたにせよ、本を手に取り、中身をのぞいてチェックするはずだ。多少は検討してみるにちがいない。ところが、ベースボールでは違う。ベースボールの世界では、誰もが激怒した。社交クラブにとってこの本は読むに値しないものだった——球団経営者たちは、読んでいないことを繰り返し自慢した。