Skip to content

Conversation

@mentaal
Copy link

@mentaal mentaal commented Jun 20, 2018

I had noticed that the transaction rate I was achieving in ERPC was very low, around 20 transactions/sec.
After debugging the code and eliminating the code from being the source of the latency, I asked on SO what the problem could be and Nagle's algorithm was suggested as being a culprit. This makes sense as ERPC's header transmission is very small.

See the full legwork in the SO question here.

With this change my transaction rate went from ~20 to 2500+.

@mentaal
Copy link
Author

mentaal commented Jun 20, 2018

mmm is netinet/tcp.h not present in the build environment?

@Hadatko
Copy link
Member

Hadatko commented Jun 20, 2018

It has to be there, otherwise error would be with not found include. Looks like Max issue.
Guys here made some redefine: Homebrew/legacy-homebrew#44018

@mentaal
Copy link
Author

mentaal commented Jun 20, 2018

Max issue?

@Hadatko
Copy link
Member

Hadatko commented Jul 3, 2018

Mac OSx issue. Sorry.

@mentaal
Copy link
Author

mentaal commented Jul 4, 2018

Any ideas on what I can do to get this branch working regarding tests?

@Hadatko
Copy link
Member

Hadatko commented Jul 11, 2018

In a link i sent you they made this:
#ifndef SOL_TCP
#define SOL_TCP IPPROTO_TCP
#endif
I am not sure if it is best solution. What do you think?

@mentaal
Copy link
Author

mentaal commented Jul 15, 2018

Good point. I didn't know it was a linux specific option. That sounds like a good way to go about it.
(Here's a related SO question: https://stackoverflow.com/questions/12112310/is-there-a-way-to-access-the-sol-tcp-aka-ipproto-tcp-socket-options-e-g-tcp)
I'll make the change

@SASIDHARAN-dot
Copy link

TCP_NODELAY has to set on both client and server socket.

@Hadatko Hadatko mentioned this pull request Sep 28, 2020
@pgu-swir
Copy link
Contributor

I don't think this sets client & server - the change I've proposed does both

@Hadatko
Copy link
Member

Hadatko commented Sep 29, 2020

@pgu-swir as you can see above we had issue with MAC OS and TCP_NODELAY. Which was solved here. Did you PR contains that too?

@pgu-swir
Copy link
Contributor

I think because I've used IPPROTO_TCP directly and not SOL_TCP, this is defined as well on MacOS. I'm also ignoring the result of setsockopt because I don't think we want to fail if TCP_NODELAY cannot be set

@Hadatko
Copy link
Member

Hadatko commented Jul 8, 2022

Hi @MichalPrincNXP i think this can be closed now. But we may want one python line which is in this PR

@MichalPrincNXP
Copy link
Member

Hi @MichalPrincNXP i think this can be closed now. But we may want one python line which is in this PR

Agree, could you please either update this PR or create a new one with the one python line that is acceptable? Thank you.

@Hadatko Hadatko mentioned this pull request Jul 19, 2022
6 tasks
CBohler99 pushed a commit to VERO-Biotech/erpc that referenced this pull request Dec 17, 2025
…e-controller-driver-and-dev-kit-integration

Gds4 1735 pressure controller driver and dev kit integration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants