I inadvertently sent it to Davids address instead of the forums.
 
Thanks for the links, I'll look into it.
Talking about large amounts of data,
do you happen to have an example of using HashArray? This would be great.

Regards,
Michael



Am 10/17/2012 12:05 PM, schrieb Makarius:
On Wed, 17 Oct 2012, David Matthews wrote:

Michael,
It's probably a good idea to send questions like this to the Poly/ML mailing list and I'm copying this reply to the list.  There are people on the list who may have experience of what you're trying to do and also any replies get archived and reduce the chances of the same question being asked repeatedly.

To reply to your specific question: there's no difference in efficiency between TextIO and BinIO on Unix.  On Windows TextIO is more complicated because of the need to convert between CRLF and "\n".  I'm not clear how you are accessing the file, whether it is random or sequential.  To read individual bytes you can always use BinIO.input1 or TextIO.input1.  This would save you having to explode a vector.

BinIO deals with values of type Word8.word and the vector is Word8Vector.vector.  These are unsigned byte values.

Regards,
David

On 16/10/2012 20:59, Michael Moeller wrote:
Hi,

I've got a problem regarding huge files as input. I need to get access to
the single byteslike with fgetc() in C. TextIO and subsequently exploding
the string does the jobbut performance matters and it seems to me like
BinIOsaves me from the 'explode' step.Unfortunately I can't figure out
how to access theresulting BinIO.vector. I'd be appreciative to seean
exampleand please tell me if this is not the right approach.

Regards,
Michael

David probably intended to send this back to Michael Moeller, and just got the "M" completion wrong.


Nonetheless, I can offer two hints from the Isabelle/ML code base:

 (1) Combinators fold_lines and fold_pages to access large text files
     in a scalable manner:

     http://isabelle.in.tum.de/repos/isabelle/file/Isabelle2012/src/Pure/General/file.ML#l132

 (2) Some applications of BinIO.vector over sockets, which had to be
     trashed for compatibility with old Poly/ML 5.4.x versions:

     http://isabelle.in.tum.de/repos/isabelle/file/63144ea111f7/src/Pure/System/system_channel.ML
     http://isabelle.in.tum.de/repos/isabelle/file/8b20be429cf3/src/Pure/System/system_channel.ML


    Makarius
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml


_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to