From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "John B. Matthews" Newsgroups: comp.lang.ada Subject: Re: Hash Type Size Date: Tue, 03 Sep 2013 17:21:21 -0400 Organization: The Wasteland Message-ID: References: <1679ec49-424b-43bd-8f35-a5f69e658112@googlegroups.com> <7aa26916-cde1-46f8-9f49-d9ebcc2dee93@googlegroups.com> <782ef090-7299-4164-b4e5-14a06d1c1a44@googlegroups.com> <8268e85c-e372-4883-8449-ef5253e2c77e@googlegroups.com> NNTP-Posting-Host: LQJtZWzu+iKlBROuDg+IUg.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:17092 Date: 2013-09-03T17:21:21-04:00 List-Id: In article , Peter Brooks wrote: > On Tuesday, 3 September 2013 12:50:04 UTC+2, John B. Matthews wrote: > > > > As a concrete example, this program [1] tallies collisions > > using an instance of Ada.Strings.Bounded.Hash on words found > > in a dictionary. While it's specific to GNAT, it may suggest > > how to obtain a baseline against which to compare your > > implementation(s). > > > > [1] > > > Thank you for that -it's extremely useful. 32% collisions is far > too high for me, so I certainly need a better hash function. You are welcome. That 2009 data was obtained using GNAT 4.3.4; newer versions are typically better. For example, the GNAT 4.6 implementation yields the following result: ./collisions 0: 305643 (77.72%) 1: 76947 (19.57%) 2: 9790 (2.49%) 3: 805 (0.20%) 4: 56 (0.01%) 5: 1 (0.00%) -- John B. Matthews trashgod at gmail dot com