제목 | 코드이그나이터 성능 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 우량 | 작성시각 | 2017/02/23 13:27:35 |
|
|||
안녕하세요. 3.0 버젼 문서에서 템플릿 엔진이 깨끗해 보이지만 성능이 더 떨어진다는 얘긴가요? 1번과 2번의 성능차이가 어떤것이 더빠른가요? 제가 이해하기로는 2번이 코드는 깨끗하지만 재해석을 해야해서 1번이 더빠르다고 설명하는거같은데요. 1. <ul> <?php foreach ($addressbook as $name):?> <li><?=$name?></li> <?php endforeach; ?> </ul>
2. <ul> {foreach from=$addressbook item="name"} <li>{$name}</li> {/foreach} </ul> ----------------------------------------------------------------------------------------------
CodeIgniter 가 간단한 템플릿 파서를 포함하고 있긴 하지만, 반드시 사용할 필요는 없습니다. 템플릿 엔진은 PHP 문법과 간단히 매치되지 않기 때문에 거의 PHP를 배우는 만큼의 학습 노력이 필요합니다.: <ul> <?php foreach ($addressbook as $name):?> <li><?=$name?></li> <?php endforeach; ?> </ul> 아래는 템플릿 엔진을 사용할 경우 입니다: <ul> {foreach from=$addressbook item="name"} <li>{$name}</li> {/foreach} </ul> 맞습니다, 템플릿엔진쪽이 조금 더 깨끗해보이긴합니다. 그러나 위 코드는 반드시 재해석의 과정을 거쳐야하기 때문에 성능이 떨어집니다. 우리의 목표는 최대의 성능이기 때문에 템플릿엔진을 사용하지 않습니다. |
|||
다음글 | ajax사용 시 페이지네이션 질문입니다. + (페이징a... (11) | ||
이전글 | 코어 확장문제..ㅜㅜ 계속 안되네요 (20) | ||
kaido
/
2017/02/23 13:32:36 /
추천
1
|
우량
/
2017/02/23 14:00:56 /
추천
0
네 그러니 파서가 포함된 2번이 성능상으로 해석을 더해야되서 좀더 자원을 먹는다는거죠?
|
kaido
/
2017/02/23 14:05:23 /
추천
1
네. 그렇습니다. 반드시 더 먹습니다. 단순히 사용하는 정도면 성능차이는 사실 그렇게 눈에 띌 정도는 아닙니다. 신경 안써도 될 수준 입니다. 그런데 막상 써보면 템플릿 파서 사용하려면 신경 쓸게 한두개가 아닙니다. |
우량
/
2017/02/23 14:07:50 /
추천
0
상세한 답변 감사합니다! 파서를 쓰는게 코드는 확실히 더 깔끔하네요. |
단순히 foreach 돌리는것 말고도 템플릿파서를 사용하면 다른 것도 신경 많이 써야합니다.
성능차이는 눈에 띌 수준은 아니지만 분명 파서 돌리는게 더 자원을 먹구요.
흔히 페이지의 호출 패턴을 요약하면
컨트롤러 - 모델 - 컨트롤러 - 뷰
이런 패턴이라면
컨트롤러 - 모델 - 컨트롤러 - 파서 - 뷰
이런 패턴이 되니 당연하게 자원을 더 먹는 겁니다.