発言者: moon
発言日: 2003 02/11 11:57
> これは一部だけをelsifにしてもかわってくるもんでしょうか?
> 例えば、そのうちのいくつか(探索場所を増やしているのでそういったまず「一度にどれか」しか使わない類)をelsifにしたりして、自信のないところはそのままというかw
> if($Fm{'mode'} eq '〜'){〜} と20こ並んでいたとして、そのうちの半数を修正してやるだけでもやはり軽減につながるものなのかなぁ?と。
> 数が多ければその分処理軽減につながる、とみていいんでしょうか?
>
> リスト部分を2つ順番に1つにする、というのがちょっとパっとできなさそうでして(^^;
> 無理ない程度で少しずつelsif化していく、って形が私には実現可能な範囲かと思ったもので。
元がifなので部分的にelsifにしても通常は問題ないはずですよ。(分岐処理でデフォルト処理の流れとかけ離れたことをやっていなければですが)
ちなみに、リスト云々は&list_order;とplayer_list;が違うif文で実行されているところを1つ(elsif($Fm{'mode'} eq 'list'){&list_order; player_list;})にするだけです。
あと、これは単純に判断回数を減らそうというわけなのでよく実行されるmodeが後のほうのelsifにあると効果が薄くなります。(部分的にelsifにした場合は100%の確率で判断されるif文が残ったままということになるのでその分効率が落ちます。)
各modeの実行回数がほぼ一様だと考えるとこのことは無視できますが、少しは念頭に置いておくと良いかもしれません。
▼関連発言
│
└◆341:SoSというよりPerlの事かな? [なず] 02/10 00:54
└◆342:Re:SoSというよりPerlの事かな? [moon] 02/10 09:07
└◆345:Re[2]:SoSというよりPerlの事かな? [なず] 02/11 04:09
└◆346:Re[3]:SoSというよりPerlの事かな? [moon] 02/11 11:57
└◆347:Re[4]:SoSというよりPerlの事かな? [なず] 02/11 23:53
└◆348:Re[5]:SoSというよりPerlの事かな? [moon] 02/12 00:45
└◆349:Re[6]:SoSというよりPerlの事かな? [なず] 02/12 23:58
└◆350:Re[7]:SoSというよりPerlの事かな? [moon] 02/13 00:41
└◆351:Re[8]:SoSというよりPerlの事かな? [なず] 02/13 05:51<-last