1 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:57:54.51 ] ■公式 www.microsoft.com/japan/visualstudio/products/2010-editions www.microsoft.com/visualstudio/en-us/products/2010-editions (英語) ■フィードバック https://connect.microsoft.com/VisualStudioJapan/content/content.aspx?ContentID=12487 https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=14631 (英語) ■前スレ toro.2ch.net/test/read.cgi/tech/1317403825/ ■リンク www.atmarkit.co.jp/fdotnet/dnfuture/vs10net4_01/vs10net4_01_01.html blogs.msdn.com/b/visualstudio/ Visual Studio2010 ダウンロード一覧 blogs.msdn.com/b/dd_jpn/archive/2010/04/28/10003084.aspx Visual Studio 2010 Express版 ダウンロード www.microsoft.com/japan/msdn/vstudio/express/ Visual Studio2010 機能比較表 www.microsoft.com/japan/visualstudio/products Visual C++ 機能比較表 msdn.microsoft.com/ja-jp/library/hs24szh9.aspx ■Visual Studio 2010 Service Pack 1 www.microsoft.com/downloads/ja-jp/details.aspx?familyid=75568aa6-8107-475d-948a-ef22627e57a5
2 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:59:58.67 ] ■関連スレ Visual Studio 2005 Part 27 hibari.2ch.net/test/read.cgi/tech/1291513609/ Visual Studio 2008 Part 21 hibari.2ch.net/test/read.cgi/tech/1290969016/
3 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:43:58.64 ] Visual Studio 2012 Part3 toro.2ch.net/test/read.cgi/tech/1317403825/
4 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 05:40:28.66 ] 「帝国」の記憶が生きている―日本は世界最大の対外純資産保有国 「円の独歩高」について、日本経済が他国に比べて相対的に信用されている証拠という持論も、一部で知られている。 世界経済の不安定要因は、デリバティブ(金融派生商品)という市場外取引だけで、世界中で生産される財とサービスの総額(GDP)の約9倍、 600兆ドル(約4京6800兆円)という金融肥大化である。たとえば、その5%でも買いや売り一辺倒になれば、一気に30兆ドルが動く。 欧州と同じように金融の弱体化に苦しむ米国、貿易黒字を荒稼ぎしてきた中国経済にも陰りがみえる中で日本には、40年来続く円高に負けない強さがある。 「その対外純資産は世界最大であり、債務を全額返済しても、国民1人当たり約220万円の純債権が残る勘定です。 外国債券が目減りする前に10兆円くらいを取り崩せば、検討中の増税分くらいはまかなえる」と、増田氏は語る。 sankei.jp.msn.com/economy/news/111229/fnc11122908320001-n1.htm
5 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 06:03:00.02 ] -‐ '´ ̄ ̄`ヽ_ ┏┓ ┏┓ ┏┓ / ̄//" `ヽ / \ ┏┓┏┓ ┃┃ ┏┳┛┗━━┳┛┗┓┏┳━━━━┓ | ./, '. l / ヽハ ゝ、 | ┃┃┃┃ ┃┃ ┃┣┓┏━━┻┓┏┛┗┫ ┣━━/. {_{\∧/|//リ| l` | |━┓┃┃┃┃ ┃┃ ┃┃┃┗━━┳┛┗━━╋━━━┓┃ .レ!小l● ●ノN | | ┃┃┃┃┃ ┃┃ ┃┃┗━━┓┃┃┃┏┓┃┏━━┛┣━━.ヽ|l⊃ 、_,、_, ⊂⊃/| .|━┛┗┛┗┛ ┃┃ ┃┣━━━┛┃┃ ┃┃┃┃ ┃/⌒ヽ|_ ヘ ゝ._) j /⌒i ! ┏┓┏┓ ┗┛ ┗┻━━━━┻━━┛┗┛┗━━━┛ \ / `\>,、 __, イァ/ /| | ┗┛┗┛ \/. l ヾ:::|三/::{ヘ、__∧| |
6 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 09:54:49.82 ] vnextの正式名決まったの?
7 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 13:45:52.10 ] vnextはWinRT対応優先で C++11対応が後回しになって残念
8 名前:デフォルトの名無しさん [2012/01/04(水) 18:00:18.25 ] vNextが正式名称じゃないの?
9 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 19:39:13.31 ] >>1 あ〜、やてもうた だからVSなんかヴァージョンごとに分けてもスレッドが、伸びないんだから統合スレにしろいっただろ ボケ 消せ アホウ
10 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 20:07:10.94 ] 悔しさ滲ませ過ぎ
11 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 22:14:45.01 ] やっと別れたか >>1 乙
12 名前:デフォルトの名無しさん mailto:age [2012/01/05(木) 21:51:18.38 ] OpenMPでプログラムの並列化に取り組んでいるんですが、 スレッド生成・クローズのオーバーヘッドが大きすぎて逆に遅くなってしまいます。 #pragma omp parallel for for( int i = 0; i < N; i++ ) { ・逐次処理では30000クロックほどかかる処理 ・ループ間での依存性はまったくなし } こうすると60000クロックくらいかかってしまうので、 スレッド生成・クローズのオーバーヘッドが30000クロックもあることになります。 このオーバーヘッドを避けたいと思い、調べていると、スレッドプールというテクニックがあることを知りました。 予めスレッドを生成しておいて、必要に応じてそれを割り当てるという方法です。 この方法だと、最初の一回だけスレッドを生成すれば後はfor文に差し掛かる度にスレッドを生成する必要がなくなります。 ただ、これを実装するのは、OpenMPとは比べ物にならないほど煩雑で気が進みません。 そこで、VC++2010で追加されたPPL(Parallel Pattern Library)がどうかと思ったのですが、 スレッド生成オーバーヘッドが小さかったり、あるいはそれを回避する手法を手軽に取れたりするでしょうか?
13 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 22:39:15.06 ] とりあえず実測してみたら
14 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:24:18.88 ] データ分解するときはオーバーヘッドを償却出来るだけの十分に大きなデータ量があることを保証しなくちゃいけない。 せめて30億クロックくらいかかる処理じゃないと、効果は実感できないかもねー。
15 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 03:58:58.06 ] 2010って起動が遅いなぁ……と思ってたら、これPC電源入れてからの初回起動時だけなのね
16 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 05:59:16.12 ] Windowsのスレッドってタイマー依存だから遅くね? どうやってもスレッドスイッチに1msかかる欠陥品っしょ? スレッドにしないで自分で処理単位を細かく切って並列っぽくしたほうが冗談ヌキで1万倍(笑)ぐらい速い
17 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:13:09.24 ] 冗談ヌキなのに1万倍(笑)っスかw
18 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:39:02.20 ] デバッグモードだから遅くなってるって事はない?
19 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 10:22:43.15 ] >>12 ompは最初の1回スレッドを作ったらプールしておいて 2回目以降の呼び出しではスレッドは作らないっぽいよ。 PPLはschedule dynamicみたいな処理が勝手に入ってて 1カウントごとの処理が小さければ小さいほど スケジューリングのオーバーヘッドが大きくなるという素敵仕様だった。 >>16 CPU個数分のスレッド数にするのがデフォだから 基本的にスレッドスイッチしないんじゃね。 なんで本物の並列処理と 1CPUをスライスする並列っぽい処理を比べるんだよw
20 名前:12 mailto:age [2012/01/06(金) 22:07:44.78 ] >>13 それが一番ですね。 >>14 やはりそうなりますか・・・ かなり大きな粒度かつ完全に独立した処理をOpenMPでマルチスレッド化(デュアルコア)したときは 1.7倍ほどの効果が得られたので、そういう使い方になりそうですね。 >>16 Windows依存の問題ということですか? これからはマルチスレッドで性能を上げないといけないという機運なのに、 OSが足を引っ張るというのはいかがなものか、というかんじですね。 >>18 いえ、Releaseモードですし、OpenMPもReleaseモード版のものです。 >>19 え!?スレッドプールやってるんですか!? それにしては最初もそれ以降も同じクロックがかかっていますね・・・ コンパイラはVC++2008なんですが、Intelコンパイラなんかとは実装が異なったりするんでしょうかね?? >1カウントごとの処理が小さければ小さいほど >スケジューリングのオーバーヘッドが大きくなるという素敵仕様だった。 ぎゃー。 PLL残念ですorz
21 名前:12 mailto:sage [2012/01/06(金) 22:11:28.96 ] s1.gazo.cc/up/s1_10688.png OpenMPによるマルチスレッド時のクロックをもう少し詳細に調べてみました。 物理コア数分のスレッドまでは、スレッド生成オーバーヘッドを、 マルチスレッド化による効果がある程度抑えようとしているようですが、 それ以上になると完全にスレッド生成オーバーヘッド分が上乗せされるだけになるようです。 ループ内の処理は、SIMD演算をパラでやっているので、おそらく演算器の利用効率は高く、 ハイパースレッディングによるマルチスレッド処理の余地はあまりないのではと考察できます。 物理コア数があってナンボですね。
22 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 22:57:00.07 ] 走るスレッド数は論理コア数が既定だったんだな OpenMP使ったことないけどなんとなく物理コアが基準だと思ってた まあその状態でSIMD回したりしたら効率悪いよそりゃ
23 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 01:47:15.52 ] オーポンMPがスレッドの生成・破棄に関して 繰り返し時にスレッドをスリープして再利用するか 破棄→生成という重い処理をやるかは「コンパイラ次第」だそうな。 で。Visual C++ 2010はOSのスレッドプールなる機能を利用して スレッドの再利用を行うが、この機能はVista及び7に実装されています。 さようなら、XP。
24 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 02:00:02.76 ] 北朝鮮の金正日(キム・ジョンイル)総書記の遺訓を守るという北朝鮮が、 最近、連日のように偶像化に動物を動員している。 最も多いのは鳥だ。 最近、労働新聞など北朝鮮官営メディアは、金正日総書記の死後、フクロウが 悲しそうに鳴き、ワシが集まったなど奇異な自然現象が起きた、と報じた。 5日の労働新聞にはクマまでが登場した。 冬眠をしていたクマが突然目覚めて 鳴いたということだ。 この日の労働新聞は、金正日が最近訪れた大興(デフン)青年英雄鉱山の 労働者が悲報を聞いて弔意を表す時、3頭のクマが道路に現れ、悲しそうに鳴いた、 と伝えた。 母クマ1頭と子グマ2頭だったが、それらしき目撃談を伝えながら 「洞窟の中で眠るクマが人が行き来する真昼に、敬愛なる将軍様が通られた 道路に現れ、大きな声で長いあいだ鳴いたのは非常に珍しい現象」と強調した。 鳥の異常な動きも見られたと伝えた。 労働新聞は「慈城郡シンプン里では早朝から、 金正日総書記のモザイク壁画の上空に突然100羽を超えるカササギが飛んできた。 名川(ミョンチョン)地区の炭鉱周辺でも数十羽のカササギが飛んできて2時間ほど 休まずに鳴いた」と報道した。 この日、労働新聞は「鳥は人が近づいても動かなかった。 よく見ると、 鳥が木の枝をしっかりと握りながら固まってしまった」とし「後に分かったが、 民族大国葬の悲報が伝えられた日の晩からそうだった」と伝えた。 神話に登場するような内容の記事は、労働新聞の社会面に掲載された。 金晋希(キム・ジンヒ)記者 . japanese.joins.com/article/153/147153.html?servcode=500§code=500
25 名前:12 mailto:sage [2012/01/07(土) 02:17:29.77 ] >>23 >で。Visual C++ 2010はOSのスレッドプールなる機能を利用して >スレッドの再利用を行うが、この機能はVista及び7に実装されています。 おお!すばらしい! これだけでもWin7&VC++2010に移行する価値があります! WinXPとおさらばします!
26 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 02:25:24.49 ] スレッドプール自体はVC2005から実装されてる。 msdn.microsoft.com/ja-jp/library/fw509c3b (v=VS.90).aspx しかし、対応OSはVista以上 msdn.microsoft.com/ja-jp/magazine/gg232758.aspx >Windows Vista と Windows 7 には、開発者が直接使用できる、 >最適化されたバージョンのスレッド プールが用意されています。
27 名前:12 mailto:sage [2012/01/07(土) 12:57:44.50 ] >>26 興味深い記事をありがとうございます! VC++2010はパフォーマンスを可視化するツールが付属しているんですね! AVXにも対応してるし、VC++2010に移行することを決意しました! i.msdn.microsoft.com/gg232758.Fosner_Figure4_hires (en-us,MSDN.10).png この図で、並列処理の最初と終了後で黄色の割合が大きいのは、 OSがスレッドの生成と破棄を行ってるからですよね? これを見ればスレッド生成オーバーヘッドの定量的把握も一目瞭然ですね。
28 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 14:39:24.10 ] 三冠陥落で目が覚めた!? フジテレビがついに韓流から決別か ※イメージ画像:『嫌「韓」第二幕! 作られた韓流ブーム 』/宝島社 www.menscyzo.com/images/hanryu0106.jpg 「出てけ! 日本が嫌だったら出てけ!」 今月17日に放送を予定している『なかよしテレビ』(フジテレビ系)の番組宣伝VTR中で、マツコ・デラックスが叫んでいる言葉である。 このマツコの言葉に、多くのネットユーザーが素早く反応、多くのスレッドが立ち「よく言った」「韓国ざまぁ」「本放送が楽しみだ」などとマツコを賞賛するコメントが寄せられている。 昨年の10月から放送をスタートしている『なかよしテレビ』。番組のコンセプトは、「日本を含むアジアを中心とした3カ国の出演陣が、さまざまなテーマについてお国自慢をする」というもの。 主に日中韓による討論形式のバラエティなのだが、その内容はバラエティの域を超えて、 各国の人々の本音が垣間見えるものとなっている。 似たような番組として同時期に始まった『世界のみんなに聞いてみた』(TBS系)があるが、3カ国に特化した同番組の構成は、より激しい討論を展開させている。 そんな番組に初出演を果たすマツコは、「K-POPに物申す」というテーマで論を展開している模様。 「日本の芸能界は草野球。韓国の芸能界はプロ野球」と主張する韓国人出演者に対し、「K-POPとか見ているとアメリカのパクリにしか見えない」と言い放ち、 「あんたたちの音楽も受け入れてやってる」「これだけ懐の深い国がどこにあるんだよ!」と主張する。 もちろん、これらの発言は先日から同局で流されている番宣VTRを見たものであり、それ以上でもそれ以下でもない。どういった経緯で、そういった話になったのか、またその後どんな結論になるのかというオチについては、本放送を見るまではわからない。 だが、冒頭に記した「日本が嫌だったら出てけ!」というマツコの言葉は、紛れもなく本人の口から出ている言葉であり、多くのネットユーザーがこの言葉に共感しているのは間違いない。 そしてまた、この番組を放送するのがフジテレビというのも彼らの興味を引く要因になっている。 www.youtube.com/watch?v=Q_5Mc532Vts www.youtube.com/watch?v=dSGHNKy5IbM
29 名前:デフォルトの名無しさん [2012/01/07(土) 14:59:08.43 ] Visual C++の __asm を使ってみたんだが、全く同じコードを NehalemアーキテクチャのCPU(i7 870)だとコンパイルが通って Core 2アーキテクチャのCPU(Core 2 Duo P8600) だとコンパイルが通らなかった。 どっちも 64bit でコンパイルしたんだが、NehalemがサポートされててCore 2がサポートされてないなんてあり得るのだろうか。 Core i7マシンはWindows 7 Ultimate(64bit)、 Core 2マシンはWindows Vista Ultimate(64bit)。何か情報頼みます
30 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:22:09.61 ] x64ビルドだとasmは使えないってことだけ知っている
31 名前:デフォルトの名無しさん [2012/01/07(土) 16:11:56.04 ] メモリーリークを検出するデバッガは、VS2010のどのエディションについてるの? 近いうちに買おうと思うんだけど。 今VS2005でやってるけど、なんかデバッグ中のプログラムを終了させると メモリーリークっぽいログを大量に吐き出して終了するのに数十秒ぐらいかかる。 どこを修正したらいいのかさっぱり分からない。
32 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 16:55:11.84 ] >>31 >メモリーリークっぽいログを大量に吐き出して それってメモリーリークを検出するデバッガじゃないのか? 大抵のツールはリークしている領域がどこで確保されたかはわかるはずだから、 それが本来解放されるべきところで解放されているかを確認すればいい (まあ、 でかいソフトだとこれが結構大変だけど) だけだと思うが。
33 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 17:22:39.03 ] >>31 でかいプログラムのC++へのベタ移植なんで、結構大変なんですw 多分、COMオブジェクトの解放ができてないとかだと思うけど、ダラダラと16進数を吐き出されてもさっぱり意味がわからない。 トレースしてる最中に、「今この変数でリークしました!」みたいなのを教えてくれるようなデバッガてないんですかね? 定評のあるものだったらMS以外の製品でもいいです。
34 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:01:53.50 ] デバッガを用意するまでもなく 適切な場所で開放されたかどうかは 全リソースに紐をつけるだけでプログラムのレベルで知る事ができる COMだからといって特別なことはない プログラマが考えるメモリリークとデバッガ(を作った人間)が考えるメモリリークが 同一のものかは判らないので、デバッガに頼るのは危険である
35 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:26:41.81 ] >>33 > ダラダラと16進数を吐き出されてもさっぱり意味がわからない。 その意味を調べようとかは思わんのか... msdn.microsoft.com/ja-jp/library/e5ewb1h3 (v=vs.80).aspx >定評のあるものだったらMS以外の製品でもいいです。 所望の機能があるかどうかは知らんけど、定番は purify とか DevPartner とかじゃね。
36 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:30:32.62 ] >>34 その説明はよく分からないデスw 紐を付けるってなんですか? 私はデバッガを使わない解決方法を探しているのではなく、 デバッガを使うことで問題箇所を見つけたいんです。 自分の能力的に、現状ではどこに問題があるかさっぱり分からないので。
37 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:36:22.69 ] >>35 それはググって調べて試してみたんですが、なんか書いてあるようにリーク箇所のパス情報が出てこなかったんですよね。 やり方がまずいのかな。 もう一度試してみます。
38 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:37:38.67 ] 現状、メモリリークってひとつひとつ処理をコメントにして実行して メモリリークがないこと確認してってやるぐらいしか方法しらない なんかよさげなツールあったっけ? VSってなにもやってくれない気がしたけど
39 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:58:35.44 ] >>37 >それはググって調べて試してみたんですが、なんか書いてあるようにリーク箇所のパス情報が出てこなかったんですよね。 また、後出しかよ... いち抜〜けた。
40 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:45:10.07 ] つまりデバッガではメモリリークは解決しないと書いておるのだが喃
41 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 22:40:40.08 ] できそうな気もするけど なんでいつまでたってもできないんだろうね?>メモリリークの検出 ゲーPGだったころ実装した自作のスクリプト言語ですらこんなの当たり前にできたけどねw やっぱ複雑さが違う?w
42 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 22:47:50.71 ] 人並みのスキルと情報収集能力があれば簡単に出来るけどな
43 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 22:59:39.85 ] メモリリーク気にしないといけない、スクリプト言語って…
44 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 23:40:00.26 ] メモリリークの検出そのものはExpressエディションでもできる。 終了時に解放されていないメモリは警告文が出る。 2010からは単純なシングルトンパターンについては警告エラーを出さないほど コンパイラが進化している。マックスうれぴぃ。 APIを使って特定領域のメモリリークを調べるツール群(可視化ツール)は Professionalエディション以上が必要。8万円。 2008ならStandardエディションにもついてたのになぁ。 StandardエディションはSpy++がついてたり、パフォーマンスツール群がついてたり、 安いけどお便利だったのに、マイコリシフトは日曜プログラマの存在を認めない。 学生ならドリームスパークで無料だし、 職業プログラマなら技術者ライセンスで何でも使い放題だし、 どっちでもない人は死ねと。ああGCC使え、と。
45 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 23:57:13.71 ] うーん モノによってはっつーか 大抵のプログラムだとまったく検出できないくて ただダンプだけ吐いて終わるじゃん たしかにソースで確保した箇所が表示されるときはあるにはあるよ ただ、そっちのが稀で 大抵はまったく検出できない役立たずな状態のまんまだよね まあ、もうC#使ってるから別にどーでもいけどさw
46 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 00:00:02.28 ] newして放置してるだけのたいていのメモリリークなら検出できるだろ なにを持って検出できてないって言ってるんだ
47 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 00:01:26.69 ] >>46 ダンプだけ吐いて終り でてきたログをダブルクリックしてもどこで確保したメモリなのか追跡できない ってのが大半なのよ ここまで知らないとVS使ったことないんだろーけど
48 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 00:09:28.86 ] >>47 // stdafx.h #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> #ifdef _DEBUG #ifndef DBG_NEW #define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ ) #define new DBG_NEW #endif #endif // _DEBUG // test.cpp #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); int* a = new int; return 0; } // 出力ウィンドウ Detected memory leaks! Dumping objects -> test1.cpp(8) : {101} normal block at 0x0000000000488320, 4 bytes long. Data: < > CD CD CD CD Object dump complete. ちゃんと位置わかるけど
49 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 00:11:00.21 ] >>48 開発経験浅いのな ほとんどでねぇからマジで でないほうが多いぐらい
50 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 00:14:24.71 ] >>49 それはあんたの使用方法が間違ってただけかと
51 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 00:17:54.29 ] >>50 違うって マジででないって上のほうでもでないって人いたじゃん でなくなる法則とかそんなの知らないけど 仕事で組むようなプログラムだとまず検出できない ある程度の規模を超えるとでなくなるのか それともスレッドガンガン立てたりすると出なくなるのか そういうのあんのかも知れないけど 仕事で使うような場面だとまず間違いなく出ない場合のが多い 単純にnewしたものの解法忘れだって場所わかんないって感じになる 単純な小さいプログラムだとそういうことがないのかもしれない
52 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 00:22:40.70 ] ゲーPGだったころ タスクシステムって構造を作って各要素をnewすると 100発100中で検出できなかったなw
53 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 01:12:19.74 ] それってリークって言うより、データ壊してるんでは
54 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 02:08:56.23 ] リーク対象のソースファイル名や行番号は__FILE__と__LINE__マクロを使って取得する仕組みだしな。 new演算子で確保したメモリのリーク箇所を確認する場合、>>48 みたいに予約語をマクロで置換するか、 _CrtSetAllocHook関数とStackWalk系のAPIの組み合わせで何とかするしかないだろうな。
55 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 10:06:07.05 ] >>51 問題の切り分けも、マイクロソフトへの問い合わせもできないぼんくらと言うことはよくわかった。
56 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 10:32:08.92 ] マイクロソフトに問い合わせなんて宛名書かずに郵便出すようなものじゃないのか
57 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 10:55:30.96 ] メッセージボックス直してくれよ(親を指定しても無視される)ってのは送ってみたけど回答きてないなw
58 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 11:21:47.17 ] >>56-57 ちゃんと金払ってる? 払ってて、回答がこなかったことはないよ。 契約してるんだし、普通ありえないと思うけど。 まあ、回答で解決したかという問題はあるけど…。(w
59 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 13:37:55.05 ] なんでVC++は自動ベクトル化しないんでしょうか? 技術的に難しいのか、 Intelに特許を握られているのか、 将来のフィーチャーとして出し惜しみしているのか、 どれなんでしょう??
60 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 13:39:10.96 ] 技術的に難しい
61 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 13:39:33.08 ] すdねい自動ベクトル化済み
62 名前:59 mailto:sage [2012/01/08(日) 15:01:14.05 ] >>60 ありがとうございました。 >>61 いや、そんなはずは・・・ VC++2010で実装されたんですか??
63 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 21:45:22.82 ] VC++の開発に、IntelはMSに人出してるよ。
64 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 22:42:01.95 ] VS2010はSP2ってあるんかなあ
65 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 23:03:46.79 ] ないだろ
66 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 23:42:24.76 ] VS2010ってなんだったんだろうな
67 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 00:18:59.33 ] マルチスレッドってどっから勉強すりゃいいんだろな。 少なくともプログラミングWindows、並行コンピューティング技法、C++クックブックの3冊は 「何らかのマルチスレッドプログラミングの経験を前提とする」と書いてあって、 つまり「マルスレの初歩的な知識みにつけてから来いや」となっている。 で、「マルチスレッド」と書かれた本を探すとどれもこれも 「未経験不可」の文字列…。 んー。みんなテキトーな経験と知識でお茶にごしてんのか。 すごいなぁマルチスレッド。
68 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 00:51:31.13 ] >>67 www.shuwasystem.co.jp/products/7980html/1462.html ちょうど今日からこの本を読み始めたけど、 すごく初歩的なことから丁寧に教えてくれるし、 並列コンピューティングを体系的に整理することができてすばらしいよ。 おすすめ〜。
69 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 01:56:18.10 ] Windowsのスレッドってスレッド切替するのに1msは最低かかるみたいなんだけど そうならない組み方ってどうやったらできるの? 言語はC#です 自分でやるとどうやっても1msかかってしまうのですが そうならないスレッドの作り方を教えていただけないでしょうか?
70 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 01:56:47.41 ] あ、前半の文章が消えてませんでしたw
71 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 07:58:36.59 ] >>69 >自分でやるとどうやっても1msかかってしまうのですが なにをどうやって、どう測定しているのかをエスパーしろって言うこと?
72 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 09:22:58.71 ] 分からない人はエスパーしなくていいんじゃないかな ただ難癖付けるだけでプライド保とうとする人間は邪魔
73 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 09:40:46.89 ] わかるというなら、君が答えてやれよ。 > ただ難癖付けるだけでプライド保とうとする人間は邪魔 自己紹介乙
74 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 10:08:06.31 ] >>73 正しい対処の仕方はこう ・どうやって測定したの? ・測定した方法が分からないのでなんとも言えないが自分の考えだと云々 >>71 のレスよりもやわらかい言い回しでなおかつきちんと伝わるだろ? こういうレスをするように心がけようよ 相手をさりげなく非難するようなレスをした場合、むかついたからふざけて答えたのか 本当に理解していないのかそれが第三者に伝わらない お前には自覚は無いんだろうが、お前のようなレスが多いと後でログたどる人が苦労する
75 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 10:20:46.12 ] >>74 この場合関係なくないか? 単純に1msかからないスレッドの作り方があるというなら出してやればそれで終 でもタイマーの分解能が1msだから1msかかっちゃうんじゃない? スレッド立てれば立てるほど超遅くなるよ
76 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 10:37:10.73 ] スレッド切り替えの話じゃなかったのか
77 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 10:40:49.95 ] >>75 ああ、そういうことっぽいね。 RDTSCやQueryPerformanceCounterを教えてあげたらいいだろうか。
78 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 11:28:49.89 ] どう考えても>>71 が馬鹿なだけなのに なんで逆切れしてるの?w
79 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 12:12:49.04 ] >>74 やわらかい言い回しと言いつつ、お前呼ばわりかよ。 > 自覚は無いんだろうが 笑うところですか?
80 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 12:50:49.32 ] >>77 それってスレッドに適用できるんだろうか? スレッドはBeginPeriodで設定した値で動いてるように見えるんだけど
81 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:26:01.08 ] Windowsのスレッド切り替えは20か25msくらいじゃなかったのか? 何時から1msになったんだ?
82 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:31:08.18 ] msdn.microsoft.com/ja-jp/library/cc464175%28v=vs.71%29.aspx >プロセッサは、一定の間隔(ミリ秒単位)でプロセスを切り替えているため 絶対に1msを消化するってことだな Sleepを何度も通るような処理だと確実に10秒かかるとかそういう感じになるんじゃないだろうか?
83 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:32:21.22 ] >>81 BeginPeriodで設定した値になってるっぽい 俺がやった感じだと 処理が重いアプリ起動する前に自作のBeginPeriodを実行するだけのexe読んでやると早くなるよw
84 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:34:30.80 ] ゲームでオブジェクトごとにスレッド立ててるアフォがいて 10個も出したらもう処理オチっていう・・・
85 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:42:39.85 ] msdn.microsoft.com/ja-jp/library/cc464185%28v=VS.71%29.aspx >マルチスレッドアプリケーションを開発した経験がない方は驚くかもしれませんが、スレッド作成とスケジューリングには膨大な CPU オーバーヘッドがかかります。 >このため、結果として、シングルスレッドアプリケーションの方が高速に動作するようなこともあるのです。 まあ、こういうことだよね
86 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:42:58.53 ] >>82 あんたがこの話を始めた人かどうか知らないけど、1ms「かかる」だの「消化する」だのって 自分がとういう意味で使ってるかよく考えてる? 延々とやってるけど、正直何が言いたいのか全然わからない。 確実にいえることは、おかしいのはWindowsのプロセス切り替えじゃなくてあんたの理解の方。
87 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:45:16.92 ] 質問者に回答すると1msは絶対かかるのであきらめろでFA
88 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:49:31.14 ] じゃあ、上のほうで測定方法云々言ってた奴はなんなの? 知ったか?
89 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:02:44.14 ] ほら、こうなるから >>71 書いたのに、アホがしゃしゃり出てきてぐちゃぐちゃにしてるだけじゃん。 1ms というのがコンテキストスイッチにかかる時間なのか、タイムスライスの時間なのかすら、 本人にさえ理解できていないような状況だと、どうしようもないだろ。
90 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:04:33.87 ] 別に判断する必要もないと思うけどね 質問者のレベルならとくに必要ないだろう 簡単にいうとスレッドは遅いってこった
91 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:28:43.86 ] >>89 どうしようもないのなら何もしなければよかったんじゃないの?
92 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:36:58.29 ] >>89 はすでに腹を切ったよ・・・どうしようもなかったって遺書に書いてあった
93 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:39:14.29 ] >>71 は頭が悪過ぎる割には頑張るなw
94 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:43:24.57 ] >>91 どうしようもないから、「なにをどうやって、どう測定しているのか書けよ」って言うつもりで 書いたんだけど、伝わってない? まあ、伝わらなかったらそれまでと言うことで。 >>93 口が悪いのは認めるけど、頭悪いって、どこの発言から判断したのかな? 書けるなら、書いてみなよ。どうせ無理だろうけど。(w
95 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:48:27.55 ] >>71 程度のレベルだとまだマルチスレッドプログラムは 早過ぎってこった
96 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:50:05.92 ] >>94 言うつもりで書いたのなら伝わってなくても仕方ないね 今後は自分の意見を率直に表現することをお勧めする
97 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:56:34.15 ] >>95 はいはい、具体的には何も指摘できないってことね。 想定どおりの、アホ回答乙。 >>96 お勧めありがとう、従う気はさらさらないけど。
98 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 14:59:41.15 ] まあ>>71 は馬鹿は回答しなくていいよっていう見本だな
99 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 15:03:12.95 ] >>98 まあ>>98 「の」 馬鹿は回答しなくていいよっていう見本だな 日本語ぐらいまともに使えるようになれよ。(w
100 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 15:03:13.68 ] しかも、測定方法なんて関係ないもんなぁアイタタタタタ・・・
101 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 15:05:31.09 ] なにを測定しているかもわからんのに、「測定方法なんて関係ない」と言い切る アホほどは痛くないけどね。(w