lanthanide
일반인
lanthanide cb4c2cb879de47a78fea3764ddc3b3bb
요 며칠 데이터팩을 만지다 보니 성능 최적화를 몇 번 찾아보게 되었는데, 레딧에 좋은 테스트 결과가 있더군요.
영어 자료라 읽기 귀찮으실 분들을 위해 대략적으로 요약하자면
- score는 꽤 빠르다. 특히 predicate 보다는 if score 나 if entity @e[scores=] 이 빠르다.
- tag는 더 빠르다.
- execute는 살짝 렉이 걸리는 편이다. 줄일 수 있다면 줄이는 편이 좋다.
- 하지만 execute는 중간에 실행 조건이 충족되지 않으면 바로 끝나므로 경우에 따라 오히려 빠를 수도 있다.
- nbt 수정/검사는 아주 무거운 작업이다. 특히 플레이어가 무겁고, 그나마 storage는 몇 배 빠르다.
- execute가 바로 끝나듯이 셀렉터도 바로 끝난다. 예를 들어 @e[tag=asdf,nbt={}] 에서 asdf 태그가 없다면 nbt 검사는 하지도 않는다.
- 커맨드 블럭은 function 보다 8배 이상 느리다.
이 정도 되겠습니다. 너무 비약한 것도 있고, 제가 잘못 읽은 게 있을 수도 있으니 원본도 한 번 읽어보시면 좋겠습니다.
그리고 같은 레딧에 성능 최적화 관련 위키 페이지가 있더군요. 저도 아직 다 읽지는 않았으나, 좋은 글인 것 같습니다.
댓글이 없습니다.
새로운 댓글을 등록해 주세요!