2013-05-30 3 views
7

제 생각에 ByteStringWord8의 벡터 목록 일뿐입니다. 이 패키지는 바이너리 스트림에서 더 나은 메모리 및 속도 성능을 제공합니다. 마찬가지로 Text 형식은 Char 스트림의 성능을 향상시킵니다.게으른`ByteString`의 파라 메트릭 버전이 있습니까?

하지만 Int 개의 스트림이 있거나 Double 개의 스트림이 있다면 어떻게 될까요? 서로 다른 데이터 형식으로 사용하기 쉬운 ByteString의 매개 변수 버전이 있습니까? Unboxable 타입에서만 사용하는 것이 합리적이라고 가정합니다.

답변

12

Vector은 엄격한 배열을위한 선택입니다. StorableVector 시도, 더 ByteString -like 인터페이스가 게으른 포함하는, 행동을 청크, 그리고 심지어 ByteString 코드의 일반화로 원래 작성되었습니다 생각 :

+1

또한 많은 사람들이'Int''''''''''''''' 등의 가벼운 스트림을 얻기 위해 게으른 바이트 스트링과 역 직렬화를 사용합니다. –

1

"엄격한"버전 만 사용하려는 경우 플랫폼의 일부인 vector을 사용하십시오. Vector에는 박스 화되지 않은 변형과 완전히 일반화 된 변형이 모두 포함되어 있습니다. 벡터에는 공격적인 고품질 스트림 융합도 포함됩니다.

+3

http://hackage.haskell.org/package/storablevector 내가 게으른 버전을합니다. 특히, 나는 메모리에 모든 것을로드하지 않고 몇 기가 바이트의 'Double'데이터 구조를 액세스 할 수 있기를 원합니다. –

관련 문제