2013-07-21 3 views
0

QByteArray와 unsigned char * 사이의 속도 차이가 있는지 알고 싶습니까? 내 프로그램에는 바이트 배열과 복사 작업이 많이 있으므로 어떤 차이가 있는지를 아는 것이 중요합니다. 감사합니다.QByteArray 대 unsigned char * speed

+0

테스트 해 보셨습니까? –

+0

아직 없습니다. 내가 배후에있는 모든 생각을 알고 싶어서 물었다. 여러 플랫폼과 상황에서 사용하기를 원하기 때문입니다. 나는 간단한 테스트 결과가 좋은 반응이 아닐 것이라고 생각했다. – oMatrix

답변

1

unsigned char* 바이트 배열로 사용하면 간단합니다. 그래서 이론적으로는 QByteArray이 빠를 수는 없지만 속도가 빠르거나 조금 느릴 수는 있습니다. 하지만 보통은 unsigned char* 만 사용할 수는 없습니다. 배열 길이를 어딘가에 유지해야하므로 unsigned char*int이됩니다. 적어도 나를 위해서라면 QByteArray을 사용하는 것보다 훨씬 더 많은 작업이 필요합니다. QByteArray에는 많은 멤버 함수가 포함되어 있습니다. unsigned char*을 사용할 때 많은 것을 직접 구현해야하는 경우 구현이 Qt의 구현보다 느릴 가능성이 항상 있습니다. 그리고 많은 작업이 필요합니다.

물론 일부 응용 프로그램에서는 모든 배열의 크기가 같고 크기가 변하지 않는 수백만 개의 배열이있을 수 있습니다. 그런 다음 unsigned char*을 사용하는 것이 더 좋습니다. 특히 배열이 짧아서 QByteArray의 메모리 사용 오버 헤드가 중요 할 수 있습니다.

나는 unsigned char*이 빠릅니다. 그러나 응용 프로그램 및 코딩 기술에 따라 QByteArray보다 빠르거나 느릴 수도 있습니다. 정말로 알고 싶다면 테스트 응용 프로그램을 만들고 속도를 측정하십시오.

관련 문제