From: Egil H H <ehh.public@gmail.com>
Subject: Re: Not good for Ada endorsement
Date: Fri, 9 Jul 2021 01:33:59 -0700 (PDT) [thread overview]
Message-ID: <d4b4342e-b2ef-4ed3-a586-85b4c5c8bd9dn@googlegroups.com> (raw)
In-Reply-To: <sc7d65$1kcq$1@gioia.aioe.org>
On Thursday, July 8, 2021 at 7:38:19 PM UTC+2, Luke A. Guest wrote:
> On 08/07/2021 12:12, Jeffrey R. Carter wrote:
>
> >> He also uses clang's -Ofast option to compile for speed over size.
> >
> > Going back to 64-bit integers gives 1999; with -gnatp, 2098
> >
> I've uploaded my version here
> https://github.com/Lucretia/Primes/tree/add-optimised-ada/PrimeAda/solution_2
>
> It's as straight a conversion from the C++ to Ada. I intend to keep
> optimising it.
On my computer, at least, GNAT is not happy about incrementing Number by 2
in the inner loop. I get a bit better performance by modifying the check to
if Number mod 2 /= 0 and then Sieve.Bits(Index_Type(Number)) then
and then incrementing Number by 1.
Or even rewriting to a for-loop
Is_Prime : for Foo in Index_Type (Factor)..Sieve.Size loop
if Foo mod 2 /= 0 and then Sieve.Bits (Foo) then
Factor := Integer(Foo);
exit Is_Prime;
end if;
end loop Is_Prime;
next prev parent reply other threads:[~2021-07-09 8:33 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-07 14:21 Not good for Ada endorsement Richard Iswara
2021-07-07 15:06 ` Luke A. Guest
2021-07-07 15:19 ` Doctor Who
2021-07-07 19:21 ` Simon Wright
2021-07-07 19:49 ` Doctor Who
2021-07-07 20:39 ` Luke A. Guest
2021-07-08 3:46 ` Richard Iswara
2021-07-08 8:20 ` Jeffrey R. Carter
2021-07-08 8:42 ` Dmitry A. Kazakov
2021-07-08 8:52 ` Luke A. Guest
2021-07-08 10:42 ` Jeffrey R. Carter
2021-07-08 10:51 ` Luke A. Guest
2021-07-08 11:12 ` Jeffrey R. Carter
2021-07-08 17:37 ` Luke A. Guest
2021-07-08 17:43 ` Luke A. Guest
2021-07-08 19:16 ` Luke A. Guest
2021-07-08 19:16 ` Luke A. Guest
2021-07-09 2:47 ` Richard Iswara
2021-07-09 8:10 ` Paul Rubin
2021-07-09 8:24 ` Egil H H
2021-07-09 8:33 ` Egil H H [this message]
2021-07-09 9:16 ` Jeffrey R. Carter
2021-07-09 9:21 ` Jeffrey R. Carter
2021-07-15 15:13 ` Lucretia
2021-07-15 15:56 ` Jeffrey R. Carter
2021-07-15 16:29 ` Anh Vo
2021-07-15 17:30 ` Lucretia
2021-07-16 16:27 ` Simon Wright
2021-07-16 16:28 ` Simon Wright
2021-07-23 17:55 ` Luke A. Guest
2021-07-23 17:04 ` Anh Vo
2021-07-23 17:12 ` Luke A. Guest
2021-07-15 16:29 ` Lucretia
2021-07-15 16:49 ` Dmitry A. Kazakov
2021-07-15 21:08 ` Jeffrey R. Carter
2021-07-11 15:54 ` Dennis Lee Bieber
2021-07-18 23:03 ` Mace Ayres
2021-07-19 1:00 ` Paul Rubin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox