Visual Studio 2005スレ Part8
パフォーマンスを極限まで追求するアプリなら、 そもそもCランタイム関数を使う時点で間違ってるし。 素のWin32 APIとアセンブラで組め。
80-20の法則に従えば、ボトルネックになってる部分だけでも
Cランタイムに依存しない形で実装すれば、Cランタイムの
シングルスレッド/マルチスレッドの違いなんて無意味になる。
それを理解せずに、盲目的に「マルチスレッドランタイム=遅いから×」
とか言ってレガシーなものを使い続けるのはナンセンスだ。
ちょっと前までは、「Windowsアプリにすると遅い」とか言って
頑なにMS-DOS用のゲームを作り続けてたベンダーがあったが、
>>917 はそれと同じくらいアナクロな発想。
試しにrand()関数で検証してみますた ※検証方法 rand()関数で乱数の生成処理を1000000000回繰り返すという処理を シングルスレッドとマルチスレッドで行う 共にリリースビルド ランタイムライブラリ以外全て同じ設定にした ※結果 シングルスレッド 27.7秒 マルチスレッド 67.5秒
UNIXerから言わせれば、アプリごとにlibcがSide-by-Sideで必要な事自体が異常なんだが。
957 :
955 :2006/01/31(火) 07:17:07
ちなみに生成された実行ファイルのサイズは シングルスレッド 40kbyte マルチスレッド 44kbyte 同じことをvc2005でやってみたら(これはマルチスレッドのみ) 実行結果は126秒で 実行ファイルのサイズは60kbyteですた
>>956 それは単一のライブラリしかないということでしょ。
Winでのマルチスレッドライブラリの弊害をすべて持ってるわけでシングルスレッドライブラリの利点を持っていないことに気づいていないだけ。
>>958 そんなこと君に指摘されなくても、Performance-sensitiveな処理は
libcなんぞに依存しないように書くのは当たり前。
>958 956のは、MSVCR80.dllとかがwindows\system32に放り込めない、 と言う話だと理解したけど。シングルスレッド・マルチスレッドは関係なくね?
どうしてもシングルスレッドランタイムを使いたいなら、VS2003から移行するな。 これでFA。
962 :
958 :2006/01/31(火) 07:35:07
>>959 ?ライブラリにすでにマルチスレッドだったら処理が組み込まれているのにそれを同依存しないように書くと?勘違いしてるので後学のために教えてください。
>>960 いやそういうことじゃないんですか?物理的にdllがというよりも何で二つもライブラリがあるのということをいってるみたいだから。
>>962 全てのC++アプリはlibcやmsvcrtに依存「しなければならない」と思い込んでますか?
964 :
958 :2006/01/31(火) 07:48:01
UNixerのいってることはそういうことじゃないの?
954は何も知らないただの馬鹿だな
966 :
デフォルトの名無しさん :2006/01/31(火) 07:53:40
>>959 >そんなこと君に指摘されなくても、Performance-sensitiveな処理は
>libcなんぞに依存しないように書くのは当たり前。
Windows でのプログラミングでも、そういう処理は
ランタイムライブラリに依存しないように書くのは当たり前だって。
>958 UNIX流かどうかはしらないけど、ライブラリで切り替えるのではなく、 strtokとstrtok_rのように、呼び出す関数で切り替えるのだ。
968 :
958 :2006/01/31(火) 08:00:22
そういうことならそのほうがいいな。 自分で制御できる。
>>965 永久にVS2003でシングルスレッドランタイム使ってればいいと思うよ。
マルチスレッドの使い方が悪いんじゃない? 使い方間違えると遅く、かつ重くなるからね
さくさく>>>>>>>もっさり Delphi>VB6>Java>.NET2005
>>971 それより速いが、サザンパシフィックのOPTASM
>>971 実行ファイルの話か開発環境の話かはっきりしろ
釣りに反応するなよ・・・・
Javaって以外に地道に生き残っていたんだ。Javaチップが出ないでので頓挫したのかと思っていた。 普通の開発ペースってこんな所?だよね。MSがなまら早くした気がするけど。 .NETはJavaへの当て馬だったわけね。長年Solarisを作ってきたSunの方針には一目置いていた わけなのか。
つうか複雑な演算をしたいときにCランタイムの数学ライブラリが
マルチスレッドのみしかないのは致命的だろ
>>957 のように致命的な差が出てるわけだし
977 :
デフォルトの名無しさん :2006/01/31(火) 12:15:35
Visual Studio 2005 Professional 使っておられる方にお聞きします。 俺それまで SQL Server 2005 CTP を使ってたんで、 VS2005 Professional インストール時にそれらをアンインストールしました。 で、VS2005 Professional をインストールした後、サービスの一覧を見ると SQL Server (SQLEXPRESS) というサービスがあります。 VS2005 Professional で一緒にインストールされる SQL Server って SQL Server Express Edition と同じモノでしたっけ??
一緒にというか別ディスクでSQLserverいれたがそれは別物。一緒に入る奴はExpress.
単スレはToolkitが出るんじゃないの。いつになるか知らんけど。
>>976 数値演算を本気でやる人はそもそもMS製CRTの数学関数なぞ使わない。
つーかアセンブラで書けとか言ってる極論馬鹿は何なんだ? どんだけ非効率なんだよ 似たような労力で書けるのなら実行速度は速い方がいいって話だろ
982 :
デフォルトの名無しさん :2006/01/31(火) 14:35:26
ごりごり全部アセンブラで書く奴はいないと思うが、 数値計算で早くしたいとき SIMD 命令は使うことあるぞ。 巨大な配列に対してべたっと SMID 演算するときには prefetch{0|1|2|nta} 命令を使うこともある。 あ、あと、ビットローテートしたいときとか。
983 :
デフォルトの名無しさん :2006/01/31(火) 14:59:45
でさ、結局のところ Visual Studio 2005 Professional VUPはいくらなのよ。 VISUAL STUDIO 2005 PROFESSIONAL EDITION WITH MSDN PROFESSIONAL 更新パッケージ(1年) 130200円 VISUAL STUDIO 2005 PROFESSIONAL EDITION WITH MSDN PROFESSIONAL (2年) 173250円 VISUAL STUDIO 2005 PROFESSIONAL EDITION アップグレード 68040円 MSDNなしのが68040ってことなのか。(キャンペーンで全部1割引みたいだが) たしか前バージョンのときには、 Microsoft Visual Studio 2002+MSDN優待パッケージが7万後半+キャッシュバック2万で Professional VUP + MSDN(1年)が実質、6万くらいだったと思う。 つまり、毎度おなじみ大幅値上げってことなのかな。
>>983 そのうちステップアップグレードが出るだろうから、
今それを議論しても意味無いような気がする
>>983 住み分けをハッキリしたに過ぎないと思う。仕事上で必要な人とかにはちょっと可愛そうだけれど。
MSDN Professionalはどうなのさ。2003の時はそんな値段だったけれど。
Delphiの成功で(ある種の)サンデープログラマーがどれだけの影響力があるか分かったって思い
たいけれど。実情は(?)だけどさ。
兄貴のProfessionalを5万円で買っとけって言うのに従わなくて良かったさ。。。
そろそろ次スレを。
Javaチップが出ないて。とっくに存在してるが。
>>988 > Javaチップが出ないて。とっくに存在してるが。
嘘っ。どこに?
ume
te
ya
Ajile?間違ってたらごめん、Sunは出してないんじゃない?
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。