Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

タグ

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

タグの絞り込みを解除

クロージャに関するhisasannのブックマーク (4)

  • JavaScript(V8)で避けるべき(だった?)クロージャの使い方 - kazuhoのメモ置き場

    Grokking V8 closures for fun (and profit?) に、ほんの少しだけ触れられている話なんですが。 ごく最近まで V8 には、オブジェクトリテラルの中で関数リテラルを使った場合に非常に遅くなる(というかGCが多発する)問題があった。 たとえば、 function doit() { for (var i = 0; i < 1000; ++i) { for (var j = 0; j < 1000; ++j) { var o = { f: function () { return i + j; } }; } } } doit(); というコードを node-0.6.19 で実行すると、以下のように mark-sweep GC が大量に発生して処理に時間がかかっていることが分かる。 $ time /usr/local/node-0.6.19/bin/node -

    JavaScript(V8)で避けるべき(だった?)クロージャの使い方 - kazuhoのメモ置き場
    hisasann
    hisasann2012/12/19非公開
    「オブジェクトリテラルの中で関数リテラルを使った場合に非常に遅くなる」
    • 高階関数(クロージャ)とメソッド(クラス) - podhmoの日記

      (書いていたら当たり前な感じのことになった。) クロージャとオブジェクト こんな話がある。 クロージャ(閉包)があればオブジェクトは作れる。 クロージャとオブジェクトの機能としての豊かさは等価だ。 オブジェクトは状態を持つ。 あまり厳密な話をする気はないけれど、例えばpythonなどのクラスとクロージャの両方をサポートする言語を使うとき、どちらを使ったら良いか迷うことがあった。 普通にコードを書いている時には一定のガイドラインが頭の中にあるかもしれない。 クロージャもクラスも状態を持つ その状態を利用した機能が1つだけで十分な時にはクロージャを使う。 その状態を利用した機能が複数存在する時にはクラスにすることを考える。 具体的な話。 例えば以下のような感じ。 引数を受け取りその値を状態として保持する。次に適用する時には、保持した状態との和を返す。 そういう機能を持ったものを作りたい。機能は

      高階関数(クロージャ)とメソッド(クラス) - podhmoの日記
      • 第10回 静的スコープと関数クロージャ~関数型言語のインタプリタを書いてみる~

        前回と前々回は,関数型言語MLの一種であるObjective Caml(OCaml)で,単純な独自の命令型言語MyCのインタプリタとコンパイラを実装してみた。MyC言語では,変数はすべてグローバルで,宣言も不要だった。 しかし,グローバル変数だけでは名前の衝突などの問題があり,大きなプログラムを書くことは難しい。そのため,ほとんどの汎用プログラミング言語には,変数の有効範囲(スコープ)を制限する機能がある。例えば,すでに何度も登場しているが,OCamlでは次のような形の式を書くことができる。 このように書くと,式1の値が変数xに置かれる(xが束縛される,という言い方をする)。そのxの値は,式2の中でのみ使うことができる。つまり,xのスコープは式2だけということになる(in以降を省略することもできる。その場合はそれ以降のすべての式がスコープに含まれる)。 ただし,もし式2の中でまた同じ名前の

        第10回 静的スコープと関数クロージャ~関数型言語のインタプリタを書いてみる~
        • naoyaのはてなダイアリー - Perl のクロージャ

          いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ

          naoyaのはてなダイアリー - Perl のクロージャ
          hisasann
          hisasann2009/05/24非公開
          Perlのクロージャは奇妙に面白い
          • 残りのブックマークを読み込んでいます1

          お知らせ

          公式Twitter

          • @HatenaBookmark

            リリース、障害情報などのサービスのお知らせ

          • @hatebu

            最新の人気エントリーの配信

          処理を実行中です

          キーボードショートカット一覧

          j次のブックマーク

          k前のブックマーク

          lあとで読む

          eコメント一覧を開く

          oページを開く

          はてなブックマーク

          公式Twitter

          はてなのサービス

          • App Storeからダウンロード
          • Google Playで手に入れよう
          Copyright © 2005-2025Hatena. All Rights Reserved.
          設定を変更しましたx

          [8]ページ先頭

          ©2009-2025 Movatter.jp