1. 開発機をWindowsをホストに、Ubuntuをゲストにしようかと検討中

    現在メインの開発機ではWindowsとUbuntuをデュアルブートにしています。開発はもっぱらUbuntu上で行っており、Windowsはゲームのためにインストールしてあります。

    Ubuntuで開発しているのは主にWebアプリケーションであるため、高いグラフィックス性能は必要ありません。そのため デュアルブートを止めWindows上で仮想マシンとしてUbuntuを動かし開発することができないかと考え始めました。

    続きを読む

  2. PyPy-STMを試す

    PyPy-STMというPython実装がリリースされていたことを知ったので調べてみました。

    PyPy-STMとは <http://doc.pypy.org/en/latest/stm.html#software-transactional-memory>

    a special in-development version of PyPy which can run multiple independent CPU-hungry threads in the same process in parallel. It is a solution to what is known in the Python world as the “global interpreter lock (GIL)” problem — it is an implementation of Python without the GIL.

    参考訳(私の翻訳なので、正確ではありません)

    複数の独立したCPUバウンドのスレッドを同じプロセスで並行して走らせることができる、特別な開発中のPyPyのバージョンです。これはPython界で「グローバルインタプリタロック(GIL)」として知られる問題を解決する — GILなしのPython実装です。

    これまで、Pythonでマルチコアを活かすには、 multiprocessing モジュール等を使用する必要がありましたが、PyPy-STMなら、 threading だけでマルチコアを活かすことができるようです。

    続きを読む

  3. PyPyとCPythonでPyramidをベンチマーク

    今回使用するPyPyは2.4.0、CPythonは3.5.0、Pyramidは1.5.7です。

    % python --version
    Python 3.2.5 (b2091e973da6, Oct 19 2014, 18:29:55)
    [PyPy 2.4.0 with GCC 4.6.3]
    
    % python --version
    Python 3.5.0
    
    % pip freeze | grep pyramid==
    pyramid==1.5.7
    

    Pyramidは pcreate -s starter で出力されたものを使用します。

    % pcreate -s starter example
    % cd example
    % python setup.py develop
    % pserve production.ini
    

    それをPyPyとCPythonで順に起動し、boomを使ってベンチマークします。

    % boom http://localhost:6543 -c 10 -n 1000
    

    以下結果です。

    続きを読む

  4. GitHubの月間トレンドになっているプロジェクトのインデントを調べる

    GitHubの 月間トレンドリポジトリ の言語別上位10リポジトリのインデント方法を調べました。リポジトリが内包している外部ライブラリのソースコードではなく、リポジトリ自身のソースコードについて調べています。スペースでのインデントとタブでのインデントが混在している可能性もありますが、ソースコードから適当に該当プログラミング言語のファイルを選択し、その最初のインデントが何であるのかを記載しています。また、ソースコードが見つけられなかったものや、例えばPHPでHTML内に埋め込まれている場合はスキップしました。

    対象はTrending repositoriesページのサイドパネルに表示されていたC、CSS、Java、JavaScript、PHP、Python、Rubyです。サイドパネルに表示されている言語は、ログインしているアカウントの情報によって変わるようなので、ブラウザのプライベートモードを使用しました。

    続きを読む

2015 - 2017 (c) 成瀬基樹