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

 
ALXIMIKS :

비슷한 문제와 C ++로 해결하기 위한 옵션에 대해 토론한 사이트 가 생각났습니다.

고마워, 내가 읽을게.

이반 이바노프 :
물론 미안하지만 64비트를 시도하거나 MT가 32비트만 된다면
나는 순진하게 그런 고도의 수학적 것이 64비트에서 회전해야 한다고 생각했습니다.
항공기의 공기 역학을 계산하기 위해 동일한 프로그램을 사용하므로 원칙적으로 32x에서 작동하지 않습니다.
자동차가 32배 더 빠르게 움직인다는 주요 주장에 대해 알고 있지만 이것은 실제로 하드웨어 문제입니다 IMHO

x64로 전환하면 천장이 그리 멀지 않고 이동됩니다. 16GB의 메모리를 추가로 요청하지 않으시겠습니까? ;)

 
anonymous :

1. 당연히 x64 시스템을 사용합니다.

2. Amazon EC2 클라우드에서 더 강력한 시스템을 임대하고 계산합니다.

3. 압축된 데이터를 사용하고 메모리에서 즉석에서 압축을 해제합니다. 실제 데이터는 스트림(부호/가수/지수)으로 분할할 때 더 잘 압축됩니다. 12비트 부동 소수점을 사용할 수 있습니다(정밀도를 희생하여).

4. EA 외부에서 빅 데이터(Matlab/R/etc)로 작업할 수 있는 계산을 수행합니다.

1.2 : 천정을 옮기는 이야기인데 특정한 숫자에 얽매이지 않고 문제를 풀고 싶다.

3. 문제는 디스크의 데이터 양이 아니라 메모리의 양입니다. 10-20% 더 압축할 수 있지만 다시 말하지만 문제가 해결되지 않습니다.

4. 당분간은 샌드박스에 머물기를 바랍니다. 나중에 복사기 / 동기화 장치를 작성하지 않도록 ...

참여해주셔서 감사합니다!

 
komposter :
x64로 전환하면 천장이 그리 멀지 않고 이동됩니다. 16GB의 메모리를 추가로 요청하지 않으시겠습니까? ;)

당신은 항상 그런 데이터로 작업하지 않습니까? x64에서 직접 작성하고 필요할 때 Amazon에서 실행합니다. 마이크로 인스턴스에서 디버깅할 수도 있습니다.

그럼에도 불구하고 이러한 작업이 지속적으로 발생하면 Corsair Vengeance Pro CMY64GX3M8A2133C11과 같이 64GB의 메모리를 약 $ 1k에 구입할 수 있습니다.

또는 알고리즘의 구조를 재고하여 데이터에 대해 한 번에 작동할 수 있습니다.

ps 압축된 데이터를 메모리에 저장하고 처리에 충분한 시간 동안 필요에 따라 압축을 해제할 수도 있습니다.

[삭제]  
komposter :

고마워, 내가 읽을게.

x64로 전환하면 천장이 그리 멀지 않고 이동됩니다. 16GB의 메모리를 추가로 요청하지 않으시겠습니까? ;)

농담이야 :-)
난 내 컴퓨터에 8GB의 찻주전자야
 

옵션 1. 파일을 조각으로 자릅니다.

옵션 2. 또한 조각으로 자르지 만 여전히 체계화하십시오. 마치 사전에서 단어를 찾는 것처럼. "A.txt" 파일에서 찾고 있는 문자 "A"로 시작합니다. 따라서 데이터를 트리 형태로 정렬할 수 있습니다(사전과 유사: 폴더 A, B ... 폴더 AA, AB 등의 폴더 A에 있음). 검색이 매우 빠르게 수행됩니다.

 
komposter :

따라서 여러 번 읽어야 하며 다음과 같습니다.

  • 너무 느려
  • 나사에 구멍을 뚫다

가상 RAM 디스크를 구출합니다 ;)

구멍이 없으며 속도가 마음에 드실 것입니다.

전체 볼륨을 즉시 사용할 수 있습니다.

조각이 작업에 맞지 않기 때문에 조각으로자를 필요가 없습니다.

 
파일을 조각으로 자르고 필요에 따라 각 조각을 다운로드하려고 했습니다(즉, Dima가 제안한 대로). 때문에 더 정확하게 말하기는 어렵습니다. 특정 작업에 따라 다릅니다. 그러나 문제는 흥미롭습니다. 결과를 최신 상태로 유지하십시오.
 
komposter :

1. 이것은 캐시입니다... 아니면 무슨 말인지 이해가 되지 않습니다. 필요한 부분을 지속적으로 읽는 내 변형?

음... 래퍼를 통해 파일을 읽기 위해 래퍼는 파일의 작은 부분을 메모리에 유지하고 읽지 않고 대체합니다. 내 말은, 파일이 어떻게 사용되는지 알고 있으므로 래퍼가 매우 효율적이어야 합니다.

퇴비통 :

젠장...

같은 계란, 측면 만. 읽기 속도가 빨라질 수 있지만 이것이 전 세계적으로 문제를 해결하는 것은 아닙니다.

뭐, 작은 규모에서 반복적인 행동을 생각하고 있었다.

매핑을 사용하는 것은 직접 작성하는 대신 Windows 캐시를 사용하는 것입니다. 나는 한 조각을 다운로드하고, 읽고, 업로드했습니다. 조각이 자주 사용되는 경우 Windows는 해당 조각을 메모리에 보관합니다.

익명 :

3. 압축된 데이터를 사용하고 즉시 메모리에서 압축을 해제합니다. 실제 데이터는 스트림(부호/가수/지수)으로 분할할 때 더 잘 압축됩니다. 12비트 부동 소수점을 사용할 수 있습니다(정밀도를 희생하여).

4. EA 외부에서 빅 데이터(Matlab/R/etc)로 작업할 수 있는 계산을 수행합니다.

또는 그렇게 (들)
 
데이터 구조 와 수행되는 작업의 세부 사항을 알지 못하면 일반적인 조언만 제공될 수 있습니다. 옵션 중 하나의 핵심은 원시 데이터를 하나 이상의 패스(디스크 삭제 없이)(동일한 4GB)에서 더 작은 메타데이터로 변환한 다음 이미 메타데이터(집계 값, 일부 매개변수에 의한 절단 등)로 작업하는 것입니다. .). 이것이 작동하지 않으면 - 데이터를 DBMS로 이동하십시오.
 
komposter :

많은 양의 정보가 있습니다(텍스트 파일의 경우 약 20GB).

...

그리고 이 파일이 아카이버에 의해 압축된 경우 볼륨은 어떻게 됩니까(결국 텍스트는 매우 잘 압축되어야 함)?