[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/21 03:04 / Filesize : 243 KB / Number-of Response : 977
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

マルチスレッドプログラミング相談室 その8



1 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:19:27 ]
マルチスレッドプログラミングについて語るスレ

■前スレ
マルチスレッドプログラミング相談室 その7
pc12.2ch.net/test/read.cgi/tech/1215253576/

■過去スレ
その1 ttp://pc3.2ch.net/tech/kako/997/997345868.html
その2 ttp://pc5.2ch.net/test/read.cgi/tech/1037636153/
その3 ttp://pc8.2ch.net/test/read.cgi/tech/1098268137/
その4 ttp://pc8.2ch.net/test/read.cgi/tech/1130984585/
その5 ttp://pc11.2ch.net/test/read.cgi/tech/1157814833/
その6 ttp://pc11.2ch.net/test/read.cgi/tech/1187008532/

OS・言語・環境は問わないが、それゆえ明記すべし。
テンプレ
【OS】
【言語】
【実行環境】
【その他特記する事項】

326 名前:デフォルトの名無しさん [2010/02/22(月) 16:37:56 ]
begintreadexを使ったときはclosehandleを使わないといけないらしいけど
CloseHandle((HANDLE)_beginthreadex());
こんな感じでいいの?

327 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 16:42:48 ]
beginthreadexが返したハンドルを渡すのかと聞いているのならYES

328 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 17:44:29 ]
_beginthreadexはなんで整数型で返すんだろう

329 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:11:07 ]
Win32の型を持ち込みたくなかったからじゃないの。

330 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 00:27:00 ]
意味も無く汚くはしないしな、いくらMSでも

331 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 00:29:08 ]
void *じゃだめなのか

332 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 08:52:12 ]
それだと32bitであることを強調できないからやめたんじゃないかな

333 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 14:32:40 ]
一応今はuintptr_tだしな
まぁ毎度のレガシーの枷なんだろうし、仕方ないっつーか正直どうでもいい

334 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 15:36:02 ]
どちらかというとマルチコア絡みの質問ですが
テンプレにある該当スレは過疎ってるぽいのでこちらで質問させていただきます

Q1. Windowsはスレッドコンテキスト切替時、汎用レジスタ同様にxmmレジスタを待避/復帰しますか?
   主にWindows 7 (32 bit)とWindows 7(64 bit)について知りたいですが、他のも回答いただけると有難いです

Q2. そもそもCore i7のSIMDモジュールってコア毎に独立してますか?
   独立してるっぽいけど、確証となるブロックダイアグラムみたいなのがIntelのドキュメントを漁っても見つからないorz

Q3. Core i7の分岐予測メモリって、コードが共通なら全スレッドで共通?それともスレッドコンテキスト毎にきちんと別統計になるんでしょうか?

Q4. VC(2008)付属ライブラリの数学関数(おそらくコプロセッサを使うはず)はスレッドセーフですか?またそれは/fp:オプションによらず不変?

よろすくおながいしますorz




335 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 16:24:51 ]
A1: Windows 98, 2000以降はyes
A4: yes

336 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 16:51:28 ]
A2 コア別でしょう。たぶん。コア間共有なんて設計のほうが難しいと思うよ。
A3 コア別でしょう。たぶん。コア間共有なんて設計のほうが難しいと思うよ。


337 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 17:32:40 ]
>>326
>CloseHandle((HANDLE)_beginthreadex());
その組み合わせはちょっちまずくね?
ttp://msdn.microsoft.com/ja-jp/library/cc429080.aspx
にメモリリークが起きると書いてある(ちなみにやねうら本(1)にもそう書いてある)
ExitThread()を明示的に呼ばなくても、スレッド関数を抜けたら同じことのはず

なお、>326の反対(CreateThread()が返したハンドルを _endthread()で開放する)は明白に危険であろうことが上のリンク先から推測できる
(確保されていないメモリを_endthread()が解放しようとするハズ)


338 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 18:07:36 ]
何のために_beginthread()〜_endthread()や_beginthreadex()〜_endthreadex()があるかというと
strtol()みたいに、機能的にはマルチスレッド環境下でも動いて欲しいのだが関数仕様的にマルチスレッドと相容れないような
標準関数をマルチスレッド環境でもきちんと動くようにする目的なので(おそらくそのために内部的にスレッド局所記憶を確保している)
そういう類の関数を明示的にも暗黙的にも呼び出さないと誓うならCreateThread()〜CloseHandle()で無問題

339 名前:308 mailto:sage [2010/03/07(日) 18:19:56 ]
スマソstortol()じゃなくて問題なのはstrtok()とかlocaltime()とかだった、


340 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 18:53:55 ]
>>337
_beginthread は起動されたスレッドが終了時にハンドルのクローズを行う。
_beginthreadex は別途CloseHandleする必要がある。その代わり、
スレッドが終了していてもハンドルは有効であり、スレッドの状態を調べることができる。
ここでのリークというのはCRTの作業域のことではなくて
あくまでもスレッドを追跡するためのハンドルのこと。


341 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:27:39 ]
>335, >336
レスdクス
A1は実験的にも確認できた(イントリンシック関数が排他を含まないこと、およびxmm0とxmm1を使う関数を64スレッドで呼び出して無問題)
A2はまあそう思う(ダイ写真でSIMDとコアの区別を確認できない&SIMDの数<コアの数ではマルチメディア目的に合致しない)
A4についても使用予定関数について実験的に確認できた

A3はちょっち謎
同一コードで記述され、同一コアで走る別スレッド(含HT)の場合どうなるのか?
同一コード条件とそうでない条件(コードをスレッド別コピーとする)とで速度比較すればいいんだろうけども
コードをコピーすると分岐予測以前にトレースキャッシュ容量他の要因で速度低下するかもしれないから実験では精度良くは判断できない鴨


342 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 00:36:48 ]
pthread_cond_wait状態になるまでに
結構時間かかるのですかね?

以下のようなコードを実効すると
結構頻繁に、別のスレッドがwait状態になる前に
pthread_cond_signalを実効してしまうのですが
必ず、同期取るようにどうしたらいいのでしょうか

thread1
{
while(1){
pthread_mutex_lock(&m);
pthread_cond_wait(&c, &m);
pthread_mutex_unlock(&m);
}

}

main
{
while(1) {
pthread_mutex_lock(&m);
pthread_cond_signal(&c, &m);
pthread_mutex_unlock(&m);
}
}


343 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 00:39:08 ]
どうやって確認したの?

344 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 00:45:01 ]
何がしたいのかよくわからんが、
とりあえずmutex取得する前にシグナル発行してたらいかんだろう。




345 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 00:54:13 ]
thread1がlockするまえにmainがlock->signalしちゃってるとかありそう

346 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:06:51 ]
>>337-338
つーか比較するものが間違ってる
_endthread()/_endthreadex()は作られた側が(必要なら)呼び出すもので
CloseHandleは_beginthread()/_beginthreadex()呼んだ側が呼び出すもの

347 名前:341 mailto:sage [2010/03/13(土) 23:42:54 ]
自己解決しますた!(いや、多分、だけど

Windowsのスレッドコンテキスト切替は、スレッドが走り続けている場合、どうがんばっても
msオーダー周期(おそらく10 msとか20 msに1回)なので、分岐予測統計の結果がその間に十分安定する(と思われ

だから分岐予測精度を上げるためにコードのコピーをスレッド別に用意しておく、みたいな神経質なことはしなくて宜しい

かと、

348 名前:342 mailto:sage [2010/03/14(日) 01:04:34 ]
訂正
 誤:分岐予測統計の結果がその間に十分安定する(と思われ
 正:分岐予測統計の結果が現実的に安定している期間よりも桁違いに長い(と思われ

ニホンゴ、ムズカシイデス、、

349 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 02:03:43 ]
いやいやいやいや
いまはコア間での話ではなかったのか?


350 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 08:00:00 ]
またえらい細かいオーダーで削ってるんだなぁ。
PCのWindowsでそこまでカツカツ削っても、すぐに時代変わっちゃうと思うけどなぁ。
他のとこに力入れた方が良くね?
まぁ、トレースキャッシュとか気にしてるから、何か特殊な固定環境向けのガリガリな
チューニングなのかもしれないけど。
俺も低レベルは好きだから、とりあえず触ることで知識と感覚を深めたい、ってんなら
止めないけど。単にバランス感覚の欠けてるケースに見えてしまうが。違ったらすまん。

351 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 08:19:21 ]
>>349
分岐予測メモリはCore i7の場合物理コアごとに持ってるからスレッドごとに物理コアを違える場合は何も悩む必要はない
問題なのはスレッドの数が物理コア数より多いとか、同一物理コア内でのHTの場合(→341の下から3行目参照)

352 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 08:30:59 ]
ハッよく考えたら>348-349のロジックじゃあHTの場合が解決してねーじゃんorz
同一コア内で走るHT0とHT1は、ハードウェアレベルで演算ユニット、L1, L2キャッシュ、トレースメモリを奪い合うので
もし仮に分岐予測メモリのタグがアドレスのみから生成され、HT番号では区別されない作の場合問題になりえる

ただしまあ現実的には同じアドレスに配置された同じ条件分岐命令が
 1. HT0とHT1でほぼ同時に(=分岐予測結果の平均寿命(おそらく数μsec)オーダーの時間差内に)実行されるという状況が
 2. 片方は分岐、片方は非分岐で
 3. 無視し得ない頻度で反復される
というケースでのみ問題だが

>>350
というわけでWindows非依存な話


353 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 08:32:37 ]
>>352
いや本人がWindows7を対象にしてるって最初に言ってるから

354 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 00:57:55 ]
>>342
亀だが、それは条件変数の使い方を間違えとる
いきなり無条件でcond_waitで待ってはいかん
cond_waitは、あくまで「共有条件が望む状態になっていない時」に使うものだ
cond_wait時に指定するmutexは、その「共有条件」をテストするためのものだ

でもってcond_signalやcond_broadcastは、共有条件の変更があったことを通知して、共有条件の再テストの機会を与えるものだ
なお、cond_signal, cond_broadcastの実行そのものには、mutexの取得は必要ない

JMなんかのpthread_cond_initのmanページを見て、使用例を確認すると良い



355 名前:デフォルトの名無しさん [2010/03/27(土) 11:48:41 ]
pthreadの記事を見つけたので読んでたら、
なんかコメントで色々指摘が入ってるんだけど、どうなの?
ttp://codezine.jp/article/detail/1894


356 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 15:08:07 ]
ここのコメント欄みづらいんだよね

最初の「必要以上に複雑になってる」という指摘は同意。
この記事って、バグのあるコードをだんだん直していくっていう
流れだけど、そもそもタイトルの条件変数関係ないバグだし、
修正内容も、なんか泥沼に入っていくような感じ

その後のやりとは、この二人にしか分からないどうでもいいことについて、
どうでもいいやりとりしてるように見えた。

357 名前:デフォルトの名無しさん [2010/03/27(土) 15:20:18 ]
>>338
これはわかりやすい!

358 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:05:41 ]
「Java並行処理プログラミング」が増刷してる

359 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 10:57:03 ]
va_argsってスレッドセーフですか?


360 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 21:21:11 ]
va_list を自動変数やTLBに置いていれば、va_listをスレッド間で共有しない限りは、スレッドセーフだと思うぞ。

361 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 22:11:15 ]
>>360
嘘ついちゃだめ
va_listはプロセスで1つだけしか持てないから
スレッドセーフじゃないよ

362 名前:デフォルトの名無しさん [2010/04/19(月) 00:34:37 ]
ボナンザ8コア対応を16コア対応にする方法を教えて下さい。

363 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 06:51:44 ]
スレッドセーフかどうかってのはcrtのソース見ないと判断付かないって認識でおkっすか?

364 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 07:04:05 ]
>>361
適当ぶっこくなカス



365 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 07:18:38 ]
>>364
じゃあ証明してくれよ
できないだろw?

366 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 07:28:20 ]
>va_listはプロセスで1つだけしか持てない

367 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 07:59:36 ]
それとスレッドセーフの話にどんな関係が?

368 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 08:31:37 ]
>>365
簡単。

va_listはプロセスで複数もてるから
スレッドセーフ

369 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 11:18:50 ]
すみません、spin-lockをしている間にCPUの使用率を下げる方法を知っている方はいますか?
調べてみると、rep;nop命令やSSEのpause命令をがそれに該当するように思えるのですが、
使ってみても何ら変わりませんでした。
自作のスレッドバリア関数(自作のspin_lock)を作って、
たとえば、
if(threadnum=5) sleep(10);
my_barirrer();

とするとスレッド5を待っている間は5以外のCPU使用率が100%近くなってしまいます。
それに対してOpenMP使った場合では、
if(threadnum=5) sleep(10);
#paragma omp barirrer

だと待っている間はCPU使用率は殆ど変わりません。
ちなみに自作のspinlockは下記のような感じです。
if(thread_num == 0)
{
asm volatile(
"Loop1:\n\t\t"
"movl (%0), %%eax\n\t\t"
"movl (%1), %%ebx\n\t\t"
"lfence\n\t\t"
"cmpl %%ebx, %%eax\n\t\t"
"rep;nop\n\t\t"
"jne Loop1\n\t\t"
:
:"r"(&lock->sync), "r"(&lock->maxthreads)
:"memory","%eax","%ebx"
);


370 名前: ◆0uxK91AxII mailto:sage [2010/04/21(水) 15:37:33 ]
>>369
方法はあるけど、物凄くマヌケで無意味だから誰もやらない。

371 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 19:01:35 ]
スレッドとかの切り替えを自前で用意するとか

372 名前:369 mailto:sage [2010/04/22(木) 09:40:25 ]
いろいろと試してみたのですが、マヌケな方法しか思いつきませんでした。
(スピンを何回かしたら、nanosleepを使うとか)
pthreadのライブラリのソースを見てみると、futexのシステムコールが呼ばれているようですね。
OpenMPで生成したスレッドの中で実行される関数間でスレッドの同期をとりたかったのと、
せっかくOpenMPを使っているから、
pthreadとか使いたくなかったので自前のspin_lockを作ってみました。
マヌケな質問をしてすみませんでした。



373 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 03:22:14 ]
ヒント:スピンロックを使わない

374 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 22:01:03 ]
Win32でスレッド間のイベント通知をやりたいんですが
2つのスレッドが同時にそれぞれSetEvent(), ResetEvent()を呼び出した場合の動作って定義されてるんでしょうか?
やっぱりクリティカルセクションで囲ってやらないとまずいですか?



375 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 22:39:08 ]
>>374
囲む必要は無い。

376 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 08:17:54 ]
>>375
ありがとうございます。

377 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 20:41:23 ]
イベントオブジェクト自体の動作には問題ないけど、
使い方ミスりやすいから十分気を付けた方がいいよ。


378 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 23:08:00 ]
プロのコードではイベントオブジェクトは使われない

379 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 23:37:24 ]
配布したときに問題が出るからな

380 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 03:50:40 ]
どんな?

381 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 22:45:33 ]
無名にすれば他のプロセスと衝突することも無いし、kernel32.dllだから別にDLLも不要だし問題が思いつかないな


382 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 07:37:01 ]
なんか勘違いしてんだろ


383 名前:デフォルトの名無しさん [2010/05/16(日) 21:15:32 ]
wait-freeなキューの実装を可能にするのに必要な不可分操作ってどんなんですか?

384 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 23:08:56 ]
候補となる不可分操作には何があるの?



385 名前:383 [2010/05/16(日) 23:57:41 ]
>384
JAVAのConcurrentLinkedQueueだとCASをつかってるってことしか知りませんが..


386 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 00:45:56 ]
wikiによるとcasみたいだね
ja.wikipedia.org/wiki/Lock-free%E3%81%A8Wait-free%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0

387 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 23:12:58 ]
スレッド間のヘルスチェックに定番な方法ってあるのでしょうか?
 ・マスターなスレッドAが外部変数にスレッド数分bit1を立てる
 ・B以降のスレッドは、自分に対応するbitを落とす
 ・一定時間、0じゃなかったら誰かが止まってるのでNG
とかすると、sem_wait()で普段寝ている人(これはその時だけ起こせばいい?)や、
recvやselectで待ってる人の確認はできない。。

388 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 00:00:00 ]
スレッドのヘルスチェックって要るのかな?プロセス間だったら必要かも知れなけど。

389 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 00:05:09 ]
大事な役割を持ったスレッドが刺さってないか確認したいんじゃないの

390 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 01:47:25 ]
タイムアウト指定して待ちっぱなしにならないようにするのが基本

391 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 18:56:29 ]
ワーカースレッドとUIスレッド分けたとき、時間のかかる作業を
ワーカースレッドがしているとき、UIスレッドはどうしているべきでしょうか

今は終わるのを待たずに終わるまでデータ変更の起こる操作を禁止しています
でもそれだとウィンドウ動かせるくらいしかメリットがないので考え中です

392 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 19:03:15 ]
>>391
俺は[中止]ボタンが押されるのを待つか、タイマーで定期的に終了したかどうか
チェックしてる。あとプログレスバー表示。

393 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 19:49:50 ]
ボタンを禁止にしたりキャンセルを受け付けたり面倒だよな
それとプログレって、量的な変化ならいいが、
手続き的な進行表示には不向きだよな

394 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 20:05:26 ]
全体量がわからないやつはつらいよね
\-/-\-...ってやつが好きw



395 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 21:03:40 ]
経過表示なら1/n「(説明)」〜n/n「完了」でいいと思うんだ

396 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 23:34:30 ]
progress_display「呼んだ?」

397 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 09:11:50 ]
いや、全然呼んでないよ

398 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:48:12 ]
マルチスレッド・アプリケーション開発のためのインテル・ガイド
www.xlsoft.com/jp/products/intel/article/guide/index.html

399 名前:デフォルトの名無しさん [2010/06/27(日) 14:54:02 ]
>>391
おれはその処理に関連するメニューだけロック(選択不可とか無視とか)して他の操作は許可してる
処理が終わったら通知ポップアップ
処理状況なんかはモーダレスじゃないプログレスバーかステータスバー表示

400 名前:デフォルトの名無しさん [2010/06/27(日) 15:01:41 ]
>>393
でも長時間うんともすんとも言わないと不安になるからそういう場合は一秒に一ブロックぐらい進むプログレスバー繰り返してる
中止は処理スレッドに定期的に中断フラグチェックさせてプログレスバーダイアログのOnClose/OnCancelで終了フラグOn+WaitForSingleObjectさせればOK

401 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 23:09:47 ]
ttp://blogs.wankuma.com/jitta/archive/2010/02/05/185818.aspx
なんかえらい絡まれてるくらい突っ込まれてるみたいなんだけど
やっぱりこの記事おかしいの?
それともコメントの方がおかしい?


402 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 23:28:25 ]
>>401
バブルソートを題材にするとか並列化のサンプルとして適切じゃないというかフェアじゃないというか、あえてそれを選ぶのはなぜ?って話でしょう。

403 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 23:40:12 ]
>何でもかんでも並列化すれば、等しく速くなるわけではない

記事の結論には同意だけど記事書いてるひとはアホ


404 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 02:56:46 ]
>>403
同意だな。
並列化に向いたアルゴリズムをつかわにゃ早くならんしな。
ていうか変数shareしすぎ。



405 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 08:13:40 ]
だらだらと下手糞なコードを書いて速くならねえよと喚かれてもな
そんな記事にはほとんど価値がない

406 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 09:47:23 ]
結局バグってたっぽいw
コメントが間違ってなければだが。


407 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 10:07:39 ]
記事自体は、アルゴリズムによって効率的に並列化できるとは限らないから云々んという内容なので、
記事自体が(素人にとっては)無意味だとまでは言わんが、
この人偉そうな言い方したり他人の記事に対しては重箱レベルで突っ込んだりもしてるくせに
自分の記事は内容が結構いい加減なんだよな。


408 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 11:48:12 ]
そんな人は世間にはいっぱいいる

409 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 23:15:55 ]
「並列処理は〜」と一般化された題材に対して、帰納法で証明しようとしているのが問題かな
「マルチスレッドに向かないアルゴリズムがある」というテーマならこの方法で十分だけど

410 名前:デフォルトの名無しさん [2010/07/04(日) 00:08:29 ]
むしろ、そうじゃない人を見たら驚く。ライターなんてゲームの販売と同じ。
品物を売るまで、記事を読ませるまでが勝負。その後や内容なんて気にしなくてよい。

411 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:24:14 ]
ライターじゃないだろ

412 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:39:12 ]
金とってんのか

413 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:39:57 ]
ひとをみたらライターと思え

414 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 17:20:36 ]
ゲームの販売と同じなら、クソゲー売り続けるのと名作売り続けるのじゃ全く末路が
違うことくらい分かるだろうにアホか



415 名前: ◆0uxK91AxII mailto:sage [2010/07/04(日) 20:15:36 ]
>>401
記事を書いている本人が明らかに知識不足で、可笑しい。
テキトーに眺めただけで、コイツはダメだって分かるレベル。

416 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:54:04 ]
並列化したプログラムの例として、アトミックな足し算使った合計計算のコードを出すような人だからな。
何がしたいのかさっぱりわからんレベル。
ほんとにまともなマルチスレッドのプログラム書いたことあるんかと。


417 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 21:44:51 ]
>アトミックな足し算使った合計計算

とりあえずPageRankみたいな巨大行列計算だと使うんじゃないかな。
並列化というより分散化したいレベルだけど。

418 名前:デフォルトの名無しさん [2010/07/04(日) 22:58:48 ]
まともに組んだことがない人の記事だな

419 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:30:55 ]
まあそこまで批判するべきことじゃない
わからないから試すのであって、わかるならする必要はない
まあ公開するならそれなりに検証して見栄を張るべきだとは思うけどねw素直すぎる

420 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 21:43:17 ]
MTでパフォーマンス出すには、理屈を理解する頭が無いとどうしようもない気はする

421 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:06:11 ]
分からないから試す、にも二通りある
「何が分からないかを分かった上で試す」のか
「何が分からないかも分からないまま試す」のか

まぁ>>401に関しては、ほんとにチラ見しただけでバカ記事っつーか、むしろ真面目に
叩いて貰えてるだけ幸せなんじゃね?
いやマジで、俺ならこんなのに関わる気にもならんわ。
どうせバカ記事書いた本人は「めんどくせぇのに絡まれたわ」程度にしか思わねーんだろ
と思うとなぁ。

422 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:20:05 ]
>>419
この人の並列処理関連のいろいろなブログ記事とかCodeZineの記事ね、
元々ほかの人の並列処理関連の記事の批判から始まってるんだよね。

ばかなこと書いてるやつがいるので俺が訂正してやるって、
ほんとにこういう感じなのね。
で、あの記事なんだわ。


423 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:23:21 ]
>>421
なぜ?氏の指摘はやっぱりおおよそ的を射てる内容なのかな?


424 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:27:57 ]
つうか着々と増え続けとる…




425 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:33:04 ]
へえ

426 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:01:42 ]
ほぉ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef