From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.4 required=5.0 tests=HTML_MESSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 98B32BC0B for ; Wed, 17 Jan 2007 20:50:31 +0100 (CET) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.229]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l0HJoOuG029456 for ; Wed, 17 Jan 2007 20:50:30 +0100 Received: by wr-out-0506.google.com with SMTP id i7so643002wra for ; Wed, 17 Jan 2007 11:50:24 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:references:x-google-sender-auth; b=DGX7HjBYwqmcmedZWs+4zkdnvGM59iivc05MtdS8kwmTHkOi+DbKyMpZU8AXMm4KNG7DTOPKPVvtDvpcQjThYTHy9RQiY4ADk2dynUjUX3YjKaFt8Z+JhLbPnsbfwVQZatS5y4/E32Yk0Y5FUhBpXrlFSG3vcJ8VnX23mgI1fH8= Received: by 10.90.102.20 with SMTP id z20mr6639109agb.1169063423812; Wed, 17 Jan 2007 11:50:23 -0800 (PST) Received: by 10.90.30.5 with HTTP; Wed, 17 Jan 2007 11:50:23 -0800 (PST) Message-ID: <891bd3390701171150m601bb382ufc1d05f088281b93@mail.gmail.com> Date: Wed, 17 Jan 2007 14:50:23 -0500 From: "Yaron Minsky" Sender: yminsky@gmail.com To: "Sebastien Ferre" Subject: Re: [Caml-list] marshaling limits Cc: caml-list@yquem.inria.fr, "=?ISO-8859-1?Q?Daniel_B=FCnzli?=" In-Reply-To: <45AE5001.2080709@irisa.fr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_107075_9769461.1169063423735" References: <2a1a1a0c0701161248l5a1d9ad9q739da9c593fc5219@mail.gmail.com> <45ADE8FE.5070004@irisa.fr> <45AE41C7.8080409@univ-paris12.fr> <45AE43A9.3090904@irisa.fr> <45AE5001.2080709@irisa.fr> X-Google-Sender-Auth: feff6c4d4c441846 X-Miltered: at discorde with ID 45AE7E00.003 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; yaron:01 minsky:01 yminsky:01 marshaling:01 bytecode:01 threads:01 malloc:01 bytecode:01 threads:01 irisa:01 bunzli:01 beginner's:01 ocaml:01 bug:01 malloc:01 ------=_Part_107075_9769461.1169063423735 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Don't quote me on this, but I believe that marshal uses a string in bytecod= e with threads, uses straight malloc with bytecode and no threads, and never uses strings in native code. I'm /very/ unsure about that last one, but I am pretty confident that in some cases, whether it uses strings depends on whether threads are involved. y On 1/17/07, Sebastien Ferre wrote: > > > Daniel B=FCnzli wrote: > > >> pourtant, je passe bien par un appel a output_value > >> dans un fichier, sans passer par une chaine intermediaire. > > > > Maybe output_value uses a string internally. Try with a bytecode > > version of your executable, an exception should be raised (or have a > > look at the implementaiton of output_value). > > I used a bytecode version. > > I checked the code of output_value, and it uses an internal > string. So it won't work. > > Anyway, I knew I would have to go for a more serious > solution as soon as data get really large. I think of > using something like GDBM. > > Thanks for the help. > Sebastien > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > ------=_Part_107075_9769461.1169063423735 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Don't quote me on this, but I believe that marshal uses a string in byt= ecode with threads, uses straight malloc with bytecode and no threads, and = never uses strings in native code.  I'm /very/ unsure about that l= ast one, but I am pretty confident that in some cases, whether it uses stri= ngs depends on whether threads are involved.

y

On 1/17/07, Sebastien Ferre <= ferre@irisa.fr> wrote:

Daniel B=FCnzli wrote:

>> pourtant, je passe bien par un a= ppel a output_value
>> dans un fichier, sans passer par une chaine= intermediaire.
>
> Maybe output_value uses a string internally= . Try with a bytecode
> version of your executable, an exception should be raised (or have= a
> look at the implementaiton of output_value).

I used a byt= ecode version.

I checked the code of output_value, and it uses an in= ternal
string. So it won't work.

Anyway, I knew I would have to go = for a more serious
solution as soon as data get really large. I think of=
using something like GDBM.

Thanks for the help.
Sebastien

_______________________________________________
Caml-list mailin= g list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinf= o/caml-list
Archives: http://caml.inria.fr=
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: <= a href=3D"http://caml.inria.fr/bin/caml-bugs"> http://caml.inria.fr/bin/caml-bugs

------=_Part_107075_9769461.1169063423735--