タグ

ブックマーク / shinh.hatenablog.com (6)

  • select の semantics - 兼雑記

    なんか要は select で write 待ちしてる時に、帰ってきた file descriptor に何バイトまで書けるか、という話。 http://shinh.skr.jp/m/?date=20081008#p01 のへんに適当にはったりしたリンクによると、ポータビリティ考えるなら非同期使え、ってのが明らかに正しいぽい。 POSIX なんかを見てみると、 http://www.opengroup.org/onlinepubs/009695399/functions/select.html If a descriptor refers to a socket, the implied output function is the sendmsg() function supplying an amount of normal data equal to the current value

    select の semantics - 兼雑記
    hchbaw
    hchbaw 2008/10/10
  • Rubyで実装し直したFixnum#timesの方が速い

    http://d.hatena.ne.jp/Gimite/20080802/1217647596 でちょっと思い出した、前からやってみたかった実験をやってみたらだいたい思った通りな感じだった。 class Fixnum def times i = 0 s = self while i < s yield i i += 1 end end end s = 0 1000000.times{|i| s+=i } p s みたいなコードを書くわけです。ご存知の通り、 Ruby の Fixnum#times は C 言語で実装されてます。それを Ruby で実装しなおしたら当然遅くなります。ホント時間のムダです。実はそうでもないんです。 > time ruby1.9 bench.rb 499999500000 ruby1.9 bench.rb 0.10s user 0.00s system 91%

    Rubyで実装し直したFixnum#timesの方が速い
    hchbaw
    hchbaw 2008/08/18
  • 2008-05-12

    http://cappuccino.jp/scala-ja/?Scala%CA%D9%B6%AF%B2%F1%A1%F7%B4%D8%C5%EC-1 いくつか印象に残ったことを。以下なんか勘違いもあるかも。 Scala も Nemerle も研究畑な感じらしい。 意外だった。研究者ってのは関数型言語だけだと思ってた。あるいは Smalltalk 。 後置制御構文の追加 これはすごいなーと思った。任意の式からその式を封じ込めたオブジェクトへの暗黙の変換を定義することによって、その式が実行される前に型変換を行わせることができるらしい。でも暗黙の変換は変換無しですむ場合は常に変換しないので、その式を実行した結果の型にその後置制御構文と同名のメソッドがあったらダメっぽい。 class When(any: => Any) { def when(b: Boolean) = if (b) any } i

    2008-05-12
    hchbaw
    hchbaw 2008/06/12
  • zsh の rehash が面倒だという話 - 兼雑記

    なんか shell function だの alias だのはこう、ああこれいらないなーと思った時に既に適用してしまった shell に対して unfunction だの unalias だのをするか、それとも zsh を再起動しなければならない、といったような理由であまり好きではないです。で、基的に ~/bin の下にどんどこつっこみます。 そのスタイルでやってて問題になるのは新しい実行ファイルを突っ込んだ時に必要になる rehash とかいうコマンドです。 bash とかは勝手に調べてくれるのに…! とか思いますが、 NFS とかそういう環境では前もって調べておいてくれているのは悪いことではないので怒らないことにします。 でもまぁ rehash とかタイプするのは面倒だなぁと考えていて、 ^L で画面を消去した時に同時に rehash してくれるくらいが丁度いい粒度じゃないかなぁと思

    zsh の rehash が面倒だという話 - 兼雑記
    hchbaw
    hchbaw 2008/04/25
  • Continuation Fest - 兼雑記

    最初の方と最後の方に興味があったので、すが、まぁ順当に寝坊したので最後の方だけ聞きに行きました。 CbC の話は順当に面白かった…というか話者の方が面白くて順当以上に面白かったです。行って良かった。 C 言語って上から下までなんでも作れるっていうけど、プログラム言語作るにはどうもちょっともの足りないよね、という人は見てみるといいんじゃないかなぁと思いました。 GCC についてるってのは普通に良さそうだなぁ。 TODO: CbC をちゃんと見る。 ささださんはまぁ知ったような聞いたような話をしていたように思う。 でまぁ適当にアウェーのまんま呑み会とか行った。 なんか前に外人さんが座っててしょぼしょぼ英語とかで話を聞いた。なんかコンパイラの実装に continuation 使ってコンパイラをパーツにバラすってのが割とあるジャンルなんだぜとかなんとか。それ当に実用的な速度で実用的な最適化つきで

    Continuation Fest - 兼雑記
  • fiber 話を少しまとめてみる - 兼雑記

    いろんなお話を聞いて、散逸させてしまうのはチト惜しい。 並べる適切な順序が思い付かないのであいうえお順 ABA さんとこから Fiber in Tonyu (http://d.hatena.ne.jp/ABA/20031212#p2) Fiber in Python and yaneSDK3rd (http://d.hatena.ne.jp/ABA/20031214#p1) Fiber in D (http://d.hatena.ne.jp/ABA/20031215#p1) kizz さんとこから 答えを探して (http://d.hatena.ne.jp/kizz/20031213#p1) ^C さんとこから fiber (http://www.radiumsoftware.com/0210.html#021016) gony さんとこから 似非マイクロスレッド実装記 (http://g

    fiber 話を少しまとめてみる - 兼雑記
    hchbaw
    hchbaw 2007/05/28
  • 1