2011-03-24 3 views
22

크게 논평 된 스크립트가 주석 처리되지 않은 스크립트보다 약간 느리게 실행된다고 들었습니다. 사실입니까?주석으로 인해 코드가 느리게 실행됩니까?

누구나 이것을 테스트 했습니까?

<?php /* A comment */ ?> 

그 내용을 읽고, 파일을 열기에 소요되며, 마감 :

+38

** ** 걱정하지 마십시오 ** – SLaks

+5

나는 단지 그것에 대해 궁금합니다. :) 나는 코멘트를 포기할 것 같지 않습니다. – Alex

+0

andra 저는 @SLaks에 동의하지만, 쉬운 테스트. 두 개의 PHP 파일을 만드십시오. 각 10000 행을 만듭니다 (PHP로 만들 수 있고 메타는 어떻게됩니까?). 각 줄마다 하나씩 주석을 만들고 다른 파일에는 전체 내용을 공백으로 둡니다 (PHP 제외). 태그)는 실행 시간을보기 위해 마이크로 타이머를 실행합니다. – Patrick

답변

11

주석 처리는 일반적인 경우 스크립트 실행 시간에 영향을주지 않습니다. 그러나 코드에 작성하는 줄 수는 구문 분석기가 읽기 및 버퍼에 상당한 영향을 미칩니다. 만약 당신이 20 라인에서 어떤 것을 실행할 수 있다면 똑같은 것을 1000 라인에 작성하려고 시도하면 순차적으로 실행되는 어플리케이션의 부분에 영향을 줄 수 있습니다. 라인이 적거나 라인이 많아도 의존성이 중요합니다. 일부 응용 프로그램에 크게 의존하는 라이브러리를 사용하는 경우로드 시간, 구문 분석 시간 및 컴파일 및 실행 시간 등이 늘어납니다. 어떤 경우이든 댓글에 큰 영향을 미치지는 않지만 몇 마이크로 초 동안 비용이 많이 들지는 않습니다. 따라서 코드를 주석 처리하고 공동 개발자가 읽을 수 있도록하십시오.

11

나는 시간의 99.99 %는 다음과 같은 파일을 구문 분석하는 데 소요 있음을 알 수 있습니다 (이 비율에 얼마나 느린처럼) 파일. 이 주석을 복사하여 10,000 줄에 붙여 넣으면 아무런 차이가 없습니다.

+0

만약 1GB의 댓글을 가지고 있다면, LOL을 구문 분석하는데 다소 시간이 걸릴 것입니다. –

2

코드가 컴파일되면 구문 분석 중에 주석이 제거되므로 완성 된 바이트 코드에도 포함되지 않으므로 아무런 차이가 없습니다.

코드가 해석되면 컴파일러에서 주석 행을 제거해야하지만 프로그램을 실행하는 데 훨씬 많은 시간이 소요되므로 다른 코드는 무시할 수 있습니다.

+0

그들은 포함되어 있지 않습니다. – erisco

+0

오, 죄송합니다. 그들이 포함되었다는 것을 의미한다고 생각했습니다. 나는 잘못 읽었다. 휴. – BoltClock

관련 문제