Closed kerams closed 4 years ago
I don't really know what's going on, but this incantation works and it's faaaaaaaaaaast
I don't either but I like what I am seeing (the insane numbers), I have seen TypeShape before but I haven't used it myself. Though the TypeInfo
API in SimpleJson is somewhat inspired by how TypeShape looks like. Let's get this in and optimize Fable.Remoting.Server later :smile:
Published all the goodness 🚀 🎉 Also I have sent you an invitation for collaboration, if you would accept that be really awesome :pray: (Also please let me know how I can send you nuget API keys so that you too can publish Fable.Remoting.* packages, that is if you want to of course :wink:)
I really appreciate the gesture, but I am content with the status quo. However, if you need a helping hand maintaining this repo, which would be understandable given how many projects you have and how pristine you seem to keep the issue and PR lists, then I'd be willing to step up. I'm on Fable's gitter, you could drop me a private message there.
However, if you need a helping hand maintaining this repo
That was my intention with sending the invitation, having another maintainer would really really help me out, especially someone who is familiar with the codebase :wink:
... but this incantation works and it's faaaaaaaaaaast. And it doesn't appear to allocate (disregarding output buffer resizing) during any of the serialization scenarios that are in the benchmark :O. TypeShape is fucking fantastic, you should check it out if you don't know it! I have a feeling it could be used in Remoting.Server to proxy requests to record functions in a generic way, replacing all the ugly DynamicRecord and AsyncBoxer boilerplate (with a tiny bit of a performance uplift I imagine).
I've also refactored the serialization API quite a bit in the process.