The new ca library also does not have a DBR_LONG, and uses DBR_INT to mean DBR_LONG. Just FYI for anyone wondering.
When evaluating the new ca library vs CAJ/JCA for epics2web (https://github.com/JeffersonLab/epics2web) I noticed that there are some differences under the hood like the new ca library uses a "disruptor" concurrency/thread model on monitor callbacks - one per monitor (https://lmax-exchange.github.io/disruptor/). The old CAJ/JCA has just a fixed leader/follower thread pool hard coded to 5 threads shared for every CA response, not just monitors. The new ca library has a leader/follower thread pool on the selector as well, but it has a configurable size and delegates to the disruptor for monitors at least to keep long running callbacks from holding onto threads needed for the selector. The thread model I used for epics2web was to assign a new thread per client websocket to write on the web socket and act as a consumer thread to a buffer that the leader/follower thread pool filled (producer threads). My brief testing didn't show any performance advantage to using the ca lib with disruptor in my case, perhaps because the bottle neck is writing down the websocket, which requires synchronization (locking) anyways. If the library client used monitor callbacks to do synchronous long running tasks instead of stuffing them into a buffer for a websocket then ca with disruptor probably would be better. The modern API interfaces are certainly nicer.
- Navigate by Date:
- Prev:
Suggest EPICS Base series type definitions on website J. Lewis Muir
- Next:
Re: Suggest EPICS Base series type definitions on website Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Java API JCA / CAJ DBR_LONG Ebner Simon Gregor (PSI)
- Next:
CAJ and JCA links on website point to SourceForge J. Lewis Muir
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024
|