일부 최적화 규칙

일부 최적화 규칙

Linux에서 일부 기능(예: 열기, 복사, 압축, 삭제, 이벤트 대기)을 구현하려면 C++에서 구현하고 바이너리를 프로세스로 실행하는 것이 더 낫습니까, 아니면 셸에서 구현하는 것이 더 낫습니까? 스크립트?

구현 세부 사항을 무시한다고 가정하면 쉘 스크립트를 실행하는 것과 비교하여 바이너리를 프로세스로 시작하는 동안 얼마나 많은 메모리와 CPU 로드가 소비되는지 궁금합니다.

답변1

속도가 달라지나요? 예 혹은 아니오

압축 알고리즘을 스크립트로 구현하면 C++로 구현했을 때보다 속도가 훨씬 느려집니다.

이를 수행하기 위해 라이브러리 함수/명령을 호출하면 거의 차이가 없습니다. 시간은 주로 기존 라이브러리 함수/명령에 의해 수행된 압축에 의해 결정됩니다. 파일 열기, 파일 복사, 파일 삭제 및 대기는 모두 커널에 의해 수행되며 애플리케이션에서 수행되는 작업이 거의 없으므로 변경 사항이 최소화됩니다.

그러나 알 수 있는 유일한 방법은 두 가지를 모두 측정하는 것입니다.

일부 최적화 규칙

  • 작동하게 만든 다음 (필요한 경우) 더 빠르게/더 작게 만듭니다.
  • 가독성을 최적화합니다.
  • 속도가 빠르지 않다는 증거가 있는 경우에만 속도를 최적화하세요.충분한.
  • 속도를 최적화할 때 두 구현을 모두 측정하고 하나가 더 빠르다고 가정하지 마십시오(틀릴 수도 있음).
  • 최상의 경우를 위해 최적화하지 말고 항상 더 나쁘거나 평균적인 경우를 위해 최적화하십시오.

관련 정보