ToDo:
http://longlong.way-nifty.com/blog/2009/03/post-4cf4.html
ええまさに懇親会の存在を知ったタイミングでは ああなんか別にやるのは気まずいかと思ったのですが。
とかなんとかでタイミング的には すごい速度で会場提供を持ちかけてくださった woさんに感謝的な
先に懇親会に気付いてたり会場提供無かったらヤメてたと思うし
(14:03)
http://shinh.skr.jp/h/?HackTheCellPostMortem
693 ってガロア組かっ!とか思ったけどスレの 693 さんのことだとわかった。
予想以上にあっさり人数が増えてびっくり嬉しいのですけど、 残念ながらそろそろ人数的に厳しいかもらしいのでした…
なんかなんかちゃんとやらんとかなあと思う一方、 こんだけ面白そうな人いたらほっといても面白いだろうという予想も。
http://d.hatena.ne.jp/ku-ma-me/20090312/p1
おもしろい。
def f(x) x+1 end def g(x) y=x+1 y+1 end p [1].dmap+1 p f([1].dmap) p g([1].dmap)
g が動くといいんだけどな
(10:07)
http://d.hatena.ne.jp/odz/20090310/1236698884
#include <stdio.h> struct Foo { int i; }; void with_paren() { Foo* foo = new Foo; foo->i = 42; delete foo; foo = new Foo; printf("with paren: %d\n", foo->i); } void without_paren() { Foo* foo = new Foo; foo->i = 42; delete foo; foo = new Foo(); printf("without paren: %d\n", foo->i); } int main() { with_paren(); without_paren(); }
手元の GCC では同じ結果になりやがったけど、 cl.exe では、
with paren: 5374216 without paren: 0
とかになった。
↑コメントで指摘いただいたけど with と without が逆。ひどい
(00:43)
紙媒体でゲットした。
反応が以上に悪かったけど、 インテルの英語サイトの方にある連絡先に 本全部の注文番号を送って後は ping しまくれば良かった。 ちゃんと通れば1円も払わずにわざわざ海外から送ってくれる。
嬉しいと言わざるをえない。
(10:43)
http://hiraitamado.web.fc2.com/mindex.html
まなぶ以外はどんな感じなのかなあと適当に見てみたらいいの見つけた。 実は新都社すごいんじゃないかな
(22:12)
http://d.hatena.ne.jp/odz/20090311/1236775799
POD型は () をつけるとゼロ初期化だったと思うます。
ゼロじゃなくて各メンバに () つけるとかだったかも知れないけど PODなら実質同じだよね。
あと cl.exe もできたバイナリも wine で動かしてます
dmc.exe とか dmd.exe とか bcc32.exe とかも入ってて、 GCC でクロスコンパイルするとかよりこっちの方がラクなんだよな…
(22:16)
じゃなかったけと思ったけど これだとなんかな…
#include <stdio.h> struct S { int i; }; void print_s_without_paren() { void* i; (&i)[-1] = (void*)42; S s; printf("%d\n", s.i); } void print_s_with_paren() { void* i; (&i)[-1] = (void*)42; S s = S(); //const S& s = S(); printf("%d\n", s.i); } int main() { print_s_without_paren(); print_s_with_paren(); }
まぁなんかしら GCC でもこっちなら movl $0, -0x10(%rbp) とかがあるかどうかが変わる
(22:28)
http://shinh.skr.jp/h/?HackTheCellPostMortem
懇親会は詳しい検討はむずかしいかも、 とのことなのでまぁやる方向でいいんじゃね、 ということに
勝手に書き換えていただけると幸いです。 あと kik さん kodera さん herumi さんは強制参加です。 ぜひ
(23:41)
http://homepage1.nifty.com/herumi/diary/0903.html#9
http://tripper.kousaku.in/20090307.html#p01
思いついてしかるべきだったなあ…と思います。 幸い計数の部分は工夫する余地はあるけどあまり速度に影響しないんですよね… lqr 減らすのがなんだかんだで一番効きそうな気がするけどどうなのかなー
(01:03)
http://d.hatena.ne.jp/youz/20090308/1236482522
ぱっとわからない。継続脳が全く育ってないなあ。 後で考える or kinaba 先生の何かをわくてかしてまつ
(02:18)
一回戦落ち…300位まで通るんだと思ってたんだけど、 250位まで通して後50人はシードってことだったみたいだ。 そうならそうとはっきり書いてよねえ。
http://www.topcoder.com/tc?module=Static&d1=tournaments&d2=tco09&d3=marathon&d4=schedule
こっちにはちゃんと書いてある
http://www.topcoder.com/tc?module=Static&d1=tournaments&d2=tco09&d3=overview&d4=rules&d5=marathon
(10:37)
http://pc11.2ch.net/test/read.cgi/tech/1173057314/237
よくわからないけど eban さんのご協力のもと できるようになったみたい。
(10:38)
寝過ごした。
予戦落ちとかウケますね
忘れてた→酔っ払って寝てた→寝過ごした
とか僕の能力を全て出し切った感じである。 その結果が予戦落ちなのだから、まぁ順当な結果なのだと思う。
(01:50)
http://www.fukkan.com/fk/VoteDetail?no=3761
復刊されたらしい。 らしいっていうか知らせが来るってことは なんかの拍子でリクエストボタン押したんだろうなぁ。 でも買わないと思うんだな。
読むと成田使いたくなくなるけど、 まぁなかなか使わないのも難しいよねというような。
(01:56)
http://longlong.way-nifty.com/blog/2009/03/hack-the-cell-0.html
そんなに不安定ってなんなんだーという。 単純に少ない数字には倍率が減るって話でもないだろうし…
(10:42)
http://longlong.way-nifty.com/blog/2009/03/post-d5ab.html
完敗ですねー。 まぁもともとこいつには勝てんだろ的な人の一人だったので当然な気もします。
まぁいいや。 hack the cell にかこつけて CPU の今後と最適化について僕に教える会を開催したいと思うので、
http://homepage1.nifty.com/herumi/diary/latest.html
http://longlong.way-nifty.com/
http://garakuta.homelinux.org/~nosuke/diary/
http://d.hatena.ne.jp/methane/
あたりの人は東京近辺にいらっしゃったらとりあえずいかがでしょうか。 2ch の人とかよくわからんけどコメント含めて なんらかの手段で通信がいただけたら考える的な。
知らんけど候補日は 3/21 or 3/28 とかそのへんで。
(14:12)
実質負けてたってことだろうなぁ。 命令数的に勝ってる感じがない。
http://homepage1.nifty.com/herumi/diary/0903.html#7
まぁワンオブ勝てんだろー候補だし略
あと README の文章破綻ぷりというか説明する気ないっぷりには 色々理由があって主にねむかったとか。
とりあえず僕もカウントしてみよう。
even 1269 xor 530 selb 284 cntb 155 sumb 105 shli 32 a 80 ah 50 ai 1 and 27 andbi 5
odd 1270 stqr 147 lqr 583 lnop 27 shufb 68 rotqbyi 128 rotqbii 283 rotqmbii 32 hbrr 1 brnz 1
見て比較した感じ、
という感じっぽい。 つか post-mortem のために PS3 欲しいというのは…
(14:30)
herumi さん shuffle 使ってなくね? 説。 なにかコード見た感じ rotq と sel だけでやっちゃってそうな… そのへんは微妙に勝ってそう、かな?
個人的には shufb は今回一番萌えた命令だったんだけど。
(14:37)
http://www.kmonos.net/wlog/95.html#_1109090307
あまり理解してないけど、 Cyan の方が shibuya.lisp で return がうんぬん… とか発表されてたので質問して、 たぶん kinaba さんが今書いておられるようなものだと理解してたので、 ちょっとやってみた。
globalVar = 0 hello = ^(): globalVar = return return(0) x = hello() print x print globalVar(x+1) print "\nDONE\n"
うーん 0 とだけ表示されちゃう。 かえせないってことかなぁ。
retret = ^(): return(return) x = retret() print x
とすると #<cont 219f5c00> とか出てくる。
retret = ^(): return(return) x = retret() print x()
何も出てこない。
retret = ^(): return(return) x = retret() print x()()()()()()()()()
何も出てこない。エラーにならないのもよくわからんが…
なんかしら未定義な感じの動作になってそうだなぁという感じで残念?
http://www.geocities.jp/takt0_h/cyan/doc/ref/about-continuation.html
この説明見るとできても良さそうに思えるんだけどな
(16:33)
今の方針じゃ埋まらんだろうと思ってたのに even pipeline 埋まった…手詰まり感が。
うーむまあこれは投了だろうなあ。 予想よりはよくなったけどなんかもうちょいあったんやないのという感はいなめない。 あと kik さんが余裕釈々すぎて腹が立ちますね。 あと KLab が入賞宣言してるのも腹が立つ。
http://dsas.blog.klab.org/archives/51368711.html
うーむ自信があるのはすごいなあ。
(01:46)
80倍は越えた。 えらい手間がかかりそうな変更はそこまで手間ではなかったけど、 軽く100倍行くほど良い変更ではなかった。
適当にやりゃ90はまぁ越えるだろう。 100は、うーんどうかなー
(20:37)
お話にならない感じだなあ。
とりあえず提出した時よりはよくなっていて 66 倍程度で、 まぁ適当にやれば 70 倍は越えると思う…が、 それじゃ全然お話になってないよなー。
なにかブレイクスルー的なものがあるといいんだけどなあ。 というか大幅に短くなりそうな部分があるんだけど、 ゆっくり考える時間が無いとできなさそうなんだよなー
そもそも今のコードより提出時のコードの方がはるかに良いので、 この程度の中途半端な更新で再提出する気はおきない。 諦めるかなーぎぎぎ。
(00:16)
http://d.hatena.ne.jp/nagachika/20090302/oo_vs_lambda
あーうーわかりにくくてすいませんという。
msg[obj][param1][param2] と書いて良いのであれば まぁ Ruby はクロージャあるのでできるのですけど、 obj.msg が msg(obj) の syntax sugar にしか見えない瞬間がある 僕としては、逆にクロージャを OO の記法でやるような考え方/言語はないのかなぁとか思ったのでした。
書いていただいた max も処理まとめるという意味では もちろんそれで良いのですけど、 普通のクロージャになってしまってるので 最後の記法が evens.my_max とかになっていない点で 僕の妄想にはマッチしてないかなぁとかいう。
あと、妄想で「無いのかなぁ」と思っただけなので、 別に素晴らしい考え方だとかは思ってません。 むしろメッセージに環境突っ込むと その後で多態的なのはどこ行くんだとか、 マルチプルディスパッチ的なのはどうなるんだとかそんなこんな。
(21:14)
もにょってたら予定よりあっさり70倍は越えた。 80までは適当にいじってりゃ行くと思う。
なんかちょっと大袈裟に悪い方針だったことに気付いたので直したいんだけど、 えらい手間がかかりそうで困る… でも100倍は見えなくもない位置な気がするなぁコレ…
(22:29)
酔っ払ってても予戦突破くらいはできるだろうと思っていたけど、 寝てたら無理だとわかった。
マラソンの方は適当に書いたコードで100位くらいだから安全圏だろう。 ほっといてもたぶん大丈夫。
(13:38)
1引数関数しかないけど、 1つ引数を取って「1引数取ってなんかする関数」を返す関数を 書ければ2引数関数みたいなもんだよね、 というような考え方があると思う。 未だにわかってないのだけど、ラムダ計算とかいうやつがそれなんだろうか。
でまぁ、1引数しか無いのであれば、 OO ワールドはとても綺麗なんですよ。 なんというか OO のたまに嫌な点の一つとして、
obj.msg(param1, param2)
とかの引数が左右に散ってる印象を与える時があるんだよな。 特に param1 のメンバ関数でもいいよなぁ…というような時。
でも1引数だけでいいのなら その問題は起きなくて素晴らしい。
param2.(param1.(obj.msg))
全く美しくないな…
obj.msg は obj を保持したメッセージを返している、 クロージャ的なメッセージ。 param1.(obj.msg) も同じくクロージャ的なメッセージで、 そのメッセージを param2 に適用して始めてなんか実行されるというような。
まぁなんかだめだめな感じしかしないけど、 OO のメッセージに環境持たせるって考え方はないのかなぁとかたまに思うというはなし。
(14:24)
前 | 2025年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ ku-ma-me [それは [1].map(&method(:g)) を改善していくのがよさそうかなあ。 Python だと g だけで..]