2009年3月13日金曜日

Python Code Reading 08 懇親会で見聞き・思いついたネタ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

  • memoryの消費をprofileする機能。速度に関するprofileはあるけど。思いつく実装のidea。
    • gcまわりからたどる。PyObjectのヘッダを覗き見れば、物がなんだかわかりそう。weakrefを読んだついでに読んでしまうか。

      そんなにがんばる必要は無かった。module gcを使えばよさそう。あとはおのおののobjectのサイズをとって集計してあげないとね。

      get_objects( )
      現在、追跡しているオブジェクトのリストを返します。このリストには、戻り値のリスト自身は含まれていません。 バージョン 2.2 で 新たに追加 された仕様です。

      ただipythonを立ち上げてimport gcしただけでもこれだけobjectがある。もちろん環境による違いはあるだろうが。

      In [3]: len(gc.get_objects())
      Out[3]: 16033

      こんなにいろいろしているのに、電卓代わりとか、reference代わりだと富豪どころか大富豪だね。アラブの石油王なみだ。

    • newとdeleteを全部フックして拾う。覚えておくが大変そう。動的に大きさが変わると困るなぁ。


  • packageを作って配布する関係
    • monoを使ったmultiplatform GUIアプリ開発。gnomeではひとつの選択肢らしい

    • py2exe, py2install etcなどsigle binaryの生成、いつ使うのか。使うべきでないときは?受け取り手が開発者なのか、unix userなのか、windows userなのかおばあちゃんなのか?

    • bad know howが多いのでまとめるといいかもしれない。

    • ports + rpmみたいなもの無いかなぁ。

      • 開発者個人で使うならports

      • サーバファームや山盛りの端末を管理するならbinaryでcompileのいらないrpmか?、でもconfigurationを変えたい

      • 自前のpackageが楽に作りたい

      • テストするときにはsource treeからcleanにpackageしたい




0 件のコメント: