[m-rev.] for post-commit review: document .par grades

Zoltan Somogyi zoltan.somogyi at runbox.com
Sat Aug 16 23:54:13 AEST 2025



On Sat, 16 Aug 2025 23:29:47 +1000, Julien Fischer <jfischer at opturion.com> wrote:
> Thinking about all of the above a bit more, or more specifically,
> thinking about how
> earth we explain it all, let me propose the following:

I have long thought that we should separate the grade modifiers that enable
multithread support from the ones that support actual parallel conjunctions.
However, your scheme goes a bit further than the one I was thinking of.

> 1. We introduce a new grade component ".mt", whose sole function is
> enable support for concurrency in high-level C grades.  The new component
> does not apply to the C#, Java or LLDS grades.

mt = multi-threading, I presume.

Yet you say later that concurrency (using multiple threads, even if on one CPU,
will be supported in "Non .par LLDS grades". What is the reason for this support
being a separate grade modifier for high level C, but a builtin-in capability
in low level C?

> 2. We restrict the .par component to be used with only the LLDS grades,
> where it will retain its existing meaning for them.

Agreed.

> Under this scheme, concurrency will be supported in
> 
> 1. The Java and C# grades.
> 2. The hlc.mt grades.
> 3. Non .par LLDS grades (not in parallel)
> 4. .par LLDS grades (in parallel)

Agreed about 1, 2 and 4. About 3, we should await the results of your test,
and even then, I would need to see something equivalent to a design
document that says how it is supposed to work, because without that,
it cannot be maintained long term.

> For (1) and (2), whether or not you get any parallelism depends on how many
> processors you have available.

Agreed.

As an aside: I am sure you can still buy uniprocessors for e.g. embedded
work, but can you actually by a PC today with a single-core CPU? I don't
remember seeing one in ages.

Note also that agreeing on a scheme would be good, but we would then
need to agree on a road map for getting there, preferably with minimal
disruption. Having ".par" be a synonym for "mt" in MLDS grades for a time
will probably be involved,

Zoltan.





More information about the reviews mailing list