From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Messaging question [was: Is this expected behavior or not]
Date: Mon, 1 Apr 2013 18:43:08 -0500
Date: 2013-04-01T18:43:08-05:00 [thread overview]
Message-ID: <kjd62h$akl$1@munin.nbi.dk> (raw)
In-Reply-To: 09f2e5f7-84fe-419b-b27d-207e697c8e46@googlegroups.com
"Shark8" <onewingedshark@gmail.com> wrote in message
news:09f2e5f7-84fe-419b-b27d-207e697c8e46@googlegroups.com...
> On Friday, March 29, 2013 6:49:25 PM UTC-6, Randy Brukardt wrote:
>>
>>
>> Claw uses hidden operations on window objects to keep the mechanisms of
>> the
>> message loop hidden away.
>
> Very tangentially on this; what do you see would be the consequence of a
> system
> using a loop over a select [for messaging] -- or would it be any
> different?
>
> I'm really fuzzy on my low-level windows programming and, after reading
> this
>(
>http://forums.codeguru.com/showthread.php?449338-Windows-message-loop-efficiency )
>,
>I found myself wondering; since you wrote CLAW I thought I'd ask.
The reason we hid the loop had to do with correctness more than efficiency.
When you explicitly allow fooling with all of that loop mechanism, it's
impossible to build anything on top of it and have any hope that it works
right, because you're relying on the client to use the object exactly the
right way, or it won't work (nor will it give any indication of what you did
wrong).
In any case, there is *always* a loop inside the application; the question
in the thread mentioned above is how the loop is written. You get dozens of
messages for typical actions in an Windows program; you need a loop to
process them all. I believe we did our waiting at the Ada level, rather than
the Windows level, because that prevented locking up the Windows
program/thread while waiting for something to happen. We use Ada delays to
release the CPU if we don't have anything to do (that way, the Ada runtime
knows about the blocking and can schedule other work if appropriate). Again,
performance had nothing to do with it, we didn't want to assume a particular
Ada runtime model (that is, how tasks are mapped to threads). We tuned the
performance after making these choices.
Randy.
next prev parent reply other threads:[~2013-04-01 23:43 UTC|newest]
Thread overview: 242+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-11 19:42 Is this expected behavior or not Anh Vo
2013-03-11 20:01 ` Robert A Duff
2013-03-11 20:41 ` Shark8
2013-03-12 9:27 ` Dmitry A. Kazakov
2013-03-12 17:19 ` Robert A Duff
2013-03-12 17:42 ` Dmitry A. Kazakov
2013-03-12 18:04 ` Georg Bauhaus
2013-03-12 18:21 ` Dmitry A. Kazakov
2013-03-12 22:23 ` Georg Bauhaus
2013-03-13 8:49 ` Dmitry A. Kazakov
2013-03-13 9:45 ` J-P. Rosen
2013-03-13 13:31 ` Dmitry A. Kazakov
2013-03-13 14:34 ` Georg Bauhaus
2013-03-13 15:51 ` Dmitry A. Kazakov
2013-03-13 16:56 ` Jeffrey Carter
2013-03-13 17:09 ` Shark8
2013-03-13 17:32 ` Georg Bauhaus
2013-03-13 19:28 ` Dmitry A. Kazakov
2013-03-13 21:01 ` Randy Brukardt
2013-03-13 21:18 ` Dmitry A. Kazakov
2013-03-14 21:51 ` Randy Brukardt
2013-03-15 1:10 ` Adam Beneschan
2013-03-15 21:22 ` Randy Brukardt
2013-03-15 9:20 ` Dmitry A. Kazakov
2013-03-15 21:43 ` Randy Brukardt
2013-03-16 7:56 ` Dmitry A. Kazakov
2013-03-18 22:52 ` Randy Brukardt
2013-03-19 10:32 ` Dmitry A. Kazakov
2013-03-13 21:37 ` Georg Bauhaus
2013-03-14 11:18 ` Dmitry A. Kazakov
2013-03-14 12:37 ` Georg Bauhaus
2013-03-14 14:26 ` Dmitry A. Kazakov
2013-03-14 14:57 ` Georg Bauhaus
2013-03-14 15:51 ` Anh Vo
2013-03-14 16:21 ` J-P. Rosen
2013-03-14 17:29 ` Dmitry A. Kazakov
2013-03-14 18:16 ` Georg Bauhaus
2013-03-15 9:33 ` Dmitry A. Kazakov
2013-03-15 10:05 ` Georg Bauhaus
2013-03-15 11:15 ` Dmitry A. Kazakov
2013-03-14 22:12 ` Randy Brukardt
2013-03-15 9:46 ` Dmitry A. Kazakov
[not found] ` <ewe0v3ck1xdo$.e8rtuof27ke6$.dlg@40tude.net >
2013-03-15 21:17 ` Randy Brukardt
2013-03-16 7:51 ` Dmitry A. Kazakov
2013-03-16 9:30 ` Georg Bauhaus
2013-03-16 10:27 ` Dmitry A. Kazakov
2013-03-16 11:37 ` Georg Bauhaus
2013-03-16 13:04 ` Dmitry A. Kazakov
2013-03-16 16:10 ` Georg Bauhaus
2013-03-16 17:47 ` Dmitry A. Kazakov
2013-03-18 22:36 ` Randy Brukardt
2013-03-19 10:14 ` Dmitry A. Kazakov
2013-03-19 14:23 ` Georg Bauhaus
2013-03-19 15:13 ` Dmitry A. Kazakov
2013-03-19 16:52 ` Georg Bauhaus
2013-03-19 17:31 ` Dmitry A. Kazakov
2013-03-19 20:07 ` J-P. Rosen
2013-03-19 20:45 ` Dmitry A. Kazakov
2013-03-19 21:59 ` J-P. Rosen
2013-03-20 10:04 ` Dmitry A. Kazakov
2013-03-20 11:01 ` J-P. Rosen
2013-03-20 13:21 ` Dmitry A. Kazakov
2013-03-20 23:31 ` Randy Brukardt
2013-03-21 9:08 ` Dmitry A. Kazakov
2013-03-22 10:23 ` J-P. Rosen
2013-03-22 14:54 ` Dmitry A. Kazakov
2013-03-22 22:18 ` J-P. Rosen
2013-03-22 23:05 ` Shark8
2013-03-23 8:32 ` Dmitry A. Kazakov
2013-03-23 8:14 ` Dmitry A. Kazakov
2013-03-23 9:02 ` J-P. Rosen
2013-03-23 10:19 ` Dmitry A. Kazakov
2013-03-23 21:53 ` J-P. Rosen
2013-03-24 8:17 ` Dmitry A. Kazakov
2013-03-24 8:27 ` J-P. Rosen
2013-03-24 13:01 ` AdaMagica
2013-03-25 8:32 ` Dmitry A. Kazakov
2013-03-25 9:19 ` Georg Bauhaus
2013-03-25 10:08 ` Dmitry A. Kazakov
2013-03-19 21:37 ` Randy Brukardt
2013-03-20 8:48 ` Dmitry A. Kazakov
2013-03-14 16:22 ` Shark8
2013-03-14 17:08 ` Dmitry A. Kazakov
2013-03-13 22:34 ` Robert A Duff
2013-03-14 9:09 ` Dmitry A. Kazakov
2013-03-14 9:27 ` Georg Bauhaus
2013-03-13 17:05 ` Shark8
2013-03-13 17:45 ` Simon Wright
2013-03-13 19:37 ` Dmitry A. Kazakov
2013-03-13 19:54 ` Simon Wright
2013-03-13 20:54 ` Dmitry A. Kazakov
2013-03-13 21:28 ` Simon Wright
2013-03-14 9:16 ` Dmitry A. Kazakov
2013-03-14 16:42 ` Simon Wright
2013-03-14 17:05 ` Dmitry A. Kazakov
2013-03-13 22:12 ` Robert A Duff
2013-03-13 21:47 ` Jeffrey Carter
2013-03-13 21:09 ` Randy Brukardt
2013-03-13 22:48 ` Shark8
2013-03-14 22:01 ` Randy Brukardt
2013-03-15 3:27 ` Shark8
2013-03-15 21:05 ` Randy Brukardt
2013-03-15 21:46 ` Robert A Duff
2013-03-16 5:52 ` Shark8
2013-03-16 7:41 ` Dmitry A. Kazakov
2013-03-16 16:55 ` Shark8
2013-03-16 17:36 ` Dmitry A. Kazakov
2013-03-16 21:51 ` Shark8
2013-03-17 9:36 ` Dmitry A. Kazakov
2013-03-18 23:13 ` Randy Brukardt
2013-03-19 9:12 ` Dmitry A. Kazakov
2013-03-19 21:19 ` Randy Brukardt
2013-03-20 11:21 ` Dmitry A. Kazakov
2013-03-20 23:57 ` Randy Brukardt
2013-03-21 10:30 ` Dmitry A. Kazakov
2013-03-21 23:27 ` Randy Brukardt
2013-03-22 16:07 ` Dmitry A. Kazakov
2013-03-22 20:10 ` Shark8
2013-03-22 20:51 ` Dmitry A. Kazakov
2013-03-22 23:34 ` Robert A Duff
2013-03-23 8:41 ` Dmitry A. Kazakov
2013-03-23 2:29 ` Nasser M. Abbasi
2013-03-23 2:33 ` Randy Brukardt
2013-03-23 4:44 ` Shark8
2013-03-25 22:24 ` Randy Brukardt
2013-03-26 1:15 ` Shark8
2013-03-23 9:53 ` Dmitry A. Kazakov
2013-03-25 22:58 ` Randy Brukardt
2013-03-26 10:52 ` Dmitry A. Kazakov
2013-03-26 21:31 ` Randy Brukardt
2013-03-27 9:37 ` Dmitry A. Kazakov
2013-03-27 19:42 ` Randy Brukardt
2013-03-28 13:50 ` Dmitry A. Kazakov
2013-03-28 21:55 ` Randy Brukardt
2013-03-29 12:26 ` Dmitry A. Kazakov
2013-03-30 0:49 ` Randy Brukardt
2013-03-30 2:55 ` Shark8
2013-04-01 23:43 ` Randy Brukardt [this message]
2013-03-30 9:20 ` Dmitry A. Kazakov
2013-04-02 0:40 ` Randy Brukardt
2013-04-02 8:44 ` Dmitry A. Kazakov
2013-04-02 21:54 ` Randy Brukardt
2013-04-03 8:54 ` Dmitry A. Kazakov
2013-04-04 0:04 ` Randy Brukardt
2013-04-04 8:26 ` Dmitry A. Kazakov
2013-04-04 20:31 ` Randy Brukardt
2013-04-05 9:57 ` Dmitry A. Kazakov
2013-04-05 12:45 ` Stefan.Lucks
2013-04-05 12:49 ` Stefan.Lucks
2013-04-05 14:19 ` Dmitry A. Kazakov
2013-04-05 14:44 ` Stefan.Lucks
2013-04-05 16:11 ` Dmitry A. Kazakov
2013-04-05 19:02 ` Stefan.Lucks
2013-04-05 19:34 ` Dmitry A. Kazakov
2013-04-05 20:23 ` Stefan.Lucks
2013-04-06 7:39 ` Dmitry A. Kazakov
2013-04-07 18:10 ` Stefan.Lucks
2013-04-07 18:23 ` Dmitry A. Kazakov
2013-04-05 20:38 ` Stefan.Lucks
2013-04-05 14:36 ` Dmitry A. Kazakov
2013-04-05 15:16 ` Stefan.Lucks
2013-04-05 16:29 ` Dmitry A. Kazakov
2013-04-05 19:55 ` Stefan.Lucks
2013-04-06 1:45 ` Randy Brukardt
2013-04-06 7:54 ` Dmitry A. Kazakov
2013-04-07 18:17 ` Stefan.Lucks
2013-04-07 18:28 ` Dmitry A. Kazakov
2013-04-08 7:48 ` Stefan.Lucks
2013-04-08 8:59 ` Dmitry A. Kazakov
2013-04-08 15:35 ` Stefan.Lucks
2013-04-08 19:08 ` Dmitry A. Kazakov
2013-04-09 7:18 ` Stefan.Lucks
2013-04-09 8:17 ` Dmitry A. Kazakov
2013-04-09 15:20 ` Stefan.Lucks
2013-04-09 16:15 ` Dmitry A. Kazakov
2013-04-09 22:59 ` Randy Brukardt
2013-04-09 22:57 ` Randy Brukardt
2013-04-10 7:30 ` Dmitry A. Kazakov
2013-04-10 8:00 ` Root_String'Class? (Was: Is this expected behavior or not) Jacob Sparre Andersen
2013-04-10 21:48 ` Randy Brukardt
2013-04-09 22:53 ` Is this expected behavior or not Randy Brukardt
2013-04-09 22:45 ` Randy Brukardt
2013-04-10 7:37 ` Dmitry A. Kazakov
2013-04-10 22:15 ` Randy Brukardt
2013-04-11 7:33 ` Dmitry A. Kazakov
2013-04-11 22:37 ` Randy Brukardt
2013-04-12 7:47 ` Dmitry A. Kazakov
2013-04-13 0:26 ` Randy Brukardt
2013-04-13 0:35 ` Randy Brukardt
2013-04-13 7:07 ` Dmitry A. Kazakov
2013-04-06 1:38 ` Randy Brukardt
2013-04-06 1:20 ` Randy Brukardt
2013-04-06 5:20 ` Usefulness of OOP (was Is this expected behavior or not) J-P. Rosen
2013-04-06 10:31 ` Dmitry A. Kazakov
2013-04-06 18:43 ` Georg Bauhaus
2013-04-07 7:00 ` Is this expected behavior or not Dmitry A. Kazakov
2013-04-09 23:24 ` Randy Brukardt
2013-04-10 8:20 ` Dmitry A. Kazakov
2013-04-10 22:07 ` Randy Brukardt
2013-04-11 7:59 ` Dmitry A. Kazakov
2013-04-11 11:10 ` Georg Bauhaus
2013-04-11 13:49 ` J-P. Rosen
2013-04-11 15:07 ` Dmitry A. Kazakov
2013-04-12 4:39 ` J-P. Rosen
2013-04-12 8:00 ` Dmitry A. Kazakov
2013-04-12 9:09 ` J-P. Rosen
2013-04-12 17:00 ` Jeffrey Carter
2013-04-11 23:02 ` Randy Brukardt
2013-04-12 8:17 ` Dmitry A. Kazakov
2013-04-12 9:41 ` Georg Bauhaus
2013-04-12 11:46 ` Dmitry A. Kazakov
2013-04-13 17:38 ` Georg Bauhaus
2013-04-13 0:22 ` Randy Brukardt
2013-04-13 6:49 ` Dmitry A. Kazakov
2013-04-16 1:41 ` Randy Brukardt
2013-04-16 8:03 ` Dmitry A. Kazakov
2013-04-16 22:57 ` Randy Brukardt
2013-04-17 7:18 ` Dmitry A. Kazakov
2013-04-17 9:23 ` Georg Bauhaus
2013-04-17 9:57 ` Dmitry A. Kazakov
2013-04-17 19:38 ` Georg Bauhaus
2013-04-18 11:52 ` Dmitry A. Kazakov
2013-04-19 2:16 ` Randy Brukardt
2013-04-19 7:39 ` Dmitry A. Kazakov
2013-04-19 9:07 ` Georg Bauhaus
2013-04-19 9:11 ` Georg Bauhaus
2013-04-19 12:09 ` Dmitry A. Kazakov
2013-04-19 22:14 ` Randy Brukardt
2013-04-20 6:39 ` Dmitry A. Kazakov
2013-03-19 0:38 ` Shark8
2013-03-19 8:53 ` Dmitry A. Kazakov
2013-03-16 20:45 ` Robert A Duff
2013-03-16 9:29 ` Georg Bauhaus
2013-03-16 20:49 ` Robert A Duff
2013-03-14 22:41 ` Florian Weimer
2013-03-12 23:21 ` Randy Brukardt
2013-03-12 23:14 ` Randy Brukardt
2013-03-11 20:43 ` Anh Vo
2013-03-11 22:32 ` Randy Brukardt
2013-03-11 22:38 ` Robert A Duff
2013-03-12 9:17 ` Dmitry A. Kazakov
2013-03-13 0:10 ` Shark8
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox