Google's take on memory safety
bachmeier
no at spam.net
Wed Mar 13 21:13:31 UTC 2024
On Wednesday, 13 March 2024 at 20:49:01 UTC, jmh530 wrote:
> On Wednesday, 13 March 2024 at 19:18:20 UTC, bachmeier wrote:
>> On Sunday, 10 March 2024 at 09:34:28 UTC, Emmanuel Danso
>> Nyarko wrote:
>>> On Sunday, 10 March 2024 at 04:24:15 UTC, Walter Bright wrote:
>>>> On 3/9/2024 3:32 PM, Lance Bachmeier wrote:
>>>>> I "ported" a few thousand lines of C to D in a couple hours
>>>>> this afternoon. That includes the time it took to put all C
>>>>> memory allocation inside SafeRefCounted. With the overhead
>>>>> out of the way (setting up the SafeRefCounted structs,
>>>>> testing, and some minor other things) I bet I could easily
>>>>> port 20,000 lines in an 8-hour day. Working directly with C
>>>>> macros was the last thing needed to make this go fast.
>>>>
>>>> Thanks for posting that, I enjoy such testimonials!
>>>
>>> What about we build maybe a strategy to send D out there! We
>>> must let the world see the power of D.
>>
>> Show them working code. This is a separate project I did after
>> the one I posted about in my previous comment.
>>
>> https://github.com/bachmeil/d-gslrng
>>
>> It took only a few hours and there's over 7000 lines of C.
>> There are some nice features of this project:
>>
>> - I made zero changes to the C code. Now that we have macro
>> support, every line in the C files was copied and pasted. That
>> means I get to reuse the decades of testing done on this
>> popular library.
>> - I was able to strip out a small part of a much larger
>> library. If I were calling into a C library, I'd be stuck with
>> whatever they give me.
>
> [snip]
>
> Cool!
>
> So this proves that importC works on a limited subset of gsl.
> Do you have any reason to believe it wouldn’t work on the whole
> library?
I'd be surprised if there's anything it can't compile. I've
compiled lots of other parts, but split this one out because I
don't want to add hundreds of unnecessary files if all I want to
do is generate random draws in parallel.
More information about the Digitalmars-d
mailing list