ToDo:
普段は。
という感じ。
tcc.c だと、
つーかデータ領域の PLT ってどうなってるの (?-?)
手軽(?)に解決するなら一旦ファイルに書くつもりで メモリに書く、ってアプローチだろうなぁ。 コンパクションしても 2GB 越えてるとかいうコードは… まぁ TCC でコンパイルすることはないだろう。
(08:39)
http://d.hatena.ne.jp/nagachika/20081130/king_of_timeglass
なんかネットで見るとおかしいとか書いてあって、 どこのことかなぁとか思ってたけど、 言われてみると「ここより前に〜」はアレっと思った気がする。
まぁなんかイーガンとかならともかく こういうチャンバラものというか とりあえず卑弥呼かわいいよみたいなものは 整合性的なものはわりとどうでもいいと感じてるようだ。
http://shinh.skr.jp/m/?date=20080131#p01
(08:53)
つかシティは Amazon 解消とともに 古いのに自動スイッチなのね…
(22:15)
なんか明日昼12:30から夜6:30からとかです。
http://shinh.skr.jp/m/?date=20081117#p01
codegolf.com に参加してた方は今からでもどうぞ。 夜の方はゴルフやったことあれば適当に6:30からの部にどうぞ。
メールいただけるとかコメントしていただくとかすれば適当に対処します
(20:58)
日曜あたりからしょぼしょぼ縮めて、
という感じだった。
(21:02)
pascal, range, switch は時間のムダ感が強すぎるので、 total, beer の悔いを無くす方向で。特に total かなぁ。
(21:39)
http://d.hatena.ne.jp/authorNari/20081203/1228267905
ああ Boehm GC はそれやってるんだなぁ。 それで緩和はすると思うっていうか 件のスレッドにそれは書いてあったように思う。 でもたぶん真に問題なのはそこじゃなくて、 スタックの底〜SP の間に valid な VALUE が残っちゃったまんまでイヤーンという話だと思います。
TODO: あの話はかなり感動したのでこんどなんかかく
(00:55)
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/37248
の議論を IRC で見てて、最初にぱっと思ったのは
def make_pure_enumrator(e) def e.inspect "#<Enumerator::#{to_a.inspect}>" end e end class Array alias orig_each each def each make_pure_enumrator(orig_each) end end p [1,2,3].each
みたいな感じのを、 Array の中身を include 一発でできるんじゃないかなぁ、 と思ったのだけど、やっぱできないような気がして、 書いてみたらやっぱりできなかった。 できるのかもしれんが。 まぁ Ruby むつかしい気味ではある。
あとこれ Ruby 1.8 で動かんね。
(01:02)
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/20149
このスレッドが面白いなぁとか思ってたんだけど誰も反応してないから、 まぁ日頃から GC に慣れ親しんでる人には常識なのかなぁとか思ってたんだけど、 なんか matz さんが反応した。 月曜に色々聞いた感じでは GC フェチには常識的な感じではあるみたいだ
(02:29)
ttp://shinh.skr.jp/t/tree.gif
http://d.hatena.ne.jp/miura1729/20081202/1228227760
を使ってみた。素敵だなあ。
ttp://shinh.skr.jp/t/081202_2358.jpg
まぁでもこっちの方が読みやすいよね!!
(02:47)
http://d.hatena.ne.jp/miura1729/20081130/1228033970
via http://practical-scheme.net/wiliki/wiliki.cgi?Shiro
あまり問題は把握してないしグラフがうんぬんとかはよくわかってないけど、 このウサギ大量作戦だと
こんな感じで木?を作ると
(define (gen-line n c) (if (> n 0) (cons (gen-line (- n 1) c) c) c)) (print (gen-line 3 1)) (define (gen-tree-aux n m) (if (> n 0) (let ((c (gen-tree-aux (- n 1) m))) (cons (gen-line m c) c)) (gen-line m 1))) (define (gen-tree n) (gen-tree-aux n n)) (define (run n) (if (> n 0) (let () (run (- n 1)) (no-cycle? (gen-tree n)) (print cnt) (set! cnt 0)))) (run 25)
N^2 のサイズの木?に対して指数ぽい挙動になるような。
なんか勘違いしてそうだけど…
(00:24)
ホント改悪ですよね(ゴル略的な観点で)!
でまぁマジメに 1.8 に String#ord 入れて欲しいなぁ… てか String#getbyte とかあるのかそっちも入れて欲しい。
(02:05)
http://redmine.ruby-lang.org/issues/show/809
一念発起してアカウントを作った。
メール投げるよりこっちの方がいいのかな。 メールよりめんどいけど。 なんていうかこう残るものは close したくなる気がするし。 insns.def のコメントもこっちにコピペしたろか。
(22:50)
stage すっとばすオプションあったよなあ
../configure --prefix=/usr/local/stow/gcc-4.3.0 --disable-nls --enable-languages=c --disable-stage1-languages
とかでいいんだっけか。
たしか直近ではあろはさんとこで見た気がするので、 とか書いとけば教えてもらえるんだきっと…!
(23:38)
configure --prefix=/usr/local/stow/gcc-4.3.0 --disable-nls --enable-languages=c --disable-bootstrap --disable-multilib --enable-checking=all
あたりで。
http://gcc.gnu.org/wiki/MiddleEndLispTranslator
に書いてあった。
(23:42)
まぁ rand は無いってのはそうだと思う。
http://blog.bugyo.tk/lyrical/2008/11/cdiv-1.html
#include <stdio.h> #include <stdlib.h> int main(int argc) { int i, j, sum = 0; int x = rand()%3+3; int y = argc + 10; for (i=0; i<10000000; i++) { for (j=0; j<10; j++) { #if 1 div_t d; d = div(x, y); sum += d.quot; sum += d.rem; #else sum += x / y; sum += x % y; #endif x++; y++; } } printf("%d\n", sum); return 0; }
とかでやってみた。
./a.out 0.83s user 0.00s system 97% cpu 0.845 total ./a.out 0.61s user 0.02s system 95% cpu 0.661 total
で div 使わない方の勝ちだった。 アセンブリ見た感じ div は関数呼んじゃってるなぁ 除算はきちんと一回になってるし。
まぁ除算きちんと最適化できるのに div なんてレアなものを builtin にする意味ないって感じかなぁ。
一応 gcc/builtins.c 見ても div ぽいのは無かった。
あとベンチマークの後は妥当ぽいか確認する手段として、 クロック数を概算してみるとかいいと思う。 1秒程度かかってるんならループ1回に数百クロックくらいかかってる感じで、 除算だけでそれはちょっと無いよなぁみたいなそういう。
(00:43)
くらいならいじったことあるなあ。 あれは苦痛に満ち満ちていた。
http://www.kt.rim.or.jp/%7ekbk/zakkicho/08/zakkicho0811c.html#D20081127-6
それはそうとまさに構造体のダンプのために こいうもの作った過去があるわけですが
http://d.hatena.ne.jp/shinichiro_h/20051230#1135939355
今も動くかは知らぬー
うむ 64bit linux では動かん。 今度なおすかなあ。
(05:48)
GCC ML で目に入った
http://gcc.gnu.org/ml/gcc/2008-11/msg00357.html
こいうのはちょっと面白い話かなぁと思う。
(21:48)
そして twitter で色々コメントをいただいたのであった。
http://twitter.com/kinaba/status/1023511153
わざわざ [shinh] とか書いていただいたのに
http://search.twitter.com/search?q=shinh+-from%3Amircbot
にかかってないなんて、いやあ不思議だなあ! それはそうと、 tumblr は本当にコピペだけであることが ほとんどっぽい感じなので無視してるんだけど、 そうでもないのかな…
http://twitter.com/kashiwa/status/1022925121
全エントリに tinyurl 作ってリスト作っておくってのはいいかも知れないなぁ。 でも作ったアドレス群を全部検索するのは大変ではないですか。 過去への言及とかも見たいので…
http://twitter.com/yanbe/status/1022879570
http://twitter.com/yanbe/status/1022885159
そうそう shinh.skr.jp を含む全 tiny URL リストとか取れるといいんですけどねえ。 正直なところ実装するの大変そうだけど。
どう見ても有意義な発言をしているのであった。
http://twitter.com/natsutan/statuses/1023579256
twitter がそこにワンホップして redirect とかしてくれたらなぁとか思わないでもないですが、まぁキツいよなあ。
そうそう、片っ端から follow して TwitterIRCGateway で流れてきた ログを適当に検索する、っていうのも割といいんだけど、 今度は IRC の方に permalink 流れて来ないという問題があったりとかそういう。
つか twitter も google とかでいいのかも。
などなど
(00:11)
たまに思うのは、なんというか自分の思考法を 相手もしてると思うのはいかんなぁというアレ。 英語で全部細かく説明すると大変そうだし、 長くなるとミスが積もって余計混乱しそうだ、 とか考えて、 この程度言えば後は想像で補ってくれるだろうみたいな想定を勝手において 省略した説明をするのは良くないことが多い気がする。
しかし細かい説明をしようとして途中で あーアレねみたいに話遮られたりすると リズム的にかなり辛いという言い訳も。
自分の思考法を押しつける系で言うと、 「今日」を漢字に分解して now day とか もっとひどいと now sun とか言ってみるとか、 そういうことやる人をたまに見る気がして、 まぁ程度差の問題で自分も似たようなことやってる気がするなぁと。
あでも now day 的なヤツは単に機械翻訳使ったってだけかも
そんなこんな
(00:22)
i@u4 ~/test > cat short_cast.c #include <stdio.h> int main() { int var1 = 0x1020304; *(short *)&var1 = 0x0809; printf("var1=%x\n", var1); }; i@u4 ~/test > gcc short_cast.c&&./a.out var1=1020809 i@u4 ~/test > gcc -O2 short_cast.c&&./a.out var1=1020304 i@u4 ~/test > gcc -O2 -fno-strict-aliasing short_cast.c&&./a.out var1=1020809
割とカンタンに起きるんだなあ
(22:30)
前 | 2025年 7月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ kik [今から寝るので遅刻する可能性大です。]