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

Interesting ideas! some comments from a C++ compiler perspective:

> Use dynamic dispatch liberally - such that one instantiation per object size in order to avoid boxing. That said, I don't know how the experimental generics work. And this will obviously prevent some optimizations, notably escape analysis.

I think you're right about optimization: dynamic dispatch is what most of the template users want to avoid

> defer compilation of generic code to the end i.e "just before linking" phase instead of eliminating duplicates at link time.

Pretty cool. Never thought about that, though I believe LTO in gcc/clang might cover this part in some near future, or already had some partial supports.

> Some kind of caching mechanism for generic code such that you `sed` the machine code / plan9 intermediate to replace it with type specialization wherever required

Not sure about this though...not sure if the benefit outperforms the overhead cuz it sounds pretty expensive. But as a similar approach, JIT compilation might be a way.



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

Search: