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 concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 9F981BB81 for ; Tue, 7 Mar 2006 18:37:56 +0100 (CET) Received: from pennyblack.fisica.unimi.it (pennyblack.mi.infn.it [192.84.138.81]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k27HbuIA030504 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 7 Mar 2006 18:37:56 +0100 Received: from ptt.mi.infn.it (ptt.mi.infn.it [192.84.138.55]) by pennyblack.fisica.unimi.it (8.12.8/8.11.2) with ESMTP id k27Hbtf5016353 for ; Tue, 7 Mar 2006 18:37:55 +0100 Received: from localhost (pernici@localhost) by ptt.mi.infn.it (8.11.6/8.9.3) with ESMTP id k27HbtY23066 for ; Tue, 7 Mar 2006 18:37:55 +0100 X-Authentication-Warning: ptt.mi.infn.it: pernici owned process doing -bs Date: Tue, 7 Mar 2006 18:37:55 +0100 (CET) From: Mario Pernici To: caml-list@yquem.inria.fr Subject: Announce: HashSet Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Miltered: at concorde with ID 440DC4F4.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 lgpl:01 lri:01 filliatr:01 integers:01 occupation:98 caml:02 objective:02 floats:02 element:03 library:03 hashed:04 nth:05 uses:06 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.3 Hello, It is my pleasure to announce the release of HashSet, a hashed set library for Objective Caml. Buckets are ordered and the first element of a bucket is kept in a separate array, with occupation controlled by a bitvector. Version 0.1 is available at http://wwwteor.mi.infn.it/~pernici/ocaml/ocaml.html It is released under LGPL. In tests on my desktop I find that, compared to Hashset in http://www.lri.fr/~filliatr/software.en.html HashSet is usually 2x faster or more for large sets (n >= 100000) of integers and floats, and roughly equivalent in other cases. In the examples directory there is the nth.ml example with HashSet, which for the case of 100-nth neighbours for amorphous silicon is on my desktop more than 2x faster than the one in http://www.ffconsultancy.com/products/ocaml_for_scientists/complete/ which uses Set. There are a few other examples which I found in the ocaml mailing lists. Mario