comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Interresting difference in Normal-Returns/Expression-Functions and Extended-Returns.
Date: Mon, 22 Apr 2013 21:13:47 +0200
Date: 2013-04-22T21:13:47+02:00	[thread overview]
Message-ID: <1b3buvosg9fcq$.z1uq1tdfril2$.dlg@40tude.net> (raw)
In-Reply-To: 97967083-d21d-4de2-aeb8-76d0d5818993@googlegroups.com

On Mon, 22 Apr 2013 11:27:09 -0700 (PDT), Shark8 wrote:

> I recently ran into unexpected behavior in the differences between a
> normal return and an extended return [in GNAT]: namely an extended return
> used to generate items in an array of tasks will *ALWAYS* execute in a
> sequential manner whereas the array generated with an expression-function
> or normal return is executed simultaneously.
> 
> Is there some subtle difference in the extended return that I'm unaware of? (Is this a bug?)

No difference (tested under Windows).

Issues with the code:

1. Add 2 s delay in each test in order to see all tasks completed. Delay
also causes context switching. When you use null statement the main task
likely to manage to create all contestant before any of them gains the
processor (depending on OS settings and number of cores available). 

2. The code leaks memory. I am sure you know that.

3. Do not return anonymous access objects created by allocator new. It is
almost always a bug.

4. Keywords to be written all lower case, if you want others be able to
read your code.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2013-04-22 19:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-22 18:27 Interresting difference in Normal-Returns/Expression-Functions and Extended-Returns Shark8
2013-04-22 19:13 ` Dmitry A. Kazakov [this message]
2013-04-22 20:11   ` Shark8
2013-04-23  6:15     ` Simon Wright
2013-04-23  7:35     ` Stephen Leake
2013-04-23  8:58     ` Dmitry A. Kazakov
2013-05-02  2:20     ` Randy Brukardt
2013-05-02  4:41       ` Shark8
2013-04-23  6:32 ` egilhh
2013-04-23 15:24   ` Adam Beneschan
2013-04-24  5:56     ` egilhh
2013-04-24 14:40       ` Adam Beneschan
2013-04-25  5:30         ` egilhh
2013-04-25  5:41           ` Shark8
2013-04-23 16:00 ` Adam Beneschan
2013-04-23 16:52   ` Simon Wright
2013-04-23 17:57     ` Adam Beneschan
2013-04-25  8:48       ` egilhh
2013-04-25 15:19         ` Adam Beneschan
2013-05-02  2:33         ` Randy Brukardt
2013-05-02  2:38       ` Randy Brukardt
2013-05-02 16:15         ` Adam Beneschan
2013-05-02 22:00           ` Randy Brukardt
2013-05-03  1:11         ` Adam Beneschan
2013-05-03  5:34           ` Simon Wright
2013-05-03  6:43           ` egilhh
2013-05-03 16:49             ` Adam Beneschan
2013-05-03 23:09           ` Randy Brukardt
2013-04-23 23:00     ` Shark8
2013-04-23 23:16       ` Adam Beneschan
2013-05-02  2:28   ` Randy Brukardt
2013-05-02 16:37     ` Adam Beneschan
2013-04-23 16:33 ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox