2013-03-22 1 views
1

안녕하세요. 최근에 C++ 용 armadillo 라이브러리를 발견했습니다. MATLAB에서 프로토 타입을 작성한 후에 응용 프로그램을 작성하므로 훨씬 빠르게 실행할 수 있습니다. 내가 직면하고 문제는 내가 .mat 파일에서 매트릭스를로드 할 때 다음과 같이이다 :C++에서 armadilo를 사용하여 데이터 파일을 더 빨리 읽을 수있는 방법

A.load("A.mat",raw_ascii); 
//raw_ascii because I can port data to MATLAB as well. 

은 약 10 초 정도 걸립니다. 나는 armadillo 나 C++에서 일반적으로 그것을하는 더 빠른 방법이 있는지 궁금 해서요.

의견을 보내 주셔서 감사합니다.

편집 1 - 내가 읽으려는 파일은 약 35MB입니다.

+0

파일의 크기는 얼마입니까? –

+0

파일은 약 35MB입니다. MATLAB은 꽤 빨리로드 할 수 있습니다. 나는 armadillo를 사용하여 그렇게 할 수 없습니다! – anirudhr

답변

2

hdf5_binary가 더 빨리 작동해야합니다. Matlab은이 형식을 지원합니다.

+0

불행히도 hdf5_binary는 설명서 에서처럼 Mac과 Linux에서만 작동합니다. : – anirudhr

+0

Windows에서 작업하는 경우 속도가 느리다는 것은 놀라운 일이 아닙니다.이 경우'armadillo_bits/diskio_meat.hpp'에'diskio :: load_raw_ascii'와 비슷한 자신의'load' 함수를 작성할 수 있지만 C -functions – podshumok

+1

Windows에서도 Armadillo를 hdf5와 함께 사용할 수 있습니다. 조금 더 많은 작업이 필요합니다. Armadillo에서 hdf5의 사용을 가능하게하고 (include/armadillo_bits/config.hpp 편집을 통해), 프로그램을 컴파일 할 때 hdf5 런타임 라이브러리의 C 버전과 명시 적으로 연결하십시오. – mtall

관련 문제