On Wednesday, 10 November 2021 at 04:54:58 UTC, Stanislav Blinov wrote:
On Tuesday, 9 November 2021 at 11:03:09 UTC, forkit wrote:

They both produce exactly the same output.

But do vastly different things.

But I tell ya.. the cognitive load .. well.. it increased dramatically ;-)

Of course it did. Cuz you overthunk it. Dramatically.

Your D version allocates memory, for no good reason. I mean, to store results, but you already have storage for them, so kinda pointless. Your C version, OTOH, stores results on stack (so again, why did you allocate for them in D?..), but allocates some "string builder" for... what, exactly?

The program is filter, or sort + partition. Requires 0 allocations in C or D.

Thanks for your feedback.

This was not production code. It took a few minutes to do it on my pc, just for a little fun. So I doubt that I 'overthunk it' in such a small amount of time ;-)

Also, my thought process began from the basis that the number data was immutable, and that the final data need to be stored, so that it could be manipulated etc... at will. I also wanted the use to a message, as to what they chose (hence the manipulation of memory for a message that could not be know in advance of the user making those choices).

btw. My pc has 24GB of main memory, and my CPU 8MB L3 cache. So I really don't give a damn about allocations .. not one little bit ;-)

Now if I were running a million processes across 1000's of servers, I probably would give a damn.

Reply via email to