도움이 필요하다! 숙제가 풀리지 않아 철의 한계에 부딪혀 - 페이지 18

 

테스트 스크립트 및 실행 결과.

HDD:

2014.08.22 21:16:43.584 sTest_ReadWriteBIN EURUSD,M1: 100000 secuences writed in 39.8 sec
2014.08.22 21:17:24.174 sTest_ReadWriteBIN EURUSD,M1: 4156 Mb loaded in 40.0 sec ( 103.9 MB/sec )

램 디스크:

2014.08.22 21:22:15.170 sTest_ReadWriteBIN EURUSD,H1: 27.6초 동안 작성된 100000개 시퀀스
2014.08.22 21:22:42.805 sTest_ReadWriteBIN EURUSD,H1: 27.6초에 4158MB 로드( 150.4MB/초 )

여전히 인상적이지 않습니다. 사실, 테스트 조건은 지금 아주 깨끗하지 않으며 많은 것들이 컴퓨터에서 작동합니다.

나중에 반복하겠습니다.

파일:
 
komposter :
읽기를 WinAPI 아날로그로 바꾸면 RAM 디스크의 속도가 최소 2-3배 증가한다고 생각합니다.
 
komposter :

더엑스퍼트 :
그건 그렇고, 각 시퀀스의 시작 위치를 알면 필요한 날짜를 이진 검색으로 찾을 수 있습니다. 왜냐하면 거래는 시간순으로 정렬됩니다.

+1, 아이디어 주셔서 감사합니다.

보간 검색을 사용할 수도 있습니다. 이 검색은 이 작업에서 훨씬 더 빠르게 작동할 가능성이 큽니다.
 
TheXpert :
읽기를 WinAPI 아날로그로 바꾸면 RAM 디스크의 속도가 최소 2-3배 증가한다고 생각합니다.

이론적으로 FileOpen 만 느려지고 읽기는 빨라야 합니다. 하지만 확인하겠습니다.

익명 :
보간 검색을 사용할 수도 있습니다. 이 검색은 이 작업에서 훨씬 더 빠르게 작동할 가능성이 큽니다.

감사합니다.

 
komposter :
...

여전히 인상적이지 않습니다.

...

C ++에서 이것은 64K-128K 버퍼로 확장하여 수행되며 sscanfs가 매우 느리기 때문에 자체 파서로 이를 구문 분석하는 것이 좋습니다.
 
kazakov.v :
C ++에서 이것은 64K-128K 버퍼로 확장하여 수행되며 sscanfs가 매우 느리기 때문에 자체 파서로 이를 구문 분석하는 것이 좋습니다.

C++에서는 다음과 같은 경우 파서 없이 가능합니다.

나는 아이디어를 10번 추진하고 있습니다. 다른 파일에 있는 시퀀스 위치의 시작 값으로 다른 파일을 생성하려면 시퀀스 구조 에 트랜잭션 수를 저장할 필요조차 없습니다.

 
marketeer :
이 작업은 상당히 학문적이며(프로그래머를 고용할 때 질문처럼 보임) 많은 사람들이 그것에 관심을 보였기 때문에 초기 데이터를 설명하는 형식 측면에서 더 엄격하게 공식화하지 않고 모든 사람이 20GB의 테스트 데이터를 생성할 수 있습니다. 그리고 그들의 실질적인 결정을 제시합니까?

+100

작업은 사소하지 않지만 아직 한 줄의 코드도 없습니다. Andrey, 여기 많은 사람들이 관심을 가지고 있습니다. 문제를 공식화하고 테스트 데이터를 제공합니다. 스포츠 프로그램을 준비합니다.

 
C-4 :

+100

작업은 사소하지 않지만 아직 한 줄의 코드도 없습니다. Andrey, 여기 많은 사람들이 관심을 가지고 있습니다. 문제를 공식화하고 테스트 데이터를 제공합니다. 스포츠 프로그램을 준비합니다.

작업이 이미 설정되었습니다.
 
Vinin :
작업이 이미 설정되었습니다.
데이터 작업에 대한 일반적인 원칙과 함께 테스트 데이터 + 의사 코드가 필요합니다.
 
기본에서 옵션을 정렬하려면 어떻게 해야 합니까? 기준에 따라 기록에 대한 트랜잭션을 생성하는 것이 더 나을 수 있습니까? 아니다? 요구되는 것과 동일하지 않습니까?