タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Pythonとmemoryとperformanceに関するraimon49のブックマーク (6)

  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

    PHPPythonRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 稿では3言語の連想配列の従来実

    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
  • python自習テキスト [kirinwiki]

    このコンテンツを更新しなくなって久しく、さらにレンタルサーバーのPHPもずっと古いバージョンを使うわけにいかず、従来のdocuwikiを使うのをやめました。全ての内容を静的なHTMLにするのが割と手間なため、手抜きとして、ここの表紙以外をPDFに直してしまいました。これで保存します。python2用なので利用価値もすでに少ないですけどね。 っていうか、実際は動物さんイラスト集サイト。pythonの話はオマケ。 スクリプトが書けると、多分どっかで何かの役に立ちます。決まりきった仕事をチマチマと手作業でやるような場面で、スクリプトを上手に書けると劇的に楽になったりすることもあります。筆者自身がそういう経験を持っているので、他にも同じようなことができる人が現れてほしい。こういった動機で、習得用のテキストをポチポチと書き続けています。 興味はある(or 必要に迫られている)んだけど、当に何も知ら

    raimon49
    raimon49 2018/11/17
    yield文について、ティッシュを1枚ずつ取り出すのと束で取り出すメタファーでリソース効率を、バケツリレーのメタファーでコルーチンを解説。
  • ソシャゲエンジニアの自分がコードレビュー時に重視する箇所33選 【随時追加】 - Qiita

    コードレビューで土日に安寧を ソーシャルゲームは、ユーザアクセス集中と、それに伴うユーザデータ増加によって劇的に負荷が上がり、(主に土日に)サービスに影響を与えがちです。 問題があるコードは、たとえ負荷テストを行っても、作成したシナリオによっては見つけられない可能性もあります。 そういった見えない不安を払拭するという意味でも、コードレビューは重要だと思っています。 【ステキポイント】 ・ ソースを見ることにより、時限爆弾が土日に爆発するのを解除 ・ スキル共有によってメンバーがレベルアップすることにより、土日に爆発する時限爆弾の設置確率低下 まぁまとめると これに尽きます(4歳の息子談) 今は、gitのプルリクエストという強力なレビューツールもあり、敷居がかなり低くなったのでオススメです! チェックするポイントは5つ コードレビューを行うにあたり、*「どんなところをチェックすればいいのか分

    ソシャゲエンジニアの自分がコードレビュー時に重視する箇所33選 【随時追加】 - Qiita
    raimon49
    raimon49 2016/04/08
    いずれも妥当だし、こういう風に自分が何に着目してレビューしてるか言語化できるスキルって大事。見習いたい。
  • 最も重要なプロダクション・コードにLuaを使う : PythonからLuaへの移行 | POSTD

    Distelli Agentは今、実行ファイルを1つダウンロードするだけで簡単にインストールできます。この実行ファイルを使うと、適切な管理プロセスを持つエージェントをインストールしたり、新規にリリースしたものをアップロードしたりできるようになります。また、このエージェントはプラットフォームを問わず利用可能で、わずかな容量のCPUやメモリフットプリント(1パーセント未満のCPU使用率、10メガバイト以下のメモリ)で動作します。 私たちは、上記のパフォーマンスをある程度信用した上で、PythonからLuaに移行することにしました。 Pythonで挑む 私がDistelliに入社したのは、2014年の12月のことです。当時、Distelli Agentやコマンドラインツールは、システムで標準となっているバージョンのPython(サポートバージョンは2.4から2.7)を使う数個のターボールとして実

    最も重要なプロダクション・コードにLuaを使う : PythonからLuaへの移行 | POSTD
  • Pythonで__slots__を使ってメモリを節約 - 西尾泰和のはてなダイアリー

    先日こんな実験をして、大量のオブジェクトを作った時にはそのオブジェクトが持っている__dict__の1048バイトが無視できなくなってくることを確認した: Pythonでメモリ消費量のプロファイルを取る 今日はその解決編。先日のコードに1行書き足してみよう。__slots__で始まる行がそれだ。 from guppy import hpy h = hpy() N = 100000 class Hoge(object): __slots__ = ['x', 'y', 'z', 'a', 'b', 'c'] def __init__(self): self.x = 1 self.y = 1 self.z = 1 self.a = 1 self.b = 1 self.c = 1 x = [Hoge() for x in range(N)] print h.heap() これによって、変更前ではH

    Pythonで__slots__を使ってメモリを節約 - 西尾泰和のはてなダイアリー
    raimon49
    raimon49 2012/10/21
    暗黙の辞書が__slots__になるだけで全然違う
  • より良いPythonとして歩みを始めたPython 3.3 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python 3を「使わない」理由というのが実はいくつかある。 たとえば対応しているフレームワークとかモジュールが少ないとか,そもそも2との互換性が崩れてるとか。対応モジュールやフレームワークはかなり増えてきたし,Python 3の情報もそこそこ出そろってきた。3.0がリリースされて4年弱経ち,この2点は大きく改善され,今ではあまり気にする必要はなくなっていると思う。 3を使わない理由が実はもう一つ「あった」。そしてこれは,個人的に最も気になっていたことなんだけど,Python 3は,2に比べてメモリ消費量が多くなっている。一番大きな原因は,str型(文字列型)がユニコードベースになっ

  • 1