From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: Ada-WinRT bindings - Alpha release
Date: Fri, 13 Apr 2018 20:18:16 -0700 (PDT)
Date: 2018-04-13T20:18:16-07:00 [thread overview]
Message-ID: <f9d17422-872f-4af4-9677-a55cd770f9b0@googlegroups.com> (raw)
In-Reply-To: <f5ac66b2-876f-41f5-8281-6964b41dc718@googlegroups.com>
On Friday, April 13, 2018 at 4:05:41 AM UTC-5, alby....@gmail.com wrote:
> Please feel free to raise issues/question/recommendations for improvements either
> via GitHub or on his forum
After taking a look at the current Ada-WinRT analogue of C#'s await, I posted your second issue, which is really just brainstorming food for thought
1) regarding how C#'s Roslyn compiler actually implements await on WinRT-component async methods in processor-native machine code or on .NET async methods in the CLR
and
2) regarding how C++/WinRT proposes 2 different solutions—
2.1) one a Microsoft-esque mixin-interface for taming the callback alternative design (that you mention on Ada-WinRT's README.md)
and
2.2 the other a solution based on C++'s emerging co-routine feature.
In addition to the 2 you list on the README.md (and in addition to any designs resulting from cross-pollination from the food-for-thought above), wouldn't there be a 3rd Ada task-based solution as well? Especially one where the task (as costly-to-spawn kernel thread) is not elaborated/spawned at the time of invocation of the async function, but rather where a configurable-sized task pool is where the-operation-has-now-completed handlers all execute for the plethora of hundreds and hundreds of async functions throughout the WinRT-component framework. Indeed, perhaps there exist multiple such pools: one for Category-A async operations, another for Category-B async operations, and so forth, whatever the categorization scheme therein would be. (As the world marches onward to many-core processors and ccNUMA processor-confederations, each Category there could be thought of as a processor core, or, in an processor confederation, a whole processor.)
Does anyone know of a general-purpose Ada library boilerplate analogue of the C# await for async subroutines? (I.e., not a custom-crafted design for each async invocation) (And i.e., not waiting years for Ada co-routines in Ada2020, if ever) E.g., analogous to the mixing-interface implements<MyAsync, IAsyncAction, IAsyncInfo> in the blog posting https://kennykerr.ca/2018/03/09/cppwinrt-producing-async-objects
next prev parent reply other threads:[~2018-04-14 3:18 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-13 9:05 Ada-WinRT bindings - Alpha release alby.gamper
2018-04-13 15:03 ` Dan'l Miller
2018-04-13 18:47 ` Dan'l Miller
2018-04-13 20:06 ` Luke A. Guest
2018-04-13 21:13 ` Dan'l Miller
2018-04-13 21:58 ` Paul Rubin
2018-04-13 23:11 ` Dan'l Miller
2018-04-13 23:15 ` alby.gamper
2018-04-13 23:17 ` alby.gamper
2018-04-13 23:20 ` Dan'l Miller
2018-04-14 4:09 ` Paul Rubin
2018-04-14 5:14 ` alby.gamper
2018-04-14 6:42 ` Paul Rubin
2018-04-14 15:28 ` Lucretia
2018-04-13 23:11 ` alby.gamper
2018-04-13 23:16 ` Dan'l Miller
2018-04-14 7:13 ` Simon Wright
2018-04-14 9:21 ` alby.gamper
2018-04-14 14:13 ` Dan'l Miller
2018-04-14 14:41 ` Simon Wright
2018-04-14 22:28 ` Dan'l Miller
2018-04-13 22:57 ` Simon Wright
2018-04-14 3:18 ` Dan'l Miller [this message]
2018-04-14 9:21 ` gorgelo
2018-04-14 9:44 ` alby.gamper
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox