-
-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Current Status? #174
Comments
I am using the library in production and it is working fine. But I also wanted to exchange the serializer since Newtonsoft is slow and allocates a lot of memory. I will try to use MessagePack instead, but not sure if it works easily. You can insert your own serializer, I tried that with System.Text.Json but it did not work because it cannot serialize System.Type since it is unsafe and not recommended. I will try to get MessagePack working, hopefully without too many changes. I will report back how it went. Update MessagePack serializer seems to work out of the box, you just have to use attributes on the classes/properties you want to serialize or use the typeless serializer which is slower and produces a bigger message. So you might give it a try. But for me it still feels a bit slow. I am running several processes on a Raspberry Pi and it takes around 5ms to exchange 3-4kB of data. I will maybe try a shared memory solution to see if it is faster. System.Text.Json with source generators is also a good alternative if you do not want to have more external dependencies. Serializing a basic POCO here with around 10 properties and one string property which holds the content of a file of about 3KB.
Update 2 I tried another library for shared memory which also enables RPC calls and in my quick tests on my local machine it was 8x faster than named pipes. On the Raspberry Pi it is may be even faster due to the slow SD card compared to the SSD on my local machine. It was pretty easy to setup and use, so maybe I will switch to this one after doing some more tests. |
CoreWCF |
Hi,
I see that during the last 11 months no code changes have been made and I want to ask about the status of this project. I'm looking for a replacement of our WCF (Named Pipe) Services.
Is this Framework ready for production?
Cheers, Micha
When comparing the performance between WCF via Named Pipes and this Framework I see a significant difference. WCF is a lot faster and I think this is because of it's embedded BinarySerializer. So an additional question is : can we change the JSON Serializer with another one - please see customize user data serialization for request and response .
I really like your implementation - during my tests everything works as expected. Great, thanks!
The text was updated successfully, but these errors were encountered: