Experimental Physics and Industrial Control System
Hi All,
In EPICS V4, data in (better: referenced by) record fields will
dynamically grow and shrink, at least for array and string types. We
will also add and remove record instances at runtime.
That means we can no longer maintain the traditional EPICS attitude of
'allocate everything at init time'. That in turn means memory
management will become a critical issue for overall performance. IMNSHO
it is /not/ appropriate to simply go on as before (i.e. use malloc/free
plus some specialized per-class free-list stuff) as if nothing had
happened. Some decisions will have to be made.
Many people advocate some sort of per-class memory management based on
reference counting. There exist quite a number of popular myths about
the pros and cons of the various kinds of dynamic memory management
techniques (malloc/free, reference counting, mark-weep GC, ...). Many
of them are easily falsified.
An excellent source of information are the links under
http://www.hpl.hp.com/personal/Hans_Boehm/gc/#background, especially
http://www.hpl.hp.com/personal/Hans_Boehm/gc/nonmoving/, where
performance measurements between the (above listed) main three types of
MM lead to conclusions that are somewhat contrary to common folklore. A
must-read.
Ben
- Replies:
- Re: again: memory management Kay-Uwe Kasemir
- Navigate by Date:
- Prev:
string implementations (was: memory management) Benjamin Franksen
- Next:
[Fwd: Re: EPICS V4 support for data acquisition] Marty Kraimer
- Index:
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: Record support and user-defined fields Marty Kraimer
- Next:
Re: again: memory management Kay-Uwe Kasemir
- Index:
2002
2003
2004
<2005>
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024