From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: C versus Ada (once again :-)), was: Re: F-22 ADA Programming
Date: Mon, 3 Nov 2014 23:28:24 +0100
Date: 2014-11-03T23:28:24+01:00 [thread overview]
Message-ID: <ejx2izvm8mcp.1hdol5zbtlx8h$.dlg@40tude.net> (raw)
In-Reply-To: STS5w.353302$Hb3.343492@fx03.iad
On Mon, 03 Nov 2014 14:58:06 -0700, Shark8 wrote:
> On 03-Nov-14 05:40, Florian Weimer wrote:
>> * Simon Clubley:
>>
>>> As I keep saying in one way or another:
>>>
>>> Ada: nice language, lousy compiler situation.
>>
>> If you are trying to parallelize your programs for performance
>> reasons, Ada (as standardized) is not such a nice language anymore
>> because it lacks a modern memory model (which reflects the variations
>> of existing hardware) and access to various forms of atomic
>> instructions with well-defined properties.
>
> Isn't the atomic instruction thing properly recognized as platform
> dependent?
Instruction is a wrong term, should be "atomic primitive" instead.
> If that's the case, then should it be part of Ada, or would
> it be acceptable to have a machine-language (e.g. System.Machine_Code)
> insert for handling it in the implementation part of some package?
No, that would be practically useless.
Atomic primitives must be machine-independent. That is, the compiler would
select the most appropriate implementation for.
For example, consider the atomic increment primitive (of some package
Interfaces type, e.g. Unsigned_64). When there is a machine instruction the
compiler uses it, otherwise it falls back to a protected operation or OS
calls.
> (Would such atomic instructions need to be incorporated at the Run-time
> level?)
Only if the implementation is based on OS calls. E.g. using Windows API
function InterlockedIncrement.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2014-11-03 22:28 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-26 18:31 F-22 ADA Programming nathandsash
2014-10-26 19:02 ` Martyn Pike
2014-10-26 21:20 ` David Botton
2014-10-26 23:24 ` Jeffrey Carter
2014-10-26 23:55 ` David Botton
2014-11-14 22:54 ` rriehle
2014-11-14 23:46 ` Dennis Lee Bieber
2014-11-15 6:43 ` wilson
2014-11-15 17:49 ` Jeffrey Carter
2014-11-15 21:28 ` Maciej Sobczak
2014-11-16 9:57 ` Jean François Martinez
2014-11-16 22:26 ` Maciej Sobczak
2014-11-17 0:33 ` Jean François Martinez
2014-10-27 0:13 ` Robert A Duff
2014-10-27 0:31 ` David Botton
2014-10-27 10:17 ` Georg Bauhaus
2014-10-27 10:47 ` J-P. Rosen
2014-10-27 15:06 ` Adam Beneschan
2014-10-27 22:32 ` Randy Brukardt
2014-10-27 6:28 ` Pascal Obry
2014-10-27 15:04 ` Adam Beneschan
2014-10-27 15:17 ` Björn Lundin
2014-10-27 15:41 ` Maciej Sobczak
2014-10-27 16:01 ` Robert A Duff
2014-10-27 20:16 ` Adam Beneschan
2014-10-28 8:45 ` Natasha Kerensikova
2014-10-28 11:58 ` Bill White
2014-10-28 14:56 ` Adam Beneschan
2014-10-28 19:36 ` Bill White
2014-10-28 18:29 ` Jeffrey Carter
2014-10-28 18:37 ` Adam Beneschan
2014-10-28 19:14 ` David Botton
2014-10-28 21:06 ` Jeffrey Carter
2014-10-28 21:32 ` Simon Clubley
2014-10-28 21:37 ` Adam Beneschan
2014-10-28 23:59 ` Jeffrey Carter
2014-10-29 0:34 ` Adam Beneschan
2014-10-29 5:24 ` Jeffrey Carter
2014-10-29 8:37 ` Dmitry A. Kazakov
2014-10-29 17:20 ` Jeffrey Carter
2014-10-29 20:43 ` Dmitry A. Kazakov
2014-10-29 20:55 ` Jeffrey Carter
2014-10-29 21:40 ` Georg Bauhaus
2014-10-30 8:56 ` Dmitry A. Kazakov
2014-11-08 4:52 ` Randy Brukardt
2014-11-08 8:12 ` Dmitry A. Kazakov
2014-10-30 15:38 ` Maciej Sobczak
2014-10-30 15:49 ` Alan Jump
2014-10-30 22:33 ` Dennis Lee Bieber
2014-10-30 23:13 ` Jeffrey Carter
2014-10-30 16:07 ` Bill White
2014-10-30 22:37 ` Maciej Sobczak
2014-10-31 9:41 ` Georg Bauhaus
2014-10-31 12:51 ` Brad Moore
2014-11-01 3:03 ` C versus Ada (once again :-)), was: " Simon Clubley
2014-11-01 13:35 ` Georg Bauhaus
2014-11-03 1:54 ` Simon Clubley
2014-11-03 9:42 ` Georg Bauhaus
2014-11-03 12:07 ` Luke A. Guest
2014-11-04 2:01 ` Simon Clubley
2014-11-03 14:26 ` Brian Drummond
2014-11-01 13:46 ` Maciej Sobczak
2014-11-03 2:01 ` Simon Clubley
2014-11-03 9:10 ` Maciej Sobczak
2014-11-03 12:09 ` Luke A. Guest
2014-11-03 12:40 ` Florian Weimer
2014-11-03 21:58 ` Shark8
2014-11-03 22:28 ` Dmitry A. Kazakov [this message]
2014-11-04 13:42 ` Florian Weimer
2014-11-04 15:01 ` G.B.
2014-11-04 15:50 ` Florian Weimer
2014-10-31 10:11 ` Bill White
2014-10-31 12:52 ` Maciej Sobczak
2014-11-02 15:40 ` Bill White
2014-11-02 22:23 ` Maciej Sobczak
2014-11-02 22:52 ` Peter Chapin
2014-11-03 1:36 ` Simon Clubley
2014-11-03 19:04 ` Laurent
2014-10-31 13:24 ` Jacob Sparre Andersen
2014-11-08 4:45 ` Randy Brukardt
2014-11-08 23:43 ` Shark8
2014-11-09 8:39 ` Simon Wright
2014-11-09 20:53 ` Shark8
2014-10-28 19:18 ` Simon Clubley
2014-10-27 16:34 ` David Botton
2014-10-27 16:51 ` brbarkstrom
2014-10-27 18:03 ` G.B.
2014-10-27 22:06 ` Simon Wright
2014-10-28 9:40 ` Georg Bauhaus
2014-10-27 20:06 ` Adam Beneschan
2014-10-27 20:21 ` David Botton
2014-10-28 11:34 ` tonyg
2014-10-27 17:01 ` Pascal Obry
2014-10-27 4:53 ` Jerry Petrey
2014-10-29 1:49 ` F-35 (was:F-22 ADA Programming) Robert Love
2014-10-30 9:01 ` Frédéric Praca
2014-10-30 9:07 ` Frédéric Praca
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox