C#, C♯, C#相談室 Part98 (518レス)
上下前次1-新
397(1): (ワッチョイ 5b21-Hgda) 08/11(月)10:39 ID:dTIBHPC20(1) AAS
大量の演算を行って結果を配列に格納するんだけど
演算量(配列のサイズ)が2倍になれば時間も2倍だと思ってたのに
実際やってみると、ものすごく時間かかるのはなんでなのか
メモリを確保する都合かな、50MB程度しか使ってないけど
398: (ワッチョイ 174f-Fa+d) 08/11(月)10:47 ID:hg5eV/6v0(1/2) AAS
使ってる命令?
配列の最終項に1個追加するだけで、配列を1から順に追っかけなきゃいけない命令だと
配列が多くなるごとに倍倍で時間かかるわな
アセンブラやCのポインタ処理使って、データを直接ピンポイントで追加していけばそんなことにはならない
399: (ワッチョイ 275f-1Sq8) 08/11(月)10:53 ID:hpBrR+js0(1) AAS
キャッシュが効いてないからじゃね?
しらんけど
400: (ワッチョイ 174f-Fa+d) 08/11(月)10:55 ID:hg5eV/6v0(2/2) AAS
外部リンク:takap-tech.com
高級言語ってやだねぇ
毎回検証しなきゃならん
401: (ワッチョイ 7a4a-tghG) 08/11(月)11:06 ID:sBuKtcj30(1) AAS
未確認飛行Cの該当ページに注釈で答えが書いてある
402(1): (ワッチョイ df01-mcmG) 08/11(月)11:37 ID:fEsLiT7D0(1) AAS
>>397
そりゃその演算のアルゴリズム複雑度がO(n)じゃなくてO(n^2)とかそれ以上だからでしょ
配列のサイズだけ見ても意味がない
403: (ワッチョイ 9a79-F77j) 08/11(月)11:55 ID:sU8UUb9o0(1) AAS
計算すれば全てをO(1)にすることもできる
50MBも計算リソースがあればまずこのルートを探索する
404: (ワッチョイ 765f-6a3/) 08/11(月)13:42 ID:qd5s+Urc0(1) AAS
最初にたっぷり配列確保すればいいのでは
無駄とか知らん
405(1): (ワッチョイ aab9-Hgda) 08/11(月)14:19 ID:GZ+6RBr20(1) AAS
C#に限ったことだじゃないけど、CPUキャッシュに載るかどうかで速度は変わる
406: (ワッチョイ 17eb-z8TS) 08/11(月)18:29 ID:dNAHoV5P0(1) AAS
配列には一気にドーンや
ちまちま1つづつ入れてるなよ
407(1): (ワッチョイ aae4-Fa+d) 08/11(月)22:10 ID:hAY1vQI/0(1) AAS
CPUキャッシュって2MBとかだろ?
408: (ワッチョイ 3ef2-tghG) 08/11(月)23:58 ID:GcNu7+N80(1) AAS
どう使ってるかに尽きる
>>402が理解できないなら初心者スレ案件だし
409: (ブーイモ MMba-kzh/) 08/13(水)16:17 ID:ewrO98CeM(1) AAS
>>407
最近のはL3まで含めれば10倍以上ある
410: (ワッチョイ 8b01-02wO) 08/16(土)18:03 ID:qTXJOcaQ0(1) AAS
やっぱり皆さんazureの仕事が多いですか?
クラウドアプリのコーディングって大半が異常系のハンドリングになってしまうので書いててあんまり楽しくないです
411: (ベーイモ MM06-ZDX3) 08/16(土)18:47 ID:lMRwIhojM(1) AAS
Webアプリならインフラレベルの異常なんてDBのドライバやフレームワークに任せるのが基本だろ?
ビジネスロジック上の異常ケースの話ならクラウド関係ないし、なんでそうなるのかわからん
まさかDB触る度にネットワークの一時途絶とか個別に考慮して処理してるのか?
412: (ワッチョイ 0e1e-6a3/) 08/16(土)18:51 ID:odfu+VCZ0(1) AAS
仕事は24時間稼働してるシステムのお守りで、
プログラミングは趣味なので仕事の暇な時間にツール作ったりゲーム作ったりしてます
413: (ワッチョイ 17eb-z8TS) 08/16(土)20:12 ID:IfLv3W730(1) AAS
自己紹介は特に必要ないんで
414: (オイコラミネオ MM37-tghG) 08/16(土)21:32 ID:UyfGacJ5M(1) AAS
>>405
変わるけど、それはめちゃくちゃ高速化に詳しい人がすべてやった後に最後の最後の問題。
ほとんどの人はキャッシュよりアルゴリズムに改善の余地が沢山残されている。
415: (オイコラミネオ MM37-vKG+) 08/16(土)23:12 ID:8bJ0YWvyM(1/2) AAS
一番手軽なのは逆にキャッシュのアルゴリズムでかなり効果がある場合があるので下っ端でも意識すべし
二次元でy軸捜査してたのをx軸捜査にするとか
416: (オイコラミネオ MM37-vKG+) 08/16(土)23:21 ID:8bJ0YWvyM(2/2) AAS
今のプログラマでキャッシュを意識しないのはスクリプトのプログラマぐらいで
他は全員意識すべき事項
417: (オイコラミネオ MMa5-zJwz) 08/17(日)12:24 ID:/HUCNlQRM(1) AAS
キャッシュも意識した方がより良いが、アルゴリズムやデータ構造はもっと速度に影響を与える。
418(1): (ササクッテロラ Sp0d-p+dl) 08/17(日)14:53 ID:kLlULFyyp(1) AAS
アルゴリズムが必要な場所はたいていクラスライブラリになってるから無駄無駄
419: (オイコラミネオ MMa5-zJwz) 08/17(日)16:21 ID:achxPzU5M(1) AAS
>>418
クラスライブラリの中のどのクラスを使うかによって速度差が生まれる。
420(1): (ワッチョイ 7101-0Dtq) 08/17(日)17:56 ID:TBSqwQ7N0(1) AAS
アルゴリズムとデータ構造 バカの好きな言葉です
421(1): (ワッチョイ 59eb-sW/O) 08/17(日)18:07 ID:IwOhm0G90(1) AAS
今どきのハードで速度とか考えんとあかんくらいのデータ処理してるとか凄いですね
422: (ワッチョイ c981-Zw9H) 08/17(日)19:13 ID:rjpIABWW0(1) AAS
>>421
お前みたいな馬鹿には縁がない分野なだけだろ
423: (オイコラミネオ MMa5-zJwz) 08/18(月)02:31 ID:sjantNqdM(1) AAS
>>420
あなたは経験不足だね。
424: (ワッチョイ 5909-1GGU) 08/18(月)03:36 ID:mZOPLAYY0(1) AAS
マイクロ秒・ナノ秒単位で応答時間を気にしないといけない環境だと、
アルゴリズム・データ構造・通信データ量・エンコード/デコード・ヒープアロケーション・ディスクI/Oあたりのパフォーマンスは脳が自動的に考えちゃうな。
でもだいたいDBアクセスと通信の遅延がボトルネックになりがち。
425: (ワッチョイ 395f-p+dl) 08/18(月)07:15 ID:7qhgEGOW0(1/4) AAS
ナノ秒単位の応答速度で考えなきゃならないなんて、ハードのアクセスタイミングくらいしか無いぞ
そんな場所はたいていドライバの仕事や
426: (ワッチョイ 395f-p+dl) 08/18(月)07:17 ID:7qhgEGOW0(2/4) AAS
アプリ層じゃせいぜいマイクロ秒単位の速度しか管理出来ないだろ
上下前次1-新書関写板覧索設栞歴
あと 92 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.016s