Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The CIL is good enough.

Comparison against Oberon+ string primitives allocates a new char array every time. Other operations allocated it to just null-terminate it (string constants are null-terminated already for example, or can be done so explicitly by compiler instead, in any case this is an incorrect design). Somehow, it failed the basic task of modeling C behaviors on the one and only high-level bytecode target that comes to modeling C the closest. This was the very first thing I saw when I opened the compilation artifacts with ILSpy.

In any case, my goal was to post a disclaimer and it is fulfilled.



> string primitives allocates a new char array every time.

So what? What do you think do the dotnet string or marshalling classes internally? And how should that affect the performance comparison if we feed the same CIL to both - Mono and CoreCLR?

But we can leave it at this; people can read the arguments at the given link, we don't have to repeat everything again.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: