Speaker
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/