From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id ED804BC57 for ; Mon, 13 Dec 2010 16:02:35 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvkAALrEBU3RVaGskGdsb2JhbACVKoYvAYghCBUBAQEBCQkMBxEEJag2iXCCGIRiLohWAQEDBYVFBIp5 X-IronPort-AV: E=Sophos;i="4.59,336,1288566000"; d="scan'208";a="70405339" Received: from mail-gx0-f172.google.com ([209.85.161.172]) by mail3-smtp-sop.national.inria.fr with ESMTP; 13 Dec 2010 16:02:06 +0100 Received: by gxk28 with SMTP id 28so3624414gxk.3 for ; Mon, 13 Dec 2010 07:02:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=3GbDDNLa7NiV+FKyNLieSmaUtqVzrplKf93BftuZmu8=; b=N/o9dqSlYSEmJA+NA687ScJEJi8Zvrdtzxk0N7BdTuSK9glGngiQA1xsPToOArCrJY JvDg4aj38Xs/wuC28pZ8deOQmGbOiiPIQPTG75OI0vXyGPJT8yoSBaZ/M7NzZPfg/8Mv ikffa45xNDGtRuOIhKsFXVWYUv3Hu0dsYkqE8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=WNRIv69knMCenc34DpzbhW6lM02kNGgmyv7s+UOiyxPPIi3oImv5RynrJtQ+MmCbAG cPxaYJ8qcNN+bpQWa3xjy5HNz5c1IZxyvb8ynbNfleO7XFu6TFb6CnPvMAnzojwCl4x7 cKUM9Nc84A4XvLm4BK+VDgOZpI9wPqBu3n7l8= MIME-Version: 1.0 Received: by 10.91.47.13 with SMTP id z13mr5185304agj.42.1292252524598; Mon, 13 Dec 2010 07:02:04 -0800 (PST) Received: by 10.90.211.10 with HTTP; Mon, 13 Dec 2010 07:02:04 -0800 (PST) In-Reply-To: <4D0631FD.6000106@elehack.net> References: <4D0631FD.6000106@elehack.net> Date: Mon, 13 Dec 2010 17:02:04 +0200 Message-ID: Subject: Re: [Caml-list] performance of ocamlgraph and ocaml batteries From: Eray Ozkural To: Michael Ekstrand Cc: caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=0016e6408656b0561e04974bfc3b X-Spam: no; 0.00; ocaml:01 eray:01 ozkural:01 computations:01 nodes:01 hash:01 arrays:01 cheers:01 eray:01 ozkural:01 bilkent:01 computations:01 nodes:01 hash:01 arrays:01 --0016e6408656b0561e04974bfc3b Content-Type: text/plain; charset=ISO-8859-1 On Mon, Dec 13, 2010 at 4:47 PM, Michael Ekstrand wrote: > > > 2. Generally, is the memory consumption of ocamlgraph is effective? > > In my experience, it is quite reasonable in its memory use (particularly > compared with a Java library I tried). The ultimate test, though, is > your application. Can you do the computations you need within the > resources you have available? I'm guessing it'll be pretty hard to beat > ocamlgraph, though, except with a very tight array-based implementation > with integer nodes. > > Oww, is the imperative implementation using hash tables or maps then? You can always implement an adjacency list structure with dynamically sized arrays. That's what boost::graph does. Shouldn't be too hard to plug your own in ocamlgraph if needed. Cheers, -- Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara http://groups.yahoo.com/group/ai-philosophy http://myspace.com/arizanesil http://myspace.com/malfunct --0016e6408656b0561e04974bfc3b Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Mon, Dec 13, 2010 at 4:47 PM, Michael= Ekstrand <mich= ael@elehack.net> wrote:=A0
> 2. Generally, is the memory consumption of ocamlgraph is effective?
In my experience, it is quite reasonable in its memory use (particula= rly
compared with a Java library I tried). =A0The ultimate test, though, is
your application. =A0Can you do the computations you need within the
resources you have available? =A0I'm guessing it'll be pretty hard = to beat
ocamlgraph, though, except with a very tight array-based implementation
with integer nodes.

=A0

O= ww, is the imperative implementation using hash tables or maps then? You ca= n always implement an adjacency list structure with dynamically sized array= s. That's what boost::graph does. Shouldn't be too hard to plug you= r own in ocamlgraph if needed.

Cheers,


--
Eray Oz= kural, PhD candidate.=A0 Comp. Sci. Dept., Bilkent University, Ankara
http://groups.yahoo.c= om/group/ai-philosophy
http://myspace.com/arizanesil= http://myspace.com/malfunct
--0016e6408656b0561e04974bfc3b--