同じ動作をさせる条件において、多くの "or"(|)を避けることは可能でしょうか? - ページ 10

 
borilunad:
このスピードの問題は、私が尊敬するフォーラムのメンバーに「"or "を多用しない方法・・・」と訴えかけたのは、それが時間のロスを引き起こすと考えたからだ。もし、ある人が自分の野心のために極論に走ったり、自分の開発を執拗に推し進めたりしても、それは個人の問題であって、私には関係ないことだ。とにかく、回答してくれた皆さん、ありがとうございましたそして、すべての人に成功を祈ります。
まず脳の働き方を学ぶ、舌の働き方はすでに学んでいる。がんばってください。
 
TarasBY:
まず脳の働き方を学ぶ、舌の働き方はすでに学んでいる。がんばってください。
あなたの文化はもちろん、基本的な倫理観も、歴史的なアイドルであるタラス・ブルバから遠く離れてしまっていることは、残念でなりません。
 
私の理解では、-結果は出ないでしょう。可哀想に。必要であれば)時間はかからないものの、豊富なオプションが提供されています
 
Vinin:
私の理解では、結果は出ないでしょう。可哀想に。必要であれば)時間はかからないものの、豊富なオプションが提供されています

前ページで、アレクセイ(肉)への速報と私の解説を報告しましたが、その全文を掲載します。

アバター
891
2013.02.13 20:36
ボリルナド

私はすべての提案をテストし、最も速いものが判明した:if(A || B || C || D) Action();

if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action() こんな感じで、どうやったらもっと速くなるんだろう?


947
borilunad 2013.02.13 22:46
肉類

if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action() こんな感じで、どうやったらもっと速くなるんだろう?

アレクセイ、ごめん、今帰ってきたよ!」。この変形は適さない。というのは、先に説明したように、Acron();は単なる実行関数ではなく、さらにいくつかの条件を含んでおり、それは先の条件と共通だが方向が異なり、それに応じて必要なアクション関数の実行順序も異なるからである。お分かりのように、このバリアントではコードを重くすることができなかったのです。また、Action();が単に1つの関数の呼び出しであり、それ以上でない場合、あなたのバージョンはより速くなる可能性があることに原則的に同意します。最適な解決策を探すのに協力していただき、ありがとうございました。おやすみなさい!
boolのタイムカットが出ていないので、まだ何も追加できません。現在、使っている関数をすべてチェックしていますが、ご想像の通り、かなり時間がかかっています。ご検討ありがとうございました
 
原理的には問題ない。自分で結果を出すことができる。数値計算結果
 
Vinin:
原則的には問題ない。自分で結果を出すことができる。数値計算結果

Victorさん、今、コードの掃除が終わったんですが、リフォーム後のアパートのように、不要な条件や不要な正規化など、たくさんのゴミを掃除して、ロジックを修正し、使用する関数を減らしました。アレクセイ(alsu)にはアドバイスをしてもらって、とても助かりました。結果的にテスターでの4ヶ月のロングランは2分を少し超えるくらいで、満足のいく結果でした。また、boolの関数は、スピードの面では何のメリットもないので、不要であることがわかりましたが、その分、後々役に立つような作業経験を積むことができました。

参加された皆様に感謝するとともに、皆様のご成功とご利益をお祈りいたします。