Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] BigArrays
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-07-31 (16:51)
From: David McClain <dmcclain1@m...>
Subject: [Caml-list] BigArrays
I'm finally ready to consider moving up to the OCaml BigArrays in my NML. It
looks like a pretty good implementation. I still need to add special slicing
code that can extract arbitrary regions from arrays with strides different
from the parent array.

But one thing that stands out as a major weakness is the implementation of
memory mapped arrays. These currently do two objectionable things:

1. the entire file is mapped into memory -- these are potentially huge
files, bumping up to and sometimes exceeding 4 GB. Memory mapping needs to
use a sliding window of access in a manner transparent to the user. I often
default to 4 MB windows, but I do offer the possibility of a user settable
window size.

2. the file is mapped into memory starting at file offset zero. Most
datafiles use some amount of header information to describe the internal
layout of data. Data are mixed arrays of various machine word sizes, some
are double, others are float, and still others are unsigned character arrays
(images), all combined into the same large datafile. A file that contains
only one array of fixed wordsize is rather unusual.

Also curious about the limitation (??) to a maximum of 16 dimensions. While
I have never exceeded that limit, why place any limit?

David McClain
Senior Corporate Scientist
Avisere, Inc.

+1.520.390.7738 (USA)

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: