タグ

ブックマーク / atsuoishimoto.hatenablog.com (3)

  • Pythonのfor文は遅い? - atsuoishimoto's diary

    bicycle1885.hatenablog.com こちらの記事を拝見していて、ちょっと気になったので注釈。 PythonやRを使っている人で、ある程度重い計算をする人達には半ば常識になっていることとして、いわゆる「for文を使ってはいけない。ベクトル化*1しろ。」という助言があります。 これは、PythonやRのようなインタープリター方式の処理系をもつ言語では、極めてfor文が遅いため、C言語やFortranで実装されたベクトル化計算を使うほうが速いという意味です。 昔からよくこういう言い方がよくされるが、当にPythonのfor文は遅いのだろうか。 聞くところによるとRのfor文はガチで遅いそうだが、Pythonの計算が遅いのはインタープリタ方式だからでも、for文が遅いからでもない。もちろん、Pythonはインタープリタなので遅いし、for文だって極めて遅い。しかし、これはPyt

    Pythonのfor文は遅い? - atsuoishimoto's diary
    moriyoshi
    moriyoshi 2018/01/07
    良記事すぎる
  • ダイクストラおばちゃん - atsuoishimoto's diary

    最近、偶然プログラミング初心者に接する機会が続いた。初心者にもいろいろあるが、中でも印象深い女性のことを思い出したので書いておきたい。 大昔、ちょっとした業務改善のシステムを開発することになって、実際にその業務を行っている事務や経理の方々に話を伺ったことがある。 この時お会いした年配の女性が、すさまじいほどのExcelのエキスパートだった。当時のPC環境はまだまだ原始的で、動作も不安定だったが、彼女は独学でExcelマクロを開発し、かなりの業務の自動化に成功していた。 話を聞いてみると、とくにプログラミングの勉強をしたことはなく、を数冊読んだ程度で、あとはExcelのヘルプだけを頼りにマクロを組み上げたらしい。まだインターネットもさほど普及していない時代だ。ほぼ自分の頭だけで考えて、ここまでたどり着いたのだろう。素晴らしい出来栄えだった。 一番驚いたのは、彼女が重要なソフトウェア工学の原

    ダイクストラおばちゃん - atsuoishimoto's diary
    moriyoshi
    moriyoshi 2017/12/25
    最高にダイクストラだった
  • 許されざる悪事 - atsuoishimoto's diary

    djangoの中に、こんな処理がある。 def get_cache(backend_uri): scheme, host, params = parse_backend_uri(backend_uri) … … … return getattr(module, 'CacheClass')(host, params) cache = get_cache(settings.CACHE_BACKEND) (http://code.djangoproject.com/browser/django/trunk/django/core/cache/__init__.py) 私はこの cache = get_cache(settings.CACHE_BACKEND) を許さない。モジュールのグローバルスコープで、他のモジュールの値を参照するという悪行を許すことはできない。 この行は、どこかで impor

    許されざる悪事 - atsuoishimoto's diary
    moriyoshi
    moriyoshi 2011/05/11
    妥協というか、前提を設けてこそのフレームワークなので、そこに突っ込んでも…という気もするけども。
  • 1