-
Notifications
You must be signed in to change notification settings - Fork 3
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
caproto vs pyepics client speed #1
Comments
@anjohnson - you might be interested in this question |
Can you please repeat your test with client and server on separate physical hardware? |
It's likely we have an additional unnecessary copy operation in pyepics, which hits benchmarks with large arrays much harder. If you're interested in digging into the details, you could use More details: The server implementation should have no effect here on the results - it's pretty well the same once you get to the CA protocol level. You could certainly remove that from the equation and run it against a basic |
Server: Linux Ubuntu 18 user:caproto-sandbox user-13$ python3 caproto_sandbox/io_camera_client.py
epics Client
2.081
caproto Client
1.834
pyepics client: 1.548
caproto client: 1.343 and I ran it one more time: user:caproto-sandbox user-13$ python3 caproto_sandbox/io_camera_client.py
epics Client
2.022
caproto Client
1.967
pyepics client: 1.545
caproto client: 1.362 |
Thanks. In the realm of benchmarking I would call that difference below the level of significance. |
@vstadnytskyi @dchabot A small performance hit with The factor of 2 or more on the same machine would be more of a concern, but the given the results of different machines, the results seem odd (pyepics |
I have been working on writing server and clients using caproto and pyepics libraries. I have a simple server written with caproto that has only one PV, '.image’. I can get the image with pyepics or caproto clients. It seems that pyepics client is 2 times slower than caproto. Does anyone know why caproto is faster than pyepics? Is it because the server is written in caproto?
The server code: https://github.com/vstadnytskyi/caproto-sandbox/blob/master/caproto_sandbox/io_camera_server.py
The client code: https://github.com/vstadnytskyi/caproto-sandbox/blob/master/caproto_sandbox/io_camera_client.py
Server is running on the same machine. The image size is 1,3960,3960
Results:
One request:
pyepics client: 2.068 seconds
caproto client: 0.856 seconds
Average of 10:
pyepics client: 1.203 seconds
caproto client: 0.628 seconds
The text was updated successfully, but these errors were encountered: