2012-06-10 5 views
1

나는 벤치마킹 방법을 배울뿐만 아니라 더 빨리 무엇인지 알아 내려고 노력 중이다. 이것이 QFile VS ifstream을 테스트하는 정확한 방법이라고 생각하십니까?QFile VS ifstream. 어느 것이 더 빠릅니까?

http://ideone.com/ipkGh

+2

빠른 방법은 무엇입니까? 'QFile'은'ifstream'보다 타입이 짧기 때문에 쓰기가 빠릅니다.) – Blender

+2

'.eof()'를 루프 조건으로 사용하는 것은 [나쁜 습관]입니다 (http://stackoverflow.com/questions/5605125/). 왜 -iostreameof-inside-a-loop-condition-considered-wrong) – Blastfurnace

+0

.eof() 대신 무엇을 사용해야합니까? –

답변

4

속도와 최적화는 모든 프로그램이 개 중요한 요소입니다. 프로그래머는 언어 나 구현에 의존하는 것보다 더 의존적입니다. 최적화가 필요한 경우 우리는 현재의 언어 나 구현이 최적화되지 않았다고 생각합니다. ifstream은 C++의 표준 클래스이며 QFile이이를 사용한다고 생각합니다. 측정하려는 속도와 비율은 정의 된 환경에서 설명하고 측정 할 수 있으며 직면 한 상황을 설명하는 것이 좋습니다.

또 다른 중요한 점은 왜 파일 연산자 클래스의 속도가 중요한지 이해할 수 없습니까? 많은 파일 관련 작업을 메모리에서 수행 할 수 있고 수행해야하며 하드 디스크에 대한 트랩은 최소한으로 유지해야합니다. 따라서 이상적인 상황에서 ifstream, QFile 또는 파일 액세스를위한 느린 프레임 워크간에 차이가 없다고 생각합니다. 일반적으로,이 두 클래스는 기본 OS 라이브러리를 사용합니다. 나는 QFileifstream을 사용한다고 생각한다. ifstream은 기본 OS 라이브러리의 래퍼이고 QFile은 추가 특성으로 인해 두꺼운 래퍼입니다. 그러나 최적화되고 관리 된 방식으로 메모리를 사용하고자 할 때 이것이 매우 중요하다고 생각하지 않습니다.

0

글쎄, 둘 다 빠르다고 말하고 싶습니다. ifstream 및 QFile 모두에 대해 작업을 수행하는 데 걸리는 시간을 항상 확인할 수 있습니다. 하지만 누군가가 말했듯이 QFile을 사용하면 줄이 적습니다.