タグ

selfに関するgfxのブックマーク (11)

  • Devel::NYTProfのインストールから結果表示までmemo - dev.log

    先日勉強会で id:gfx 先生からプロファイラ(性能解析ツール)の紹介があったので忘れないようにメモしておく。 ちなみにプロファイラってなんじゃ?状態だったので調べると 動作中のプログラムがどの処理をどういった順序で実行したかを監視するプログラム。コンパイラやデバッガなどと共に、プログラミング言語の開発環境の一部として提供されることが多い。 例えば、プログラムはまずAという関数を呼び出し、次いでBの計算を実行し…というように、逐一記録が残される。それぞれの処理にかかった時間などを監視できるものもある。 ユーザはこうした記録を分析することで、プログラムが自分の意図通りに動作しているか、またプログラムのどの部分がボトルネックとなって処理に時間がかかっているのか、などを知ることができる。 プログラムの障害を見つけるために用いられるよりも、プログラムの余計な部分を削るなどして高速化するために用い

    Devel::NYTProfのインストールから結果表示までmemo - dev.log
  • perl Makefile.PL | cpanm # for devel requires - Islands in the byte stream (legacy)

    Makefile.PL自身のためのモジュールをどう管理するかが結構面倒なわけです。M::IのプラグインでいえばModule::Install::AuthorRequiresがあるのですが、これは単にインストールされていないモジュールを報告するだけで、結局インストールは手作業で行わなければならない。 これについては過去に考えたこともあります。 Install developper's prerequisites with cpanm - Islands in the byte stream しかし上記の方法では結局二度手間なので気に入らないんですよね。 そこで今日思いついたのが以下の方法。Makefile.PLに記述します。これなら一ファイルですみますし、モジュール名の入力は一度だけですから管理の手間もかかりません。しかも、一度Makefile.PLを実行してエラーになったら`perl Ma

    perl Makefile.PL | cpanm # for devel requires - Islands in the byte stream (legacy)
    gfx
    gfx 2010/11/01
    @lestrrat こんな方法いかがでしょうか!
  • Web+DB Vol.59にXslateの記事を書きました - Islands in the byte stream

    2010年10月25日 Web+DB Vol.59にXslateの記事を書きました Web+DB PRESS Vol.59にXslateの記事を書きました。Xslateをまったく知らなくても、この記事だけで一通り使えるようになるように構成したつもりです。ぜひご感想をお聞かせください。 紹介 - Software Design 2010年11月号/WEB+DB Press Vol. 59 で弾さんにもご紹介いただきました。 Perl Mongerとしては、id:gfxText::Xslateの記事にも注目。きれいだろ…。テンプレートなんだぜ。ほんとここまで来ると「ただの」テンプレートにしておくのは惜しい感じ。 ありがとうございます ;) せっかく一から設計するのだからと完全に自分好みの言語にしましたが、きれいといっていただいて光栄です。Xslateは言語としては非常に小さな仕様ですが、その

    gfx
    gfx 2010/10/25
  • Mouse will become as strict as Moose - Islands in the byte stream (legacy)

    Mouse 0.51からエラーチェックをMooseと同じくらい厳しくする予定です。具体的には,以下の場面で警告や致命的エラーを出します。 has()に未知のオプションが渡されたとき警告 おそらく綴りミスであるため has()によってアクセサが生成されず,かつ is => 'bare' も指定されていないとき警告 isの指定し忘れと見なす has()にisaとdoesを両方指定して,$isa->does($does)が偽のとき致命的エラー 内部実装の都合上,型制約は一つしか持てないため,一貫性を保たなければならない これらはいずれもMooseと互換性があるため,Any::Mooseを使っている場合には特に問題はないかと思います。 またstrict constructorも導入しますが,これはMooseにも提案する予定です。 これらの変更の結果,MouseはMooseと同じくらい厳しくエラーチ

    Mouse will become as strict as Moose - Islands in the byte stream (legacy)
    gfx
    gfx 2010/02/22
    Mouseのエラーチェックを厳しくした件。難点は警告内容が異常に見にくいこと。このへん何とかしてから正規リリースにしたいな。
  • ホットスポットを最適化する - Islands in the byte stream (legacy)

    最適化するのに相応しいサブルーチンのみ最適化できるように,optimizer::hotspotというモジュールを考えてみた。まだCPANクオリティではないのでgithubのみ。 http://github.com/gfx/Perl-optimizer-hotspot 仕組みとしては,PL_peeppをフックして,生成されるサブルーチンの頭にホットスポット計測のためのopcode*1を仕込み,そのopcodeが一定数呼ばれると,最適化器*2を起動するというものだ。 最適化の基は,いまのところ特定パターンをもつ構文木を高速な一つのノードに置き換えるというもの。少し実装してみたところ,以下のような結果となった。 benchmarks/arbit.pl # 's' represents 'single-threaded' $ sperl -Mblib benchmarks/arbit.pl Pe

    ホットスポットを最適化する - Islands in the byte stream (legacy)
    gfx
    gfx 2010/02/07
    Perlを最大63%最適化した!
  • jpapress002_2009dec-1

    gfx
    gfx 2009/12/15
  • oinume journal

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    oinume journal
    gfx
    gfx 2009/11/21
    環境によってはHT::Proに負ける。うーん,惜しい。
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • にひりずむ::しんぷる - 清く正しいゴミフェーズ

    An implementation of Devel::GlobalDestruction in pure Perl - use GFx::WebLog; perlobj.podから use strict; use warnings; package Subtle; sub new { my $test; $test = \$test; warn "CREATING " . \$test; return bless \$test; } sub DESTROY { my $self = shift; warn "DESTROYING $self"; } package main; warn "starting program"; { my $a = Subtle->new; my $b = Subtle->new; $$a = 0; # break selfref warn "leaving

    gfx
    gfx 2009/11/17
  • はてなブログ | 無料ブログを作成しよう

    週報 2024/04/28 川はただ流れている 4/20(土) 初期値依存性 さいきん土曜日は寝てばかり。平日で何か消耗しているらしい。やったことと言えば庭いじりと読書くらい。 ベランダの大改造をした。 サンドイッチ 一年前に引っ越してからこんな配置だったのだけど、さいきん鉢を増やしたら洗濯担当大臣の氏…

    はてなブログ | 無料ブログを作成しよう
    gfx
    gfx 2009/11/09
  • Mooseの為か、そうでないのか | taro-nishinoの日記 | スラド

    私がMooseに関して、そのロード時間を無理矢理無視しているかのように知人から言われました。私は決してMoose信奉者ではありません。現実にはMooseとの併用を考慮して、Mouseまたは Any::Mooseを使う方が最近は多いのです。ましてや、私は実際Mouseに高い評価を与えました(因みに、Mouseの作者がメンテナから降りた時に、私が高いレートを付けた手前、身辺から私は槍玉に上げられました。そこへ、親愛なる藤吾郎氏がメンテナに着任してくださり当に安心しました)。Jonathan Rockway氏の″何故、私はPerlを続けるのか″にある言葉ではありませんが、エンジニアリングはすべてトレードオフの集まりだと思います。下辺にいる私以上にPerlに未熟な人達が各々自家製クラス生成を作り出す方がよっぽど恐ろしいです。 また、Dave Cross氏の″Mooseを使うか使わないか″に端を発

  • 1