playXP

서브 메뉴

Page. 1 / 21 [내 메뉴에 추가]
글쓰기
작성자 lilly1987
작성일 2018-10-09 16:15:32 KST 조회 4,211
제목
쓸데없는 성능 측정 - 최대공약수, 재귀함수

이번엔 최대 공약수를 구하는 함수 입니다.

그리고 이분야에서 공부 한번 해봤으면 들어봤을 유클리드 호재법..

https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95

 

뭐 일단은 써봐야죠

 

크게 두가지 방식으로 구현할건데

재귀 함수 방법이랑 while문 방식입니다.

c++로 한번 측정 해봐야하긴 하는데 귀찬아서 스타2 트리거로 구현.[음?]

 

 

 

1번은 재귀 방식

2번은 변수 반복 방식

코드 라인수부터 차이 나네요.

 

 

그럼 테스트 스크립트 작성

 

 

 

 

 

두개가 동시에 실행되면 시간이 서로 영향 미쳐서 순차 실행

 

값은 잘 나오는거 확인 했기에 디버그 메세지 제외

 

 

 

반복횟수를 100000회로 측정 

 

 

lib1B30C79D_gt_Euclidean_set 트리거가 - 재귀 방식

lib1B30C79D_gt_Euclidean_set2 트리거가 - 반복 방식

 

재귀 방식 369 밀리초

반복 방식 396 밀리초

 

 

횟수가 적어서 그런가

아니면 초기화 직후에 해서 그런가

 

지도 초기화후 시간 지연 5초좀 넣고 

1000000회로 실행

 

 

 

그리고

실행 순서를 바꿔서 한번더 실행

 

 

 

재귀 방식 3778 밀리초

반복 방식 4175 밀리초

 

음 함수 재귀방식이 빠르네요

변수 대입 코드가 몇번 들어갔다고 저정도 성능차이가 나버리네요.

 

성능 최적화 할려면 역시 코드 실행 횟수를 줄이는게 답입니다.

 

팁: 에디터 설정을 창모드로 하시면 스샷처럼 디버그창 이용 가능.

비활성된 트리거라도 디버그창에서 강제 실행 가능

 

 최대공약수.SC2Lib



출처: http://lilly1987.tistory.com/801 [릴리의 지극히 개인적인 블로그] 

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

아이콘 Ashley (2021-04-15 18:10:07 KST)
0↑ ↓0
센스 이미지
좋은글 ㅊㅊ
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.