タグ

ブックマーク / kwatch.hatenadiary.org (11)

  • スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記

    大変たいへん興味深い記事。全プログラマーにとって。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました ...(snip)... HDDは200スレッドで性能が頭打ちなのに対し、SSDは200スレッドから300スレッドになってもまだ性能は上昇。ただし、300スレッド時にはCPU利用率が100%に近づいており、先にCPU性能の方がボトルネックとなってしまったようです。 HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験 - Publickey 動的なスクリプト言語 (RubyPython など) と静的なコンパイル型言語 (C++Java など) では、だいたい 5 倍から 10 倍ぐらいの速度差がある。それでもスクリ

    スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記
  • 続: Python での組み込み型をより自然な名前にする - kなんとかの日記

    なんかしらんけど、前のエントリはPythonistaをたいへん刺激してしまったようだ。べつにもとの名前を使えなくするわけじゃなく、単にエイリアスを追加するだけなのに! そこで、Pythonistaのお怒りを沈静化するべく、__builtins__を汚染しないように改造してみた。 ## utypes.py __all__ = ( 'Str', 'List', 'Dict', 'Tuple', 'Set', 'Object', 'Type', 'Int', 'Long', 'Float', 'Complex', 'Bool', 'Unicode', 'File', ) Str = str List = list Dict = dict Tuple = tuple Set = set Object = object Type = type Int = int Long = long Float

    続: Python での組み込み型をより自然な名前にする - kなんとかの日記
  • Pythonistaはtypedefすら拒絶する? (Re: Python での組み込み型をより自然な名前にする) - kなんとかの日記

    反論のためにこんな極端な例を出すほうがおかしい。 以下、エキスパート C プログラミングより引用。ちょっと極端過ぎる例だけど、言語独自の慣習・標準などを無視することの一つの到達点がこれだ。 「CはAlgolではない」 1970年台の後半、ベル研でUNIX Version 7用のシェルを開発する際に、Steve Bourneはプリプロセッサの機能を使って、CをAlgol-68風に使おうとした。 (中略) #define STRING char * #define IF if( #define THEN ){ #define ELSE }else{ #define FI ;} #define WHILE while { #define DO ){ #define OD ;} #define INT int #define BEGIN { #define END }これらを使うと、プログラムはこ

    Pythonistaはtypedefすら拒絶する? (Re: Python での組み込み型をより自然な名前にする) - kなんとかの日記
  • 変数名として「lst」や「dct」や「L」や「D」がどのくらい使われているか - kなんとかの日記

    せっかくなので、変数名として「lst」や「dct」がどのくらい使われているかを調べてみる。ターゲットは Python 標準添付ライブラリ。 ### Python 2.5.4 $ cd /usr/local/lib/python2.5/ $ egrep '\blst\b' **/*.py | lv # けっこうある $ egrep '\blst\b' **/*.py | wc -l 92 $ egrep '\bdct\b' **/*.py | lv # 思ったより少ない $ egrep '\bdct\b' **/*.py | wc -l 16「L」や「D」も調べてみたけど、ノイズが多くて正確にはわからない。かわりに、「L =」と「D =」と「S =」で調べてみた。 ### Python 2.5.4 $ egrep '\bL *=\b' **/*.py | wc -l # やっぱり多い 78

    変数名として「lst」や「dct」や「L」や「D」がどのくらい使われているか - kなんとかの日記
  • Re: Python での組み込み型をより自然な名前にする - kなんとかの日記

    ネタなのかツリなのかマジなのかさっぱり判断が付かないんだが、マジだとしたらそんなの勘弁してと思うし、ネタだとしてもはっきりそうだとわからない書き方のせいで影響される人がいたらイヤなので、あえてマジレスしとく。 jijixi's diary - Re: Python での組み込み型をより自然な名前にする - kwatchの日記 , Re: 大量のハッシュデータを簡潔に作成する - kwatchの日記 人は大マジなんだけど。どうもお気に召さなかったようだ。 ある言語の慣例を無視するような行為はナンセンスとしか言いようがない。 そんなことはないと思うけどなあ。その慣例がよくないものなら、その慣例を無視して別のアイデアを試してみるのが悪いこととは思えない。批判するなら、新しいアイデアにメリットがない、あるいはデメリットが大きいことに対してであり、慣例を無視すること自体は非難されるようなことではな

    Re: Python での組み込み型をより自然な名前にする - kなんとかの日記
  • Python の嫌いなところ - kなんとかの日記

    ちょっと古いけど。 デブサミ会場で、雑談していると「PythonはDISらないんですか」と柴田さんから。なんか自虐的じゃない? とは言うものの、Pythonは基的に良い言語で、 不満な点はかなり微妙だ。一般人にはどーでもいいような点だと思う。 一応リストを。 式と文の区別が明確。 インデントベースだとeRubyのようなテンプレートが難しい ブロックを含む式を持てない。Haskellみたいにブレースを使えば式にできるといいのに reduceがなくなる generator難しい。yieldを書くと戻り値が変化するってのはどうよ list comprehensionが難しい。英語人には人気みたいだけど Matz日記:PythonをDisる。 「Python は基的によい言語」には同意。Rubyist でも、使ってもないのに Python を DIS る人がいるのは残念。インデントベースが嫌い

    Python の嫌いなところ - kなんとかの日記
  • ローカル変数で「L」や「D」を使うのはダメプログラマ - kなんとかの日記

    pashango_pさん曰く: 当にローカル変数でlistやdictを表すために「L」とか「D」を使っていたとしたら、相当なダメプログラマですよ。 わたしはそこまでは思いませんが、pashango_pさんによると、ローカル変数名として「L」や「D」を使うのはダメプログラマだそうです。 いっときますけど、わたしの意見じゃないですよ? あくまでpashango_pさんの言ったことなんで、そこは勘違いするのは勘弁してね。 ところで、Python標準添付であるurllib2.pyより: def randombytes(n): """Return n random bytes.""" # Use /dev/urandom if it is available. Fall back to random module # if not. It might be worthwhile to extend

    ローカル変数で「L」や「D」を使うのはダメプログラマ - kなんとかの日記
  • Re: "sep".join(list) が気持ち悪い理由 - kなんとかの日記

    みんなー、トラックバックって知ってるよねー!? 他人のとこに長いコメント書くくらいなら自分のブログに書こうぜ! #隠れてコソコソ陰口叩かれるぐらいなら超長いコメントのほうがいいけどな!! methaneさんのコメント: えぇ、そうですね。だからスレッドのjoinをArrayクラスに入れるのはおかしいです。同じように文字列のjoinをArrayクラスに入れるのに違和感を覚えないのは何故でしょうか? すでに書いているように、頻出するケースだから。それにオブジェクト指向であれば、メソッド名が同じでもクラスが異なれば違う仕様にすることはごく普通に行なわれることなので。 「join」というメソッドが、どのクラスでも同じようにしないとダメという感覚がわからないです。多態が必要な場合は同じinterfaceじゃないと困りますけど、Threadのjoin()と文字列のjoin()を同じinterfaceに

    Re: "sep".join(list) が気持ち悪い理由 - kなんとかの日記
  • Python の好きなところ - kなんとかの日記

    Python の好きなところ。主に Ruby との対比。 微妙なものも混ざっているけど、ご容赦ください。 ・キーワード引数を装備している。 これは Ruby と比べて大きなアドバンテージ。Ruby の、Hash を使った疑似キーワード引数も悪くはないんだけど、使用できるキーワードが引数に明示されないので readability が低い、キーワードを間違ってもエラーにならない、という欠点がある。やはり Ruby でも物のキーワード引数が欲しい。 しかしキーワード引数を持っている言語って、そう多くはないんだよね。Ruby だけでなく、PerlPHP も JS も持っていない。もう 21 世紀なんだから、これからの言語は持っていて欲しいな。 ・仕組みが単純である。 Python は、全体的に仕組みが単純である。たとえばメソッドやインスタンス変数に対して public, protected

    Python の好きなところ - kなんとかの日記
  • プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記

    ワシは、cgi.rb なんかが標準添付になっている RubyPHP を dis る資格はないと思ってる (cgi.rbの元ネタである CGI.pm を擁する Perl も同じじゃないかな)。cgi.rb は、標準添付モジュールのくせにコードが汚いし遅いし、cgi[] の戻り値が String だったり File だったりするし、どう考えても設計ミス。 ## Ruby だと cgi = CGI.new p cgi['name'] #=> これが File である可能性がある ## PHP だとそんな問題はない $name = $_REQUEST['name']; # 必ず文字列 $file = $_FILE['name']; # ファイルは別途取り出すそして大半の Rubyist はこういった問題に気づいてすらいない。そういう人たちが PHP を dis ってるのは「ハァ?」と思う。

    プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記
    rawwell
    rawwell 2010/06/14
  • プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記

    まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。 これを見れば、最速な言語は C/C++ であり、Java や Haskell や OCaml といった静的な言語は軒並み上位に登場する。これに対し、RubyPythonPHP といったスクリプトは全部下のほう (つまり遅い)。その速度差は非常に大きく、このベンチマークで見ると Python3 や Ruby1.9 は C/C++ の約50倍から60倍遅く、Perl は約90倍、PHP にいたっては約130倍遅いことになる。 (ちなみに JIT つきの Lua が驚異的に高速なのが目をひく。この結果が当だとしたら、言語の速度に大きく関係するのは動的か静的かではなく、どれ

    プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記
    rawwell
    rawwell 2010/05/05
  • 1