더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.
soojung 속도 문제
2004/11/18 PM 09:10 | 개발/soojung | 0 comments | 0 trackbacks | AllBlog: vote, to pocket
soojung 0.3.x는 파일 형식이 바뀌면서 entry 파일명에 카테고리 힌트가 사라졌고, (이게 win32에서 utf-8로 저장하면 U+0080 이상의 글자는 모두 깨져 버리는....) 덕분에 모든 entry 파일을 하나 하나 뒤져 가면서 카테고리 분류를 하는 개삽질-_-을 한다. 포스트 수가 100개만 넘어도 이 속도 차이는 눈으로 보일 정도인데, 간단한 테스트를 하면 도대체 얼마나 느려 터졌는 지 알 수 있다.
1. 다음 코드를 settings.php 맨 첫줄 <?php 바로 다음 줄에 추가한다.
function ptime() {
static $t = array(0, 0);
$n = explode(' ', microtime());
$p = $n[1]-$t[1] + $n[0]-$t[0];
$t = $n;
return $p;
}
ptime();
2. 템플릿 파일에서 footer.tpl을 찾아서 맨 끝에 다음 템플릿 태그를 넣어 준다. (</html> 뒤에 넣어 주면 된다.)
<-- time: {php}echo ptime();{/php} sec. -->
3. 페이지 끄트머리의 주석을 잘 살펴 보라.
...이 블로그는 6초 안팎 나온다. orz 근데 프로파일링을 대충 해 보면 알겠지만, {$category->getEntryCount()}만 빼도 속도가 2배로 향상된다. -_-;;;;;;;;;;; (다른 부분 프로파일링도 해야 하는데 귀찮군....) 아무튼 이걸 해결하는 방법은 대충 이렇다.
- 0.2.x 파일명 규칙과 같이 카테고리 힌트를 파일명에 집어 넣는다.
- 단, 0.2.x에서 win32 utf-8 문제 같은 걸 피하기 위해서 적당한 hash 값으로 변환해서 집어 넣는다. (32비트 -- 16진수 8자리 -- 면 충분할 것 같다.)
간식 먹고 구현해 보자.
1. 다음 코드를 settings.php 맨 첫줄 <?php 바로 다음 줄에 추가한다.
function ptime() {
static $t = array(0, 0);
$n = explode(' ', microtime());
$p = $n[1]-$t[1] + $n[0]-$t[0];
$t = $n;
return $p;
}
ptime();
2. 템플릿 파일에서 footer.tpl을 찾아서 맨 끝에 다음 템플릿 태그를 넣어 준다. (</html> 뒤에 넣어 주면 된다.)
<-- time: {php}echo ptime();{/php} sec. -->
3. 페이지 끄트머리의 주석을 잘 살펴 보라.
...이 블로그는 6초 안팎 나온다. orz 근데 프로파일링을 대충 해 보면 알겠지만, {$category->getEntryCount()}만 빼도 속도가 2배로 향상된다. -_-;;;;;;;;;;; (다른 부분 프로파일링도 해야 하는데 귀찮군....) 아무튼 이걸 해결하는 방법은 대충 이렇다.
- 0.2.x 파일명 규칙과 같이 카테고리 힌트를 파일명에 집어 넣는다.
- 단, 0.2.x에서 win32 utf-8 문제 같은 걸 피하기 위해서 적당한 hash 값으로 변환해서 집어 넣는다. (32비트 -- 16진수 8자리 -- 면 충분할 것 같다.)
간식 먹고 구현해 보자.
TrackBack URL: http://sapzil.info/soojung/trackback.php?blogid=203