Naive node.js faster than naive LDC2?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Aug 23 02:18:19 UTC 2020


On 8/22/20 6:09 PM, Avrina wrote:
> On Saturday, 22 August 2020 at 21:20:36 UTC, Andrei Alexandrescu wrote:
>> On 8/22/20 3:34 PM, Avrina wrote:
>>> On Saturday, 22 August 2020 at 19:20:34 UTC, Andrei Alexandrescu wrote:
>>>> On 8/22/20 1:40 PM, kinke wrote:
>>>>> On Saturday, 22 August 2020 at 16:15:14 UTC, H. S. Teoh wrote:
>>>>>> 3) std.math.fmax calling the C library (involving a PIC 
>>>>>> indirection to a
>>>>>> shared library as opposed to inlineable native D code).
>>>>>
>>>>> Yes, and that's because there's only a `real` version for fmax.
>>>>>
>>>>> If upstream Phobos had proper double/float overloads, we could 
>>>>> uncomment the LDC-specific implementations using LLVM intrinsics, 
>>>>> which use (obviously much faster) SSE instructions:
>>>>>
>>>>> https://github.com/ldc-developers/phobos/blob/1366c7d5be65def916f030785fc1f1833342497d/std/math.d#L7785-L7798 
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Number crunching in D could be significantly accelerated if the 
>>>>> people interested in it showed some love for std.math, but we've 
>>>>> had this topic for years.
>>>>
>>>> Ow, do we still suffer from that? Sigh.
>>>>
>>>> https://github.com/dlang/phobos/pull/7604/files
>>>>
>>>> It's 10 minutes of work - as much as writing a couple of posts, and 
>>>> much more satisfactory.
>>>
>>> Cos, sin, tan, asin, acos, atan, etc.. There's still more, putting in 
>>> the actual work that std.math needs is going to take more than 10 mins.
>>
>> 1. Linear time for small n is fine and does not affect the argument.
> 
> What argument?
> 
>> 2. Incremental is still fine.
> 
> It can introduce subtle bugs and problems with precision, flip flopping 
> between float, double, and real. If it is done all at once, it will only 
> happen once, not every time someone feels like spend 10 mins doing a 
> little bit of work to change one function. It really shouldn't have been 
> implemented this way in the first place.
> 
>> 3. Work has actually be done by Nick Wilson in 
>> https://github.com/dlang/phobos/pull/7463.
> 
> A dead pull request? Not unusual.

You seem to derive good enjoyment out of making unkind comments.


More information about the Digitalmars-d mailing list