From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: The Computer Language Shootout Benchmarks
Date: Thu, 04 May 2006 18:48:04 +0200
Date: 2006-05-04T18:48:04+02:00 [thread overview]
Message-ID: <5221419.vt3xd4rotE@linux1.krischik.com> (raw)
In-Reply-To: 1706825.Rr4F3nhIbP@linux1.krischik.com
Martin Krischik wrote:
> jimmaureenrogers@worldnet.att.net wrote:
>
>>
>> Martin Krischik wrote:
>>> Hello
>>>
>>> Ada is currently missing 2 programs on the "The Computer Language
>>> Shootout Benchmarks" [1].
>>>
>>> I would not mind having a go. But before I start:
>>>
>>> One test [2] needs a hash table implementation. The compiler used has
>>> no Ada 2005 features so one need to add the implementation to the code
>>> itself. Anybody can got a stand alone implementation? Or knows which
>>> collections class lib could easily been torn apart?
>>>
>>> The other test [3] needs some Unbounded_Integer / BigInt etc. type. We
>>> could bind to gmp - but I don't like the idea if pragma Import in the
>>> code.
>>
>> This is precisely why I have not found the motivation to complete those
>> two benchmarks.
>
> And somehow I feel that one of those tests has been make to make debians
> hash tables for C shine.
>
> Also C cheats:
>
> 1) Thy don't check for ">THREE" as demanded but only for ">TH" making up
> for a propper string compare. I think that Ada won't need that
>
> 2) They use a dynamicly growing buffer with an initial size large enough
> to hold the hole dateset. This we can dupplicate using the old recursive
> string concaternation with an initial string size just as big as C's so it
> never goes into recursion.
Current timing for Ada looks quite ok:
++ ./knucleotide
real 0m0.251s
user 0m0.184s
sys 0m0.024s
++ ./KNucleotide_1
real 0m0.359s
user 0m0.288s
sys 0m0.004s
++ ./KNucleotide_2
real 0m0.299s
user 0m0.240s
sys 0m0.008s
First is gcc c - as I have not got the same setup as the shootout I use the
c version to compare myself against.
The other two are two different version of Ada. Both are not finished and
missing freeing heap memory.
Interestingly enough the two version allmost identical - In the 2nd version
I just rearraged the package/procedure hierarchy using a package local to a
procedure for the main work. I did this because I wanted to experiment with
region based storrage (not implemented yet) and this theems is consistently
faster.
Want a sneed preview, here you find the code:
http://svn.sourceforge.net/viewcvs.py/wikibook-ada/trunk/demos/Source/Language_Shootout/
There is only one problem: LOC rating is terrible, worse there is.
Martin
--
mailto://krischik@users.sourceforge.net
Ada programming at: http://ada.krischik.com
next prev parent reply other threads:[~2006-05-04 16:48 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-02 17:33 The Computer Language Shootout Benchmarks Martin Krischik
2006-05-02 18:39 ` jimmaureenrogers
2006-05-03 16:03 ` Martin Krischik
2006-05-04 16:48 ` Martin Krischik [this message]
2006-05-04 18:20 ` tmoran
2006-05-05 8:10 ` Craig Carey
2006-05-05 18:15 ` Martin Krischik
2006-05-06 11:00 ` Craig Carey
2006-05-06 19:00 ` tmoran
2006-05-06 7:00 ` igouy
2006-05-07 9:56 ` Martin Krischik
2006-05-06 6:57 ` igouy
2006-05-02 19:14 ` Gautier
2006-05-04 2:01 ` Craig Carey
2006-05-04 3:16 ` Craig Carey
2006-05-06 7:34 ` igouy
2006-05-06 11:29 ` Craig Carey
2006-05-06 16:01 ` igouy
2006-05-08 13:24 ` Marc A. Criley
2006-05-09 5:23 ` Craig Carey
2006-05-02 21:32 ` Tapio Kelloniemi
2006-05-02 22:37 ` Matthew Heaney
2006-05-03 10:12 ` Tapio Kelloniemi
2006-05-03 14:55 ` Matthew Heaney
2006-05-03 16:15 ` Martin Krischik
2006-05-03 17:11 ` Tapio Kelloniemi
2006-05-03 16:05 ` Martin Krischik
2006-05-03 0:12 ` Matthew Heaney
2006-05-03 16:05 ` Martin Krischik
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox