커뮤니티

데이터처리시간 절약 방법??

프로필 이미지
billy
2014-08-02 17:32:03
188
글번호 77339
답변완료
제가 시스템을 만들어봤는데 변수나 값, 함수, 식 등등이 복잡해서 데이터처리시간이 상당히 긴 편 (시스템을 아주 긴 주기의 시뮬레이션차트에 넣을 때는 렉이 2분 이상 걸리기도 합니다) 입니다. 따라서 조금이나마 그런 시간을 줄일 수 있도록 편집을 하려는데요 아주 간략화해서 상황을 설명드리자면...... 1안 input: bbperiod(60), bbstdev(2), mcperiod1(12), mcperiod2(26); var: bbu(0), bbd(0),mc(0); bbu = bollbandup(bbperiod, bbstdev); bbd = bollbanddown(bbperiod, bbstdev); mc = macd(mcperiod1,mcperiod2); 이 밑으로 여러 식들, condition들........... 2안 var: bbu(0), bbd(0),mc(0); bbu = bollbandup(60, 2); bbd = bollbanddown(60, 2); mc = macd(12,26); 이 밑으로 여러 식들, condition들........... 위와 같이 1안은 input을 활용해서 60,2,12,26의 변수값들을 input으로 끌어내는 방식으로 작성하는 것이고 2안은 input 쪽으로 꼭 변수값을 묶어서 나타내야 하는 경우가 아니라면 그냥 60,2,12,26등의 변수값을 직접 입력하는 방식으로 작성한 것입니다 input에 값을 입력함으로써 데이터처리가 한 번 더 이뤄진다면 1안이 시간 잡아먹는게 그만큼 클 것이고 2안이 시간이 적게드는 방식일 것이라 생각될 수 있고 반대로 bbu와 bbd와 같이 같은 변수값을 사용하는 식이 있을때 그 변수값들을 통일해서 bbperiod, bbstdev로 쓰고 input 란을 통해서 구현함으로써 bbu와 bbd의 변수값들을 각각 데이터처리하는게 아니라 bbperiod, bbstdev로 1번에 처리하는 거라면 1안이 더 시간이 적게드는 방식이 될 수 있을거라 생각도 듭니다 어느쪽으로 하는 것이 데이터처리시간을 조금이라도 단축할 수 있을까요?? (데이터처리시간 = 차트에 시스템 넣고 구현되기까지 소요시간 내지는 렉 걸리는 시간)
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-08-04 14:50:42

안녕하세요 예스스탁입니다. 1안과 2안의 경우에는 차이가 없다고 보셔야 합니다. 외부변수는 특정값이 해당 변수에 매봉 저장이 되는 것이 아니고 최초 실행시에 값이 한번 저장되므로 속도와는 큰 관계가 없습니다. 수식의 계산속도는 수식안에서 사용된 함수의 갯수와 복잡성,차트의 봉수의 영향을 받습니다. 동일한 값을 계산하는 함수나 계산수식은 변수에 할당해서 반복계산이 안되게 해주시고 for문등을 사용하실 경우 불필요하게 많은 횟수의 루프가 돌지 않게 해주셔야 합니다. 즐거운 하루되세요 > billy 님이 쓴 글입니다. > 제목 : 데이터처리시간 절약 방법?? > 제가 시스템을 만들어봤는데 변수나 값, 함수, 식 등등이 복잡해서 데이터처리시간이 상당히 긴 편 (시스템을 아주 긴 주기의 시뮬레이션차트에 넣을 때는 렉이 2분 이상 걸리기도 합니다) 입니다. 따라서 조금이나마 그런 시간을 줄일 수 있도록 편집을 하려는데요 아주 간략화해서 상황을 설명드리자면...... 1안 input: bbperiod(60), bbstdev(2), mcperiod1(12), mcperiod2(26); var: bbu(0), bbd(0),mc(0); bbu = bollbandup(bbperiod, bbstdev); bbd = bollbanddown(bbperiod, bbstdev); mc = macd(mcperiod1,mcperiod2); 이 밑으로 여러 식들, condition들........... 2안 var: bbu(0), bbd(0),mc(0); bbu = bollbandup(60, 2); bbd = bollbanddown(60, 2); mc = macd(12,26); 이 밑으로 여러 식들, condition들........... 위와 같이 1안은 input을 활용해서 60,2,12,26의 변수값들을 input으로 끌어내는 방식으로 작성하는 것이고 2안은 input 쪽으로 꼭 변수값을 묶어서 나타내야 하는 경우가 아니라면 그냥 60,2,12,26등의 변수값을 직접 입력하는 방식으로 작성한 것입니다 input에 값을 입력함으로써 데이터처리가 한 번 더 이뤄진다면 1안이 시간 잡아먹는게 그만큼 클 것이고 2안이 시간이 적게드는 방식일 것이라 생각될 수 있고 반대로 bbu와 bbd와 같이 같은 변수값을 사용하는 식이 있을때 그 변수값들을 통일해서 bbperiod, bbstdev로 쓰고 input 란을 통해서 구현함으로써 bbu와 bbd의 변수값들을 각각 데이터처리하는게 아니라 bbperiod, bbstdev로 1번에 처리하는 거라면 1안이 더 시간이 적게드는 방식이 될 수 있을거라 생각도 듭니다 어느쪽으로 하는 것이 데이터처리시간을 조금이라도 단축할 수 있을까요?? (데이터처리시간 = 차트에 시스템 넣고 구현되기까지 소요시간 내지는 렉 걸리는 시간)