misc
perl 5.8.8 $ time perl -e 'for ($i = 0; $i <= 100000000; $i++) { }' 7.65 real 7.63 user 0.00 sys$ time perl -e 'for ($i = 0; $i < 100000001; $i++) { }' 6.19 real 6.18 user 0.00 sys$ time perl -e 'for $i (0 .. 100000000) { }' 4.16 real 4.15…
元の内容とは関係ない話なのでリンクは張らないけど、4 つの変数 a, b, c, d があって、そのうち異なる 2 つの変数の組み合わせすべてについて foo を作用させよという問題があるとする。解答例は Perl だとこんな感じになる。 @array = ($a, $b, $c, $d); f…
テレビに入り込んだ虫は、数週間後には居なくなっていた。どこ行ったんだろうなあ。
気付いたらテレビの液晶の裏に虫が張り付いていた。んな馬鹿なと検索してみると、隙間から液晶パネルとバックライトの間に入り込むことが稀にあるとか。その部分だけ映像が映らないので、近くから見ると気になる。
(let f () (dynamic-wind + - f))
前回から 100 日経ったようです。
ダイエットにて詠める。 カロリーを 気にする俺は 俺でなし解:でもそんなの関係ねぇ
#include <cstdio> struct I { virtual I *f() = 0; }; struct A : virtual I { virtual I *f() { puts("A"); return this; } }; struct B : virtual I { virtual I *f() { puts("B"); return this; } B(I *x) { x->f(); } }; struct C : A, B { virtual I *f() { pu</cstdio>…
$ cat test.cpp struct A { A(A *a) { } }; struct B : virtual A { B(int x) : A(x ? this : 0) { } }; int main() { new B(1); } $ g++ test.cpp && ./a.out Segmentation fault追記:規格の 12.7#2 から未定義だと思って書いたんだけど、違うっぽい。他の…
id:succeed:20080623 に関して。C だと後置増分演算子の意味規則は次のように規定されている [6.5.2.4]。 後置++演算子の結果は、そのオペランドの値とする。結果を取り出した後、オペランドの値を増分する(すなわち、適切な型の値 1 をそれに加える。)。.…
クラスタとかならともかく、単なるデュアルコア程度ではこういう現象は起こらないと何となく思っていた。 $ cat Test.java public class Test { public static void main(String[] args) { for (;;) test(); } static int a, b, x, y; static void test() { …
メールアドレスの全体は正規言語じゃないってゅー。コメントなんて使ったことないけど。
停電等、電源が落ちている時でも電話は使えるものだと思っていたが、やってみたら出来なかった。電話機によるらしい。
Java で、リフレクション経由でメソッドを呼ぶときにはちゃんと実引数の型チェックが行われるのだが、JNI からだと省略されるみたい。で、やってみたら Throwable じゃないオブジェクトも throw できたり。Mac での例。 $ cat Test.java public class Test {…
Java 1.6。 $ cat Test.java import java.util.regex.*; public class Test { public static void main(String[] args) { String query = "Hello, world."; StringBuilder text = new StringBuilder(13 * 1024); for (int i = 0; i < 1024; i++) text.append…
$ cat test.c #include <stdio.h> #include <string.h> size_t strlen(const char *p) { return (strchr(p, ',') - p); } char *f(char *p) { return strcat(p, ", World"); } int main() { char str[64] = "Hello"; puts(f(str)); puts(f(f(str))); puts(f(f(f(str)))); } $ gc</string.h></stdio.h>…
こないだの正規表現ベンチ、Perl 5.8.6 にて。 $ cat regex.pl $query = "b" x (1024 * 1024) . "x"; $pat = '^b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b$'; print ($query =~ $pat ? "yes\n" : "no\n"); $ $ time perl regex.pl no real 0m0.009s…
よく考えたら Perl とかの正規表現って正規表現じゃないよな、と思ったらマッチングは NP 困難だそうだ(3SAT からの簡単な reduction がある)。今回の場合は線形時間で走ってほしいところだけれど。
正規表現ベンチ、もしくは文字列生成ベンチ。Python Challenge が一段落したのでやってみる。ベースライン、速さに定評のある C。 $ gcc -O2 regex.c $ time ./a.out no real 0m0.737s user 0m0.734s sys 0m0.003s なんか遅い。Mac だからか。意外と古参 Rub…
「大語海」という 300 ページ超の古い本を見つけた。パラパラめくってみると辞書らしい。辞書なのに大誤解て。中をよく読むと、 悪戦句読 字がきたなくて読むのに苦労すること。 四分音符 四分間音を出す記号。 目玉商品 コンタクトレンズ。 あゝ、狙い通り…
とあるプロセスが読み書きしているはずの一時ファイルがディスク上に見当たらなかったので何かと思ったら、open 直後に unlink されていた。開いているファイルを unlink するとリンクカウントが減って外からは見えなくなるが、実際の削除は遅延されるらしい…
当初ふわふわだったクッションがつぶれてきた。ふわふわに戻ることを期待して洗濯機に放り込んだら、もはもはになった。
scp って単に ssh した先で scp を起動して、標準入出力でやり取りするだけだったのか。てっきり ftp みたく色々やっているのかと。 $ perl -e 'print "\0\0"' | scp -f hello.txt | cat C0644 14 hello.txt Hello, world!
AG(食べ放題 → AX 食べ過ぎ) が偽に。しばらく Coq をいじっていたせいで ¬¬P を機械的に P とするのに少し違和感を覚えるようになったが、(P→Q)→(¬P∨Q) は全然ウェルカム。まったく自分のセンスなんぞそんなもんである。
勢い余ってうどんに掛けてみた。意外といける。
本家の方が大分うまい。見た目は似てるんだが…。
Java 1.5 on Mac。 $ cat Main.java class Main { public static void main(String[] args) { Main m = null; for (int i = 1000000; --i >= 0; ) try { m.f(); } catch (Throwable e) { } } public void f() { } } $ javac Main.java $ time java Main 32.4…
この一年弱はどうも不調というか肝心なところで気合いが入らない嫌な状態が続いていたのだが、少し回復してきたような気がする。とはいえそういう気も何度目かなので、また幻じゃないといいが。
「研究は進んでいますか。」 はい。 「研究は進んでいるかと聞かれたら、はいと答えますか。」 …いいえ。
ついでに、勝手にポインタに変換されてしまった配列を(見かけ上)元に戻そうとしてみる。ポータブルではない。というかそれ以前に使い道がなさそうだが。 #include <iostream> int main(int argc, char *_argv[]) { char *(&argv)[argc] = *(char *(*)[argc])_argv; f</iostream>…