ぱっと見て「ヘタだなぁ」と思うコード その2

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2006/06/10(土) 20:31:28
処がだ。
int func() {
static int rtn;
rtn = 0;
for (;;) {
...; // 適当な処理
}
return rtn;
}
こんな関数があったとする。
今のコンパイラだとrtnはstaticにしない方が大抵速いんだな。
何故なら、staticじゃなければrtnをレジスタ変数にできるからだ。
尤も、最適化の優れたコンパイラならループ脱出まではレジスタ変数として、
ループ脱出後にstaticにコピーするだろうけれど。
#勿論、それでも何もしないよりはコストが掛かるわけだ。

従って、高速化を目的としたstatic化、グローバル化はしばしば下手の考えとなるってこった。
953デフォルトの名無しさん:2006/06/10(土) 20:41:10
なんだ。
結局>>882が正解か。
954デフォルトの名無しさん:2006/06/10(土) 21:39:50
>>952
現在の話題と全然合ってない例出されても、お前がバカだっつーことしかわからんよ。
次から気をつけろよ。
955デフォルトの名無しさん:2006/06/10(土) 21:48:56
>>954
うはww
956デフォルトの名無しさん:2006/06/10(土) 21:53:48
ていうか、こんな話題で処理速度出されてもなw
957デフォルトの名無しさん:2006/06/10(土) 22:01:38
結局、グローバル変数が何故駄目なのか理解できなかったのか?
レベル低いな。
958デフォルトの名無しさん:2006/06/10(土) 22:08:55
話題出した奴のレベルが低かったからなぁ
959デフォルトの名無しさん:2006/06/10(土) 22:13:13
>>946
>処理速度が必要なところだとグローバル変数は必須
>>947
>static でなんとか踏ん張れ。
>>950
>つまりユーザからしてみれば処理速度遅くなるくらいならグローバルでも何でも使ってくれよってことか。
>>951
>つまりグローバル変数減らす代わりに処理速度遅いプログラムは本末転倒の真のヘタレプログラムってことですね。
>>952
>従って、高速化を目的としたstatic化、グローバル化はしばしば下手の考えとなるってこった。

>>954
斯くの如く卑近な話題に乗っていると思うが。

>>956
同意。
960デフォルトの名無しさん:2006/06/10(土) 22:16:21
>>959
てんで的外れだっつってんだよ
961デフォルトの名無しさん:2006/06/10(土) 22:20:11
点で的外れ、
線で場違い。
962デフォルトの名無しさん:2006/06/10(土) 22:26:55
俺様がそう思うから違う考えの奴は尽く馬鹿ということですか
963デフォルトの名無しさん:2006/06/10(土) 22:29:58
>>962
例えば>828とかか。

