Native Golang client for EPICS Channel Access

WECG002
24 Sept 2025, 14:30
15m
Grand Ballroom (Palmer House Hilton Chicago)

Grand Ballroom

Palmer House Hilton Chicago

17 East Monroe Street Chicago, IL 60603, United States of America
Contributed Oral Presentation MC12: Software Development and Management Tools WECG MC12 Software Development and Management Tools

Speaker

Marcin Lukaszewski (Control Systems Marcin Lukaszewski)

Description

The Experimental Physics and Industrial Control System (EPICS) provides essential control infrastructure in large scientific research facilities worldwide. Currently, EPICS Channel Access (CA) clients are primarily implemented in languages such as C/C++, Python, or Java, each with specific strengths but also certain limitations. To address these challenges, I have developed a native CA client entirely in Golang, a modern programming language known for clear syntax and built-in concurrency support. In this presentation, I will explain the key design principles behind this new client, highlighting how Golang’s asynchronous programming capabilities naturally align with EPICS’s communication model. I will also present preliminary benchmark results illustrating the client’s practical performance and discuss ways Golang simplifies integration within complex accelerator control environments. Finally, I will outline future plans and identify specific opportunities for community collaboration, ensuring this client meets the evolving needs of EPICS users.

Footnotes

• EPICS Channel Access Protocol Specification, EPICS Collaboration.
** Golang Documentation, https://golang.org/doc/

Author

Marcin Lukaszewski (Control Systems Marcin Lukaszewski)

Presentation materials

There are no materials yet.