2009-08-01から1ヶ月間の記事一覧

なぜbzrはhgより遅いのか

(hgの部分をgitに置き換えてもOK) bzrとhgを比較するベンチマークだと、特にcloneにおいてbzrが遅い。 bzrとhgにおける、リポジトリとブランチの扱いの違いについて まず、bzrは色々な使い方に対応できるようにしようとしてリポジトリとブランチと作業ツリー…

TortoiseBZRの新型キャッシュを実装した

bzr

TortoiseBZRはTortoiseSVNの動作を移植しているんだけど、TortoiseSVNが各ディレクトリに管理ディレクトリを作るのに対してbzrは作業ツリーのトップにしか管理ディレクトリを作らないので、TortoiseSVNのキャッシュ構造だとすごい無駄なことをしていた。作業…

Qtの新しいbinding PySide

PySide – Python for Qt RiverbankのPyQt4と別のQt Python binding. Nokiaが出資しているらしい。 PyQt4がGPLなのに対して、LGPLで使えるPython bindingがほしかったけどRiverbankとの交渉がまとまらなかったので新プロジェクトが立ち上がったらしい。 まだ…

s.decode('utf8') よりも unicode(s, 'utf-8') の方が速い

http://groups.google.com/group/comp.lang.python/browse_thread/thread/314a3043ea63319f/ unicode vs s.decode unicodeはLOAD_GLOBALで、s.decodeはLOAD_ATTRでスタックに積まれる。で、LOAD_GLOBALの方が速い。 さらに言えば、何度もデコードを行うので…

KeePass 2.08 がリリースされてた

KeePass 2.08 がいつの間にかリリースされていて、しかもとうとう2系が安定版になっていた。 おもしろいのが、2系は.NETになってmonoにも対応しているところ。今までは KeePass 1系をWindowsで、 KeePassXをLinuxで使っていたけど、統合できそう。

TortoiseBZRのWindows2000対応

bzr

TortoiseBZRのコンテキストメニューがWindows 2000環境で上手く動かないという報告があった。 TortoiseSVNの中身を見てみると、Windows 2000でコンテキストメニューにアイコンを表示しないようにしてあった。Windows 2000には何か問題があるらしい。 Tortois…

Addメニュー

bzr

TortoiseBZRでAddメニューを出すには、バージョン管理されていないファイルがあるディレクトリでコンテキストメニューを表示すれば良かった。 バージョン管理されていないファイルを選択して右クリックしても "add" メニューが出なかったので、出るようにし…

bytearray の罠

mutableなクセにメソッドはstrと同じくout-placeという中途半端なbytearray. strとの違いは変更が可能 In [4]: ba = bytearray('foo') In [5]: ba[1] = 'O' In [6]: ba Out[6]: bytearray(b'fOo') というだけだと思っていたのだが、実はこんな所にも変更が I…

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。