나는 항상 운영 효율성을 크게 고려하지 않고 아무 생각 없이 ASP 프로그램을 작성해 왔습니다. ASP는 구문에 매우 관대하고 내결함성이 높습니다. 변수를 정의하지 않고 직접 사용할 수 있습니다. 변수 이름은 대문자와 소문자를 구분할 필요가 없으며 ASP 파일 이름도 대문자와 소문자에 민감하지 않습니다. JSP 따라서 제가 접하게 된 많은 언어 중에서 asp는 가장 덜 엄격하고 프로그래머에게 가장 낮은 요구 사항을 가진 언어입니다.
어제 나는 asp.net, php 및 asp의 실행 속도 비교를 테스트했습니다. 오늘은 정의된 변수와 정의되지 않은 변수가 asp의 실행 효율성에 얼마나 많은 영향을 미치는지 확인하고 싶었습니다. 결과는 놀랍습니다. 정의되지 않은 변수보다 변수가 두 배 빠릅니다!
테스트 프로그램은 여전히 어제와 동일하며 for 루프를 천만 번 실행하여 실행 시간을 얻었습니다.
1. 프로그램이 변수를 정의하지 않습니다(dim i).
다음과 같이 코드 코드를 복사합니다.
<%
어두운 시작 시간
시작 시간=타이머()
i = 1 ~ 10000000의 경우
다음
어두운 종료 시간
종료시간=타이머()
response.Write 페이지 실행 시간: & FormatNumber((endtime-starttime)*1000,3) & 밀리초
%>
2. 프로그램은 변수(dim i)를 정의합니다.
다음과 같이 코드 코드를 복사합니다.
<%
나 어두워
어두운 시작 시간
시작 시간=타이머()
i = 1 ~ 10000000의 경우
다음
어두운 종료 시간
종료시간=타이머()
response.Write 페이지 실행 시간: & FormatNumber((endtime-starttime)*1000,3) & 밀리초
%>
각 프로그램은 5회(첫 번째 실행 제외) 실행한 후 평균값을 취합니다. 테스트 결과는 다음과 같습니다.
변수 정의 | 실행 시간 | 평균 시간 | ||||
아니요 | 1890ms | 1859ms | 1844ms | 1875ms | 1859ms | 1865ms |
예 | 890ms | 890ms | 984ms | 875ms | 890ms | 905ms |
위의 테스트 결과를 보면 변수를 정의하지 않은 경우보다 변수를 정의한 경우 asp의 실행 속도가 2배 정도 빠르다는 것을 알 수 있습니다.
이것이 왜 그런지에 대해서는 더 이상 연구하지 않았습니다. 하지만 이 예를 통해 표준화된 프로그래밍을 통해 프로그램을 보다 효율적으로 실행할 수 있다는 것을 실감하게 되었습니다. 비표준 프로그래밍의 경우 언어 자체는 내결함성이 있지만 분석 프로세스에는 시간이 걸립니다. 물론 간단한 프로그램의 경우 표준화와 비표준화 사이의 시간 차이는 미미할 수 있지만 개발하는 시스템이 상대적으로 크고 페이지와 함수 호출이 많으면 표준화와 비표준화의 차이는 다음과 같습니다. 1~2배에서 수십배에 달하는 시간 소모의 차이가 눈에 띕니다.