Visual Studio 2005スレ Part8

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2006/01/31(火) 06:32:48
953デフォルトの名無しさん:2006/01/31(火) 06:52:56
パフォーマンスを極限まで追求するアプリなら、
そもそもCランタイム関数を使う時点で間違ってるし。

素のWin32 APIとアセンブラで組め。
954デフォルトの名無しさん:2006/01/31(火) 07:06:02
80-20の法則に従えば、ボトルネックになってる部分だけでも
Cランタイムに依存しない形で実装すれば、Cランタイムの
シングルスレッド/マルチスレッドの違いなんて無意味になる。

それを理解せずに、盲目的に「マルチスレッドランタイム=遅いから×」
とか言ってレガシーなものを使い続けるのはナンセンスだ。

ちょっと前までは、「Windowsアプリにすると遅い」とか言って
頑なにMS-DOS用のゲームを作り続けてたベンダーがあったが、
>>917はそれと同じくらいアナクロな発想。
955デフォルトの名無しさん:2006/01/31(火) 07:06:59
試しにrand()関数で検証してみますた
※検証方法
rand()関数で乱数の生成処理を1000000000回繰り返すという処理を
シングルスレッドとマルチスレッドで行う 共にリリースビルド ランタイムライブラリ以外全て同じ設定にした

※結果
シングルスレッド 27.7秒
マルチスレッド 67.5秒
956デフォルトの名無しさん:2006/01/31(火) 07:15:40
UNIXerから言わせれば、アプリごとにlibcがSide-by-Sideで必要な事自体が異常なんだが。
957955:2006/01/31(火) 07:17:07
ちなみに生成された実行ファイルのサイズは
シングルスレッド 40kbyte
マルチスレッド 44kbyte

同じことをvc2005でやってみたら(これはマルチスレッドのみ)
実行結果は126秒で 実行ファイルのサイズは60kbyteですた
958デフォルトの名無しさん:2006/01/31(火) 07:23:10
>>956 それは単一のライブラリしかないということでしょ。
Winでのマルチスレッドライブラリの弊害をすべて持ってるわけでシングルスレッドライブラリの利点を持っていないことに気づいていないだけ。
959デフォルトの名無しさん:2006/01/31(火) 07:25:46
>>958
そんなこと君に指摘されなくても、Performance-sensitiveな処理は
libcなんぞに依存しないように書くのは当たり前。
960デフォルトの名無しさん:2006/01/31(火) 07:27:30
>958
956のは、MSVCR80.dllとかがwindows\system32に放り込めない、
と言う話だと理解したけど。シングルスレッド・マルチスレッドは関係なくね?
961デフォルトの名無しさん:2006/01/31(火) 07:30:51
どうしてもシングルスレッドランタイムを使いたいなら、VS2003から移行するな。

これでFA。
962958:2006/01/31(火) 07:35:07
>>959 ?ライブラリにすでにマルチスレッドだったら処理が組み込まれているのにそれを同依存しないように書くと?勘違いしてるので後学のために教えてください。
>>960 いやそういうことじゃないんですか?物理的にdllがというよりも何で二つもライブラリがあるのということをいってるみたいだから。
963デフォルトの名無しさん:2006/01/31(火) 07:40:16
>>962
全てのC++アプリはlibcやmsvcrtに依存「しなければならない」と思い込んでますか?
964958:2006/01/31(火) 07:48:01
UNixerのいってることはそういうことじゃないの?
965デフォルトの名無しさん:2006/01/31(火) 07:53:30
954は何も知らないただの馬鹿だな
966デフォルトの名無しさん:2006/01/31(火) 07:53:40
>>959
>そんなこと君に指摘されなくても、Performance-sensitiveな処理は
>libcなんぞに依存しないように書くのは当たり前。

Windows でのプログラミングでも、そういう処理は
ランタイムライブラリに依存しないように書くのは当たり前だって。
967デフォルトの名無しさん:2006/01/31(火) 07:56:58
>958
UNIX流かどうかはしらないけど、ライブラリで切り替えるのではなく、
strtokとstrtok_rのように、呼び出す関数で切り替えるのだ。
968958:2006/01/31(火) 08:00:22
そういうことならそのほうがいいな。
自分で制御できる。
969デフォルトの名無しさん:2006/01/31(火) 08:18:53
>>965
永久にVS2003でシングルスレッドランタイム使ってればいいと思うよ。
970デフォルトの名無しさん:2006/01/31(火) 09:03:34
マルチスレッドの使い方が悪いんじゃない?
使い方間違えると遅く、かつ重くなるからね
971デフォルトの名無しさん:2006/01/31(火) 09:03:35
さくさく>>>>>>>もっさり
Delphi>VB6>Java>.NET2005
972デフォルトの名無しさん:2006/01/31(火) 09:17:28
>>971
それより速いが、サザンパシフィックのOPTASM
973デフォルトの名無しさん:2006/01/31(火) 09:19:56
>>971
実行ファイルの話か開発環境の話かはっきりしろ
974デフォルトの名無しさん:2006/01/31(火) 09:20:54
釣りに反応するなよ・・・・
975デフォルトの名無しさん:2006/01/31(火) 09:37:52
Javaって以外に地道に生き残っていたんだ。Javaチップが出ないでので頓挫したのかと思っていた。
普通の開発ペースってこんな所?だよね。MSがなまら早くした気がするけど。

.NETはJavaへの当て馬だったわけね。長年Solarisを作ってきたSunの方針には一目置いていた
わけなのか。
976デフォルトの名無しさん:2006/01/31(火) 09:52:41
つうか複雑な演算をしたいときに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 と同じモノでしたっけ??
978デフォルトの名無しさん:2006/01/31(火) 12:26:59
一緒にというか別ディスクでSQLserverいれたがそれは別物。一緒に入る奴はExpress.
979デフォルトの名無しさん:2006/01/31(火) 12:59:23
単スレはToolkitが出るんじゃないの。いつになるか知らんけど。
980デフォルトの名無しさん:2006/01/31(火) 14:18:57
>>976
数値演算を本気でやる人はそもそもMS製CRTの数学関数なぞ使わない。
981デフォルトの名無しさん:2006/01/31(火) 14:32:02
つーかアセンブラで書けとか言ってる極論馬鹿は何なんだ?
どんだけ非効率なんだよ

似たような労力で書けるのなら実行速度は速い方がいいって話だろ
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万くらいだったと思う。
つまり、毎度おなじみ大幅値上げってことなのかな。
984デフォルトの名無しさん:2006/01/31(火) 15:53:14
>>983
そのうちステップアップグレードが出るだろうから、
今それを議論しても意味無いような気がする
985デフォルトの名無しさん:2006/01/31(火) 19:03:53
>>983
住み分けをハッキリしたに過ぎないと思う。仕事上で必要な人とかにはちょっと可愛そうだけれど。
MSDN Professionalはどうなのさ。2003の時はそんな値段だったけれど。

Delphiの成功で(ある種の)サンデープログラマーがどれだけの影響力があるか分かったって思い
たいけれど。実情は(?)だけどさ。

兄貴のProfessionalを5万円で買っとけって言うのに従わなくて良かったさ。。。
986デフォルトの名無しさん:2006/01/31(火) 19:09:30
そろそろ次スレを。
987デフォルトの名無しさん:2006/01/31(火) 19:15:53
>>986がたてるそうです。
988デフォルトの名無しさん:2006/01/31(火) 19:32:36
Javaチップが出ないて。とっくに存在してるが。
989デフォルトの名無しさん:2006/01/31(火) 19:32:46
>>986
よろ
990デフォルトの名無しさん:2006/01/31(火) 19:36:17
>>986
しく
991デフォルトの名無しさん:2006/01/31(火) 19:40:30
>>986
おね
992986じゃないが:2006/01/31(火) 19:41:55
Visual Studio 2005スレ Part9
http://pc8.2ch.net/test/read.cgi/tech/1138703942/
993デフォルトの名無しさん:2006/01/31(火) 19:52:19
>>992
あんたはエロイじゃなかった偉い
994デフォルトの名無しさん:2006/01/31(火) 19:56:10
>>983
68040ってモトローラ?
995デフォルトの名無しさん:2006/01/31(火) 20:35:05
>>988
> Javaチップが出ないて。とっくに存在してるが。
嘘っ。どこに?
996デフォルトの名無しさん:2006/01/31(火) 20:39:03
997デフォルトの名無しさん:2006/01/31(火) 20:43:23
ume
998デフォルトの名無しさん:2006/01/31(火) 20:44:25
te
999デフォルトの名無しさん:2006/01/31(火) 20:45:04
ya
1000デフォルトの名無しさん:2006/01/31(火) 20:45:49
Ajile?間違ってたらごめん、Sunは出してないんじゃない?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。