てか、このスレで愚痴言ってる奴全員そうか。
964デフォルトの名無しさん:2006/06/10(土) 22:38:45
お前ら>>372を見習えよ
965デフォルトの名無しさん:2006/06/10(土) 22:41:21
結局グローバル変数は使わないけど処理速度は落とさないって自信もって言える奴はいねーのかよw
966デフォルトの名無しさん:2006/06/10(土) 22:50:17
そもそも>>952こんな例だされてもデータ1個なんてどうでもいいんですよ。
10個20個だった場合引数を10個20個にしろっていうのか?
967デフォルトの名無しさん:2006/06/10(土) 22:53:42
はじめっからグローバル用途でスタティックするくらいなら素直にグローバル使えばいいのに。
968デフォルトの名無しさん:2006/06/10(土) 22:57:36
グローバル変数使うとエラーや変更すべき個所を特定しにくいしバグの原因にもなる。
だからあんまり使いたくないんだけど、処理速度の話されたらやっぱ使っちゃうんだよね…。
969デフォルトの名無しさん:2006/06/10(土) 22:58:20
そんなに悩むのならば、辞めちゃえばいいのに、プログラマー。
970デフォルトの名無しさん:2006/06/10(土) 22:59:12
>>965
ぷw
処理速度なんて持ち出していいわけしてはずかしくないの?(大笑)
971デフォルトの名無しさん:2006/06/10(土) 22:59:47
>>968
自分が馬鹿ないいわけにはちょっとはずかしいかなw
972デフォルトの名無しさん:2006/06/10(土) 23:03:40
>>956
逆に処理速度の話されると何か困るのかなぁ?
973デフォルトの名無しさん:2006/06/10(土) 23:06:15
>>972
ループが重なる処理でもないしグローバル変数と処理速度を結びつけること自体プログラマとしては失格。
974デフォルトの名無しさん:2006/06/10(土) 23:08:00
落ち着けよお前らw
975デフォルトの名無しさん:2006/06/10(土) 23:08:30
↑オマエモナー
976デフォルトの名無しさん:2006/06/10(土) 23:10:06
ユーザーはプログラマのことなんてどうでもいい、
プログラマの気苦労もどうでもいいし、しったこっちゃない。
プログラムがちゃんと動いて尚早ければもっといい。
ただそれだけ。
977デフォルトの名無しさん:2006/06/10(土) 23:12:36
>>973
関数何回も呼ぶ必要がでてくるし、それだけ処理増えるじゃん。
何いってんだか。
978デフォルトの名無しさん:2006/06/10(土) 23:14:13
なんだ今日はやけに書き込みが多いな。
979デフォルトの名無しさん:2006/06/10(土) 23:15:48
>>977
それは処理速度にかかわる量なの何万回とかそういう話になるけど
そんな処理する前にローカル変数に1回移せば済む話だよね。
君は本当に馬鹿だね。
まともなプログラマならグローバル変数と処理速度なんて絶対に結びつけて話なんかしない。
君、会社でもおかしな発言して嫌われてるでしょ?
980デフォルトの名無しさん:2006/06/10(土) 23:17:22
こんなとこに必死に書き込んでる日本人プログラマなんてたかが知れてる
981デフォルトの名無しさん:2006/06/10(土) 23:19:19
だれか>>966の質問に答えてやれよw
982デフォルトの名無しさん:2006/06/10(土) 23:21:34
おまいらがしている議論は太古からされていて、
しかも結論がでてる事に気づいている奴がたくさんいそうだな
983デフォルトの名無しさん:2006/06/10(土) 23:23:18
C初心者ですが、RPG作ってるときにモンスターデータとかは構造体グローバル変数にしてもいいでしょうか?
984デフォルトの名無しさん:2006/06/10(土) 23:25:25
>>983
そんなコード、まさにこのスレにお似合いだ。
985デフォルトの名無しさん:2006/06/10(土) 23:28:39
このスレもーイラネーだろ
986デフォルトの名無しさん:2006/06/10(土) 23:31:51
ただの愚痴スレと化してるな
987デフォルトの名無しさん:2006/06/10(土) 23:42:31
>>966
単純に構造体にでもすればいいんでね?
988デフォルトの名無しさん:2006/06/11(日) 00:02:17
>>903
そうだね。少なくとも>>901はプログラマ向きじゃない。
今システム構築とかの現場でデスマーチが多いのはたいてい>>901のような馬鹿や、
それ以外の馬鹿がたくさん居るせいだよ。
989デフォルトの名無しさん:2006/06/11(日) 01:05:56
>>988
君ねw
グローバル変数なんてつかっちゃうほど頭が悪いのになんでそんなに自分の腕に自信もってるの?w
「gotoは使わない」「グローバル変数は使わない」とか聞いたことないの?ん?
俺がプログラム組み始めた頃はどこでも聞いたけどね。
それこそうるさいぐらいにこれを使ってる奴=馬鹿ってほど叫ばれてたよ。
990デフォルトの名無しさん:2006/06/11(日) 01:10:05
たとえそれが正しい事でも教条主義的に語っては反発を招くよ
991デフォルトの名無しさん:2006/06/11(日) 01:13:38
Msgbox("3")
Msgbox("2")
Msgbox("1")
Msgbox("0")
992デフォルトの名無しさん:2006/06/11(日) 01:19:14
>>989
何故、言語仕様として用意されているのか?

なんて事すら考えられないなんて、逆に不敏になってくるな…。
993デフォルトの名無しさん:2006/06/11(日) 01:22:07
要は使いようなだけで。gotoだって使いようによっては使わない場合よりシンプルになる場合だってある。
994デフォルトの名無しさん:2006/06/11(日) 01:22:28
>>992
じゃあ、gotoだって使えよw
995デフォルトの名無しさん:2006/06/11(日) 01:24:56
むしろ、なぜ、グローバル変数を使うことが嫌悪されるのかをよく考えて欲しいと思う。
996デフォルトの名無しさん:2006/06/11(日) 01:25:28
ていうか、この理解無しにオブジェクト指向は理解できないだろ。いやマジで。
997デフォルトの名無しさん:2006/06/11(日) 01:26:03
たぶんアレだよ
g_
の部分がキモイとかだよ
998992:2006/06/11(日) 01:26:10
>>994
使うべき所では使う。
まあ、普通に書いてたらそうそう使う場面はないが。
999デフォルトの名無しさん:2006/06/11(日) 01:27:27
何のルールもなく気楽にグローバルで宣言するのは確かにお利口さんじゃないわな。
1000デフォルトの名無しさん:2006/06/11(日) 01:30:05
グローバル変数を使う奴は極上の馬鹿。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。