In one of my posts about managed/unmanaged interop in C# (P/Invoke), I left you with the promise of answering a few questions, namely: can we manually create our own marshalling stubs in C# (at compile time), and can they be faster than the runtime generated ones ?
Let’s start with a riddle: what does a developer do to unwind at the end of a frustrating day at the office ? Answer: he goes home and takes some time to write more code.
At this year’s build conference keynote, Microsoft’s new CEO Satya Nadella said: “it’s a good time to be a developer”, and after seeing all MSFT’s announcements that came in the following days, I believe he was right.
When it comes down to performance, enterprise developers are lazy, especially the managed (Java/.NET) kind. After all, when performance problems pop up experience tells you it’s always a question of database, disk I/O or network latency issue in the end, right ?
Ever ran into problems passing data between unmanaged code and managed code ? Or just curious what really happens when you slap that [DllImport] on a method ?
I’ve been actively following and using the work of the Reactive Extensions (Rx) team from early on, as Rx is truly a unique library for working with events.