동일한 동작을 유발하는 조건에서 많은 "또는"(||)을 이스케이프할 수 있습니까? - 페이지 10

 
borilunad :
속도에 대한 이 질문은 포럼의 존경받는 회원들에게 "많은 것을 피하는 방법" 또는 "..."로 호소하게 만들었습니다. 이것이 시간 손실을 초래한다고 믿었습니다. 그리고 일부 사람들이 자신의 야망이나 개발에 대한 지속적인 광고 때문에 논쟁에 휘말리게 된다면, 이것은 그들 자신의 일이며 저에게는 적용되지 않습니다. 어쨌든 응답해주신 모든 분들께 감사드립니다! 그리고 나는 당신에게 모든 성공을 기원합니다!
먼저, 두뇌로 작업하는 방법을 배우십시오. 이미 혀로 작업하는 방법을 배웠습니다. 행운을 빕니다!
 
TarasBY :
먼저, 두뇌로 작업하는 방법을 배우십시오. 이미 혀로 작업하는 방법을 배웠습니다. 행운을 빕니다!
초등 윤리는 말할 것도 없고 당신의 문화가 당신의 역사적 우상인 Taras Bulba와 멀지 않은 것이 안타까울 뿐입니다!
 
내가 알기로는 결과가 없을 것입니다. 불쌍해. 시간이 오래 걸리지는 않지만(필요한 경우) 많은 옵션이 제공되었습니다.
 
Vinin :
내가 알기로는 결과가 없을 것입니다. 불쌍해. 시간이 오래 걸리지는 않지만(필요한 경우) 많은 옵션이 제공되었습니다.

이전 페이지에서 저는 예비 결과를 Alexey(Meat)에게 보고했고, 이에 대한 설명을 모두 제공했습니다.

화신
891
고기 13.02.2013 20:36
보릴루나드 :

제안된 모든 옵션을 테스트한 결과 가장 빠른 옵션은 다음과 같습니다. if (A || B || C || D) Action();

어떻게 이보다 더 빠를 수 있는지 궁금합니다. if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();


947
보릴루나드 13.02.2013 22:46
고기 :

어떻게 이보다 더 빠를 수 있는지 궁금합니다. if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

미안해, 알렉스, 방금 집에 왔어! 이 옵션은 적합하지 않습니다. 위에서 설명한 것처럼 Action(); 이것은 단순한 실행 기능이 아니라 이전 조건과 공통적이지만 방향이 다르므로 필요한 조치에 의해 수행되는 기능의 순서가 다른 몇 가지 조건이 더 포함되어 있습니다. 아시다시피 이 옵션을 사용하면 코드를 더 무겁게 만들 수 없습니다. 그리고 원칙적으로 Action(); 그것은 단지 단일 함수 호출이 될 것입니다. 그 이상은 아닙니다. 최적의 솔루션을 찾는 데 도움을 주셔서 대단히 감사합니다! 잘 자!
bools는 시간 단축을 제공하지 않았기 때문에 아직 여기에 아무것도 추가할 수 없습니다. 이제 저는 제가 사용하는 모든 기능을 확인하고 있습니다. 아시다시피 시간이 많이 걸립니다. 관심을 가져주셔서 감사합니다!
 
기본적으로 문제가 되지 않습니다. 나 스스로 결과를 얻을 수 있다. 수치 결과
 
Vinin :
기본적으로 문제가 되지 않습니다. 나 스스로 결과를 얻을 수 있다. 수치 결과

Viktor는 개조 후 아파트처럼 코드 정리를 마치고 불필요한 조건, 불필요한 정규화와 같은 많은 쓰레기를 제거하고 논리를 수정하고 사용되는 기능의 수를 줄였습니다. Alexey( alsu )는 조언으로 많은 도움을 주었습니다. 특히 그에게 감사드립니다. 그 결과 테스터에서 4개월을 뛴 시간이 2분 남짓으로 나에게 딱 맞았다. 그리고 bool'evskie 함수는 불필요한 것으로 판명되었습니다. 그들은 빠른 속도로 이기지는 않았지만 그들과 함께 필요한 경험을 저에게 주었습니다. 이는 미래에 유용할 것입니다.

참여해주신 모든 분들께 진심으로 감사드리며, 여러분 모두의 건승과 건승을 기원합니다!