2012-05-02 2 views
0

방금 ​​꽤 큰 클래스를 작성했는데,이 클래스는 함수를 실행할 때 눈에 띄게 느린 것으로 밝혀졌습니다.크기를 문서화하면 코드를 실행할 때 성능에 영향을 미칠 수 있습니까?

이 클래스에는 3 개의 공용 함수와 최소한 10 개의 전용 함수가 포함되어 있으므로 1,569 줄의 코드가 생성됩니다 (그 중 상당 부분은 주석입니다).

공개 기능 중 하나를 호출 할 때 노래와 춤이 뒤에서 진행되지만 응답 시간이 너무 나빠서 수업을 사용할 가치가 없다는 것을 인정해야합니다.

클래스 파일 크기는 57KB입니다. 파일 크기가 여기에 문제가 있는지 궁금하네요, 아니면 그냥 실행중인 코드 때문에 - 그냥 파일을 끊을 수 있을까요? 아니면 코드에 단점을 만들어야할까요?

나는 단순히 다른 파일에서 클래스 파일을 포함 해봤와 같은이가하는 경우

...가는 좋은 :

꽤 몇 가지 기능에 있습니다

1) 어떤 데이터베이스 쿼리/연결이 없습니다)

2. (예 요법 요법, fwrite(), fopen(), file_exists()로) 쓰기/파일 읽기를 포함하는 클래스는

3) 더이 없습니다(넘버 20) 루프

어떤 도움을 많이 받으실 수 있습니다!

+2

파일 크기 (57KB/1569 줄)가 성능 저하의 원인이되어서는 안됩니다. 가능한 경우 [PHP 프로파일 러] (http://stackoverflow.com/questions/21133/simplest-way-to-profile-a-php-script)를 사용하여 실행을 추적하고 어떤 코드/기능 또는 그 조합을 보여줄 수 있습니다 실행하는 데 너무 오래 걸립니다. – drew010

답변

1

IO가 가장 느릴 수 있습니다.

프로그램 자체의 크기는별로 문제가되지 않습니다. xdebug을 사용하여 코드의 프로필을 작성하여 구체적으로 사용자를 끌고있는 항목을 결정할 수 있습니다. 이를 사용하면 가장 먼저 최적화 할 코드의 우선 순위를 지정할 수 있습니다.

0

나는 속도 측면에서 큰 파일을 가지고있다.

파일 핸들을 효율적으로 사용하지 않기 때문에 속도가 느려질 가능성이 큽니다. 예를 들어 파일을 사용할 때마다 파일을 닫으면 스크립트가 끝날 때 파일을 닫는 것과는 달리 시간이 오래 걸릴 수 있습니다. 또는 파일을 수동으로 닫지 않아 암시 적으로 닫히게 할 수 있습니다.

+0

나는 그 핸들을 생각하지 않는다. 각 함수가 다른 파일 연산 ('fwriting(), freading() 등등)을 포함하고 있지만 핸들을 파싱하여 각 파일마다 하나의 핸들을 사용합니다. –

관련 문제