- 1 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 20:40:46.53 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっとC#,C♯,C#(初心者用) Part88 toro.2ch.net/test/read.cgi/tech/1332305258/ ■関連スレ C#, C♯, C#相談室 Part71 toro.2ch.net/test/read.cgi/tech/1332575004/ ミスターサタンのC#相談室 toro.2ch.net/test/read.cgi/tech/1092656075/ VB.NET質問スレ(Part38) toro.2ch.net/test/read.cgi/tech/1325083428/ くだすれC++/CLI(初心者用)part2 toro.2ch.net/test/read.cgi/tech/1268613679/
- 705 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:08:46.16 ]
- >>701
HDDから読み込む時は1行だけ読むってやっても裏では一気に読み込んでるから平気だよ
- 706 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:10:26.78 ]
- >>705
一気に読み込んだものはどこにいったの?
- 707 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:10:52.79 ]
- >>706
OSがキャッシュしてまた読み込まれるときに備えてるよ
- 708 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:12:42.88 ]
- そうだよそなえてるよ
- 709 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:12:58.57 ]
- 北朝鮮 発射へ燃料の注入開始
北朝鮮は、人工衛星としている事実上のミサイルについて、 発射の最終段階である燃料の注入が始まったことを明らかにしました。 www3.nhk.or.jp/news/html/20120411/k10014367501000.html
- 710 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:13:11.65 ]
- 4GBの動画の場合は?
これも一気に読み込むの?
- 711 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:13:18.00 ]
- 僕の股間のミサイルも発射しそうです
- 712 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:14:50.06 ]
- なんか無駄多そうだぞ>LINQ
- 713 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:15:05.96 ]
- >>710
LINQ何に使うんだよ そんなもんLINQ使わなくても特別な配慮が必要に決まってる
- 714 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:16:46.60 ]
- >>705
表示するまで次のセクタの読み込み命令出してないのに?
- 715 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:17:27.89 ]
- そうだよ無駄だよー
- 716 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:17:42.50 ]
- そうだね出してないねー
- 717 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:18:16.24 ]
- 詭弁のガイドラインの実演会か
- 718 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:18:34.68 ]
- コンサートだよ
- 719 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:18:59.00 ]
- 将来の移植も考えるとLINQ手を出すべきじゃないな
- 720 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:19:30.39 ]
- そうです手を出すべきじゃないです
- 721 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:21:23.96 ]
- >>713
そういう問題じゃなくて、1行づつ読むコードなのに一気に読み込んでるんでしょ? その仕組みを教えてよ あと、キャッシュは一旦読み込んだファイルを 高速なメモリ領域に保持する仕組みであって 一気に読み出すのとはまた別の話だと思うけど そこら辺も詳しく教えてよ
- 722 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:23:17.03 ]
- そうだな教えてほしいな
- 723 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:24:10.77 ]
- 動画のヘッダだけ読み出したいときも一気に4GBも読み込むの?
しかもキャッシュされるの?どうやって?
- 724 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:24:38.84 ]
- >>721
普通、ストリームで最後まで読む場合でも小さいバッフアでちびちび読むと思うけど? 少なくとも.NETのライブラリの実装はそうだよ
- 725 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:25:21.16 ]
- どうやってだろうね
- 726 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:31:26.85 ]
- YES! GUTS!
- 727 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:36:36.16 ]
- 無敵のLINQでなんとかしてくださいよォ!
- 728 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:42:42.12 ]
- なにこのLINQ至上主義者
- 729 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:49:16.56 ]
- >>721
HDDから読み込むときの最小単位は512バイトだからその512バイト分はどうしたって読むよね 実際に一度にどのくらいのサイズを読むのかっていうのはちょっと検索してみたけどよく分かんなかったわ 512バイト分しか読まないことはないと思うけどね
- 730 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:56:15.96 ]
- Linqはまじ使えないって。
プログレスバーを更新できないからな。
- 731 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:08:58.82 ]
- マジかよLINQ
プログレスバーを更新できないんじゃ砂時計しかねーじゃねぇかよ ○●○●○● ↑こんなのトグルで表示して許してくれるお客さんばっかりじゃねーぞ!
- 732 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:10:44.23 ]
- 出来るだろ別に
PLINQとかで一個やるたびにプログレスバー進めりゃいいんだろ
- 733 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:13:07.63 ]
- ネタならネタでいいからせめて少しは笑えること書けよ。
ヲタ臭いんだよ。気色悪いっての。 モニターの前でデブヲタが引き笑いしてる気味が悪い絵しか思い浮かばん。
- 734 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:16:36.45 ]
- >>733
アンチグレアディスプレイおすすめ
- 735 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:18:01.45 ]
- つ 手鏡
- 736 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:18:29.15 ]
- 同属嫌悪?
- 737 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:18:57.56 ]
- >>732
なんだできんのかよ
- 738 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:22:31.93 ]
- >>737
できねーよ。
- 739 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:23:17.09 ]
- はっきりしろ!>LINQ
- 740 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:23:42.12 ]
- LINQの冒険
- 741 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:30:07.98 ]
- LINQタウン
- 742 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:17:48.73 ]
- お前は今までにSelectしたSequenceの数を覚えているのか?
- 743 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:47:26.42 ]
- めろLINQ
- 744 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:49:23.70 ]
- おっさん多すぎワロタ
- 745 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 03:15:37.57 ]
- こっそり質問させてください
ファイルが無い状態だと、usingのところで他のプロセスが使用中とエラーが出ます でも、ファイルはちゃんと作られていて、そのまま2回目実行すると正常に機能します どこが間違っているのでしょうか? if (!File.Exists("log.txt")) File.Create("log.txt"); using (StreamWriter sw = new StreamWriter("log.txt", true, Encoding.Default)) { sw.Write(log.ToString()); }
- 746 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 03:28:14.52 ]
- そのコードだとCreateのところがlog.txtを開きっぱなしで握ったままになってるので
Closeもしないと
- 747 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 03:40:05.82 ]
- if (!File.Exists("log.txt"))
{ var fs = File.Create("log.txt"); fs.Close(); } これでできました。ありがとうございました。
- 748 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 03:40:14.16 ]
- >>745
MSDNインストールした?
- 749 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:14:36.62 ]
- Windowsのキャッシュの仕組みも知らない奴ばかりなんだな。
マジレスすると、キャッシュマネージャが裏で勝手にある程度先読みしてる。 プログラムで読もうとしたときにセクタを読むわけじゃねーよ。
- 750 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:21:31.53 ]
- もちろんプログラムからの読み取りアクセスの形態をある程度考慮してて、
シーケンシャルな読み込みとかなら次にプログラムが読もうとする前に、 先読みして出来るだけ準備済みになるように制御してる。
- 751 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:28:37.95 ]
- まさかスーパーフェッチのこと言ってるんじゃないだろうなw
- 752 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:39:32.55 ]
- もし問題があるならアプリケーション側でバッファすることもできるし非同期で読んでもいいわけだし
LINQみたいにクソ抽象度高いものとそんな低レベルな話を一緒にするのが無理があるわw
- 753 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:43:02.87 ]
- スーパーフェッチ切ってない情弱なんてこのスレにいるの?
- 754 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:45:23.49 ]
- 特定の事にしか使ってないならスーパーフェッチは非常に有効
- 755 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 10:11:21.40 ]
- システムをSSDに入れてない奴なんているわけないよな
- 756 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 11:03:49.29 ]
- スーパーフェッチなんか関係ないつーの。
そんな設定とか関係なくWindowsでは勝手に自動で行われてる処理だよ。 まあFileStream内部のバッファも少しあるけどね。
- 757 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 11:06:17.84 ]
- あー無知は大人しくしとけよ恥ずかしい。
Windowsのキャッシュなんて明示的に使わない指定しない限り 当たり前に常に使われてるもんだよ。
- 758 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 11:10:37.38 ]
- Windowsのキャッシュマネージャーは確か、
前回2回分のプログラムからの読み取り要求を考慮して 次の先読み動作を自動的に行う。 プログラムから2回シーケンシャルに読み取り要求されると、 次回は読み取り要求される前にキャッシュにファイル内容が満たされるように、 自動で先読みが行われるようになる。
- 759 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 11:18:08.93 ]
- キャッシュに関する似たような話、予想と違う動作をする話としては、
FileStreamをフラッシュしてもファイルを閉じてもプロセス終了までしても、 ディスクへのデータの書き込みは完了しないなんてのもあるな。 今時のOS環境じゃ、OSが裏でやってることってのは複雑極まる。
- 760 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 12:18:20.24 ]
- アプリケーションレイヤーの事しか分からん奴がぐずぐず言ってんじゃねえってことですね
- 761 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 12:39:33.25 ]
- ファイルストリームのバッファサイズ設定とか意味あんの?
OSがキャッシュしてるものをさらにバッファリングとか
- 762 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 12:42:57.11 ]
- 素人が意味なんか考えんなよクソ生意気に
意味ないと思うなら勝手に減らしてろカス
- 763 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 13:38:27.50 ]
- 意味あるよ。
おかげでバイト単位とか、細かい粒度で読み込みしてもパフォーマンス上大きなネックにならない。 もしバッファがないと、読み込みの度にOSのカーネルモード呼び出しが発生して、 大きなパフォーマンスネックが発生する。
- 764 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 13:40:29.32 ]
- もちろんある程度のまとまりサイズで読み込む分には意味ないけどね。
- 765 名前:762 mailto:sage [2012/04/12(木) 13:42:51.96 ]
- やっぱ慇懃に煽った方が反応がいいな
あからさまなのは駄目だ
- 766 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 14:22:45.58 ]
- ワンパターン過ぎ
- 767 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 14:27:19.27 ]
- NGしてえ・・・
- 768 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 15:00:57.33 ]
- インサイドウインドウズ全部読めばキャッシュマネージャのこととかも書いてあるわけ?
- 769 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 15:36:12.74 ]
- しかし、計測してみると、
バッファを大きくしたり、一気に読み込むより、小さいバッファで回したほうが速いんだよね。 これはなんで?
- 770 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 15:40:24.17 ]
- 大きすぎてCPUキャッシュからあふれるとか
計測誤差とかじゃねえの
- 771 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 15:44:58.60 ]
- >>768
書いてあるけど、スーパーフェッチは第五版だから英語だけかな。
- 772 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 16:02:33.13 ]
- >>769
一気に読み込むサイズによるが、先読みの大きさは限られてるから、 粒度が大きくなりすぎると実質的に間欠読み込みな動きになってしまうんじゃないか? 要は先読みが一回に読み込むサイズの途中までしか利いてないみたいな。 あまり大きいと実質キャッシュなしに近くなるかもしれんしな。
- 773 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 16:05:34.32 ]
- ファイルIOやキャッシュマネージャら辺はもしかしたらVista以降では結構変わってたかもしれん。
- 774 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 16:13:20.33 ]
- スーパーフェッチだからな。
日本人はスーパーというと安いというイメージがあるが、アメリカではすげーって意味だ。
- 775 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 16:15:58.31 ]
- それってスーパーマンが流行ってた頃の話だろ
スーパーなんて死語だよ
- 776 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 16:24:43.16 ]
- スーパーファミコンだろ
- 777 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 17:24:37.52 ]
- スーパーチャイニーズだろ
- 778 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 19:11:51.70 ]
- 非同期ソケット通信でクライアント側送受信してみたいんだけれど
MSDNのサンプルだと理解できなかった。マニュアルリセットコールバックとかいきなり難易度高すぎた。 どっから始めたらいいのかなぁ。
- 779 名前:デフォルトの名無しさん [2012/04/12(木) 19:13:53.53 ]
- そんなあなたにWCF
|

|