Live data from Hacker News

Research Based on the .NET Runtime (2019)

mattwarren.org

1–10 of 13 posts

Re: Research Based on the .NET Runtime (2019)

#4

The research papers on manual memory management for .NET looked interesting. I wonder if anything ever came of it?

The delete/free bits never made it in, but some related stuff definitely has made its way into the standard library and compiler over time. Span and Memory provide a bunch of affordances for safely mixing GC and non-GC pointers in the same workflow. Big chunks of the BCL can operate on strings and data at any address in memory now, which is really helpful for high-throughput parsing and streaming.

Re: Research Based on the .NET Runtime (2019)

#5

The research papers on manual memory management for .NET looked interesting. I wonder if anything ever came of it?

Is there even a way to allow for manual memory management (not just invoking the GC) in a manner that would still be safe that won’t defeat the purpose of a managed language?

Re: Research Based on the .NET Runtime (2019)

#6

The research papers on manual memory management for .NET looked interesting. I wonder if anything ever came of it?

The delete/free bits never made it in, but some related stuff definitely has made its way into the standard library and compiler over time. Span and Memory provide a bunch of affordances for safely mixing GC and non-GC pointers in the same workflow. Big chunks of the BCL can operate on strings and data at any address in memory now, which is really helpful for high-throughput parsing and streaming.

What's an affordance? Is it something with a technical meaning, like pragma?

Re: Research Based on the .NET Runtime (2019)

#7

Earlier quoted context omitted.

The delete/free bits never made it in, but some related stuff definitely has made its way into the standard library and compiler over time. Span and Memory provide a bunch of affordances for safely mixing GC and non-GC pointers in the same workflow. Big chunks of the BCL can operate on strings and data at any address in memory now, which is really helpful for high-throughput parsing and streaming.

What's an affordance? Is it something with a technical meaning, like pragma?

On technical side, I think GP meant stuff like this https://docs.microsoft.com/en-us/dotnet/api/system.span-1.-c... And this: https://docs.microsoft.com/en-us/dotnet/csharp/language-refe...

Re: Research Based on the .NET Runtime (2019)

#8

The research papers on manual memory management for .NET looked interesting. I wonder if anything ever came of it?

Is there even a way to allow for manual memory management (not just invoking the GC) in a manner that would still be safe that won’t defeat the purpose of a managed language?

Why not?

https://gist.github.com/Const-me/fe69e0a3713f0489b0a7ba58094...

Re: Research Based on the .NET Runtime (2019)

#9
post #7

Earlier quoted context omitted.

What's an affordance? Is it something with a technical meaning, like pragma?

On technical side, I think GP meant stuff like this https://docs.microsoft.com/en-us/dotnet/api/system.span-1.-c... And this: https://docs.microsoft.com/en-us/dotnet/csharp/language-refe...

I know about spans and stackalloc, I mean quite literally does the word affordance mean something technical here that I've not come across?

Re: Research Based on the .NET Runtime (2019)

#10
post #7

Earlier quoted context omitted.

On technical side, I think GP meant stuff like this https://docs.microsoft.com/en-us/dotnet/api/system.span-1.-c... And this: https://docs.microsoft.com/en-us/dotnet/csharp/language-refe...

I know about spans and stackalloc, I mean quite literally does the word affordance mean something technical here that I've not come across?

I don’t know what you came across and what you didn’t so I can’t answer that question.

Technically, spans support affected many parts of modern .NET, both standard library, runtime and even language.

Post reply on HN