알고리즘, 결정 방법, 성능 비교 - 페이지 17 1...1011121314151617181920212223 새 코멘트 Sergey Dzyublik 2017.12.11 09:41 #161 특정 작업에서: 인덱스 => 값 CHashMap 보다 빠른 CArrayList CArrayList 는 공간의 절반 이상을 차지하며 새 요소가 추가될 때 재작성 횟수도 적습니다( CArrayList 의 성장 계수는 2이고 CHashMap 의 성장 계수는 현재 구현에서 1.2임). 그리고 CArrayList의 결과를 읽을 때 제스처가 적습니다. Vasiliy Sokolov 2017.12.11 09:46 #162 Sergey Dzyublik : 특정 작업에서: 인덱스 => 값 CHashMap 보다 빠른 CArrayList CArrayList 는 공간의 절반 이상을 차지하며 새 요소가 추가될 때 재작성 횟수도 적습니다( CArrayList 의 성장 계수는 2이고 CHashMap 의 성장 계수는 현재 구현에서 1.2임). 그리고 CArrayList의 결과를 읽을 때 제스처가 적습니다. 그런 마법 같은 속성이 있습니다. 그런데 어떤 이유로 CHashMap에 없는 Capacity 입니다(개발자의 큰 실수입니다). 그것을 지정함으로써 우리는 재매핑을 우회합니다. 이 작업에서 지정할 수 있으므로 문제가 없습니다. Vasiliy Sokolov 2017.12.11 09:47 #163 Sergey Dzyublik : 특정 작업에서: 인덱스 => 값 CHashMap 보다 CArrayList 가 빠릅니다. CArrayList 는 공간의 절반 이상을 차지하며 새 요소가 추가될 때 재작성 횟수도 적습니다( CArrayList 의 성장 계수는 2이고 CHashMap 의 성장 계수는 현재 구현에서 1.2임). 그리고 CArrayList의 결과를 읽을 때 제스처가 적습니다. 그런데 스케일 계수가 다른 이유도 매우 이상합니다. CHashMap을 다시 매핑하는 것은 단순한 CArrayList 보다 더 어려울 것입니다. Реter Konow 2017.12.11 09:47 #164 더 간결한 버전: //+------------------------------------------------------------------+ //| Magic 2.mq5 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ int All_magics[]; int order_number; int Random_orders_of_strategy; //+------------------------------------------------------------------+ void Trading() { Random_orders_of_strategy = MathRand (); //---------------------------------------- //Имитируем открытие неопределенного количества ордеров стратегии. //---------------------------------------- for ( int a1 = 0 ; a1 < Random_orders_of_strategy; a1++) { int this_magic = MathRand (); //---------------------------- order_number++; //--------------------------------- //Меняем размрер массива на каждой итерации. //--------------------------------- ArrayResize (All_magics,order_number); All_magics[order_number - 1 ] = this_magic; //--------------------------------- } //---------------------------------------- } //+------------------------------------------------------------------+ int Get_magic( int deal_number) { return (All_magics[deal_number - 1 ]); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { Trading(); //-------------------------- ulong t1 = GetMicrosecondCount (); Get_magic( 1000 ); ulong t2 = GetMicrosecondCount (); //-------------------------- Print ( "Время исполнения функции Get_magic() при количестве ордеров " ,Random_orders_of_strategy, " равно " ,t2 - t1); //-------------------------- Print ( "Random_orders_of_strategy " ,Random_orders_of_strategy); Print ( "magic 1: " ,Get_magic( 1 ), " magic 2: " ,Get_magic( 2 ), " magic 3: " ,Get_magic( 3 )); } //+------------------------------------------------------------------+ Alexandr Andreev 2017.12.11 09:49 #165 Реter Konow : 더 간결한 버전: 이제 사용해보자 템플릿 < typename T> Реter Konow 2017.12.11 09:50 #166 Alexandr Andreev : 이제 사용해보자 템플릿 < typename T> 무엇 때문에? Yury Kulikov 2017.12.11 09:51 #167 Реter Konow : 더 간결한 버전: 계속 괴롭히는 남자... Vasiliy Sokolov 2017.12.11 09:52 #168 Реter Konow : 더 간결한 버전: 헛소리를 쓰셨네요. 본질적으로 인덱스 로 배열에 액세스하는 변형입니다 . 실제로 거래 번호는 무작위이며 실제 문제를 해결해야 할 때 전체 예제가 무너집니다. Alexandr Andreev 2017.12.11 09:52 #169 Реter Konow : 무엇 때문에? 글쎄요, 말하자면 배열을 다시 작성 하고 새 줄을 추가하는 것과 같은 기능이 있습니다 ... 표준 릴리스에서는 말 그대로 보편적이지 않으므로 지속적으로 다시 작성해야합니다 우리는 우리의 작은 기능의 템플릿을 얻습니다 - 특정 공통 Реter Konow 2017.12.11 09:52 #170 Yury Kulikov : 계속 괴롭히는 남자... 특정 문제에 대한 이상적인 솔루션이 조롱으로 인식되는 이유는 무엇입니까? 진심 이해불가... 1...1011121314151617181920212223 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
특정 작업에서: 인덱스 => 값
CHashMap 보다 빠른 CArrayList
CArrayList 는 공간의 절반 이상을 차지하며 새 요소가 추가될 때 재작성 횟수도 적습니다( CArrayList 의 성장 계수는 2이고 CHashMap 의 성장 계수는 현재 구현에서 1.2임).
그리고 CArrayList의 결과를 읽을 때 제스처가 적습니다.
특정 작업에서: 인덱스 => 값
CHashMap 보다 빠른 CArrayList
CArrayList 는 공간의 절반 이상을 차지하며 새 요소가 추가될 때 재작성 횟수도 적습니다( CArrayList 의 성장 계수는 2이고 CHashMap 의 성장 계수는 현재 구현에서 1.2임).
그리고 CArrayList의 결과를 읽을 때 제스처가 적습니다.
그런 마법 같은 속성이 있습니다. 그런데 어떤 이유로 CHashMap에 없는 Capacity 입니다(개발자의 큰 실수입니다). 그것을 지정함으로써 우리는 재매핑을 우회합니다. 이 작업에서 지정할 수 있으므로 문제가 없습니다.
특정 작업에서: 인덱스 => 값
CHashMap 보다 CArrayList 가 빠릅니다.
CArrayList 는 공간의 절반 이상을 차지하며 새 요소가 추가될 때 재작성 횟수도 적습니다( CArrayList 의 성장 계수는 2이고 CHashMap 의 성장 계수는 현재 구현에서 1.2임).
그리고 CArrayList의 결과를 읽을 때 제스처가 적습니다.
그런데 스케일 계수가 다른 이유도 매우 이상합니다. CHashMap을 다시 매핑하는 것은 단순한 CArrayList 보다 더 어려울 것입니다.
더 간결한 버전:
더 간결한 버전:
이제 사용해보자
템플릿 < typename T>
이제 사용해보자
템플릿 < typename T>
더 간결한 버전:
계속 괴롭히는 남자...
더 간결한 버전:
헛소리를 쓰셨네요. 본질적으로 인덱스 로 배열에 액세스하는 변형입니다 . 실제로 거래 번호는 무작위이며 실제 문제를 해결해야 할 때 전체 예제가 무너집니다.
무엇 때문에?
글쎄요, 말하자면 배열을 다시 작성 하고 새 줄을 추가하는 것과 같은 기능이 있습니다 ... 표준 릴리스에서는 말 그대로 보편적이지 않으므로 지속적으로 다시 작성해야합니다
우리는 우리의 작은 기능의 템플릿을 얻습니다 - 특정 공통
계속 괴롭히는 남자...