Hi Till,
On Thursday 27 January 2011 19:52:47 Till Straumann wrote:
> registrySetTableSize() can only be called before the hash table
> is lazy-initialized but that apparently happens from some C++
> global constructor already so that the application gets it's shot
> too late (i.e., even the first line of 'main()' is too late).
>
> (Since the registry is used for registering function names for
> iocsh etc. it is impossible to set the table size from a startup
> script anyways.)
I agree, registrySetTableSize() can't even be used on vxWorks since the static
C++ constructor that registers some basic iocsh commands gets run as we load
the binary, so it's currently useless.
> PS: An alternate 'general-purpose' hash implementation using
> the linear-hashing algorithm could be explored. This would avoid
> having to set static table sizes.
Code contributions are welcome. I think Jeff already has various hash table
templates that are similar to linear hashing (see resourceLib.h) but they
present a C++ API.
- Andrew
--
If a man is offered a fact which goes against his instincts, he will
scrutinize it closely, and unless the evidence is overwhelming, he will
refuse to believe it. If, on the other hand, he is offered something
which affords a reason for acting in accordance to his instincts, he
will accept it even on the slightest evidence. -- Bertrand Russell
- References:
- registrySetTableSize() unusable Till Straumann
- Navigate by Date:
- Prev:
Re: ca_create_channel memory management pthomas
- Next:
Re: ca_create_channel memory management Matthieu Bec
- 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:
registrySetTableSize() unusable Till Straumann
- Next:
epicsMessageQueue Linux PREEMPT_RT james.rowland
- 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
|