fwConfigs - CERN Indico

fwConfigs
Improved performance and new features
Marco Boccioli – FWWG 06/09/2011
Content
Improved performance for *_getMany() functions
New features




fwAlertConfig
fwDpFunction
Next...

2
Improved getMany() functions
Functions *_getMany() take a batch of dpes and return their configurations.
The functions used to make a call in loop of *_get()
They now call dpGet() as little as possible




Example: getting 30 configs for smoothing used to do 60 dpGet(). It now does 2
dpGet().
Parameters passed as reference (but not modified!)  memory use
improvement
Re-designed  not as mature as the previous ones.
Functions re-designed, average speed improvement, issue id:









fwArchive_getMany() 1.7x (#86012)
fwSmoothing_getMany() 4x (#85464)
fwConversion_getMany() 4x (#85465)
fwPeriphAddress_getMany() 1.5x (#85466)
fwDpFunction_objectGetMany() 2.5x (#85880)
fwAlertConfig_objectGetMany() 3x (#21219)
Available since fwConfigs 3.4.1

3
fwArchive_getMany()
fwArchive_getMany() - old/new comparison
50
45
40
35
s
30
old, empty
25
new, empty
old
20
new
15
10
5
0
0
4
1000
2000
3000
4000
5000
dpes
6000
7000
8000
9000
10000
PC: 2core CPU 1.86GHz, 4GB RAM, WinXP
fwSmoothing_getMany()
fwSmoothing_getMany() - old/new comparison
18
16
14
12
10
s
old
old, empty
8
new, empty
new
6
4
2
0
0
5
1000
2000
3000
4000
5000
dpes
6000
7000
8000
9000
10000
fwConversion_getMany()
fwConversion_getMany() - old/new comparison
30
25
s
20
old
15
new
new, empty
old, empty
10
5
0
0
6
1000
2000
3000
4000
5000
dpes
6000
7000
8000
9000
10000
fwPeriphAddress_getMany()
fwPeriphAddress_getMany() old/new comparison
40
35
30
s
25
old
20
new
old, empty
15
new, empty
10
5
0
0
7
1000
2000
3000
4000
5000
dpes
6000
7000
8000
9000
10000
fwDpFunction_objectGetMany() - 1
fwDpFunctions_objectGetMany() - old/new comparison (dp connection functions)
9
8
7
6
5
s
empty old
empty new
4
dp conn old
dp conn new
3
2
1
0
0
8
1000
2000
3000
4000
5000
dpes
6000
7000
8000
9000
10000
fwDpFunction_objectGetMany() - 2
fwDpFunctions_objectGetMany() - old/new comparison (statistical functions)
9
8
7
6
5
s
empty old
empty new
4
stat old
stat new
3
2
1
0
0
9
1000
2000
3000
4000
5000
dpes
6000
7000
8000
9000
10000
fwAlertConfig_objectGetMany()
fwAlertConfig_objectGetMany() - old/new comparison
40
35
30
s
25
20
old
new
15
10
5
0
0
1000
2000
3000
4000
dpes
10
5000
6000
7000
New features - fwAlertConfig


Global/Local alarms priority (3.2.7 - #67605)
Support for discrete alerts (3.3.0 - #67230)




Support for included limits “≤” (3.3.0 - #68528)
Support for dpe of type bit32 (3.4.0 - #82583)
Functions get() and set() completely re-designed



Warning: set of values not possible yet (ETM-824)
Easier to expand for future new features.
More complex to manipulate  Added utility functions to
create basic alarms.
Documentation improved
11
New features - fwAlertConfig

New functions



You create a parameters object (utility functions can help on this)
You apply it to the dpe
Utility functions


fwAlertConfig_objectCreateAnalog, fwAlertConfig_objectCreateDigital,
fwAlertConfig_objectCreateDiscrete, fwAlertConfig_objectCreateSummary,
fwAlertConfig_objectExtractAnalog, fwAlertConfig_objectExtractDigital,
fwAlertConfig_objectExtractDiscrete, fwAlertConfig_objectExtractSummary
Old functions kept for back-compatibility
Old func
New func
fwAlertConfig_get
fwAlertConfig_objectGet
fwAlertConfig_getMany
fwAlertConfig_objectGetMany
fwAlertConfig_set
fwAlertConfig_objectSet
fwAlertConfig_setMany
fwAlertConfig_objectSetMany
fwAlertConfig_setMultiple
fwAlertConfig_objectSetMany
12
New features - fwDpFunction


Support for statistical functions (3.4.0 - #82479)
Functions get() and set() completely re-designed



Easier to expand with new features.
More complex to manipulate  Added utility functions to
create configurations.
Documentation improved
13
New features - fwDpFunction

New functions



You create a parameters object (utility functions can help on this)
You apply it to the dpe
Utility functions


fwDpFunction_objectCreateDpeConnection,
fwDpFunction_objectCreateStatistical,
fwDpFunction_objectExtractDpeConnection,
fwDpFunction_objectExtractStatistical, fwDpFunction_objectExtractType,
Old functions kept for back-compatibility
Old func
New func
fwDpFunction_getDpeConnection
fwDpFunction_objectGet
fwDpFunction_getDpeConnectionMany
fwDpFunction_objectGetMany
fwDpFunction_setDpeConnection
fwDpFunction_objectSet
fwDpFunction_setDpeConnectionMany
fwDpFunction_objectSetMany
fwDpFunction_setDpeConnectionMultiple
fwDpFunction_objectSetMany
14
Next...

Improve *_set() and *_setMany() functions for the most
used libraries (2012)

Currently available for


fwAlertConfigs
fwDpFunction

Improve documentation (2012)
Check optimum number of dpes passed to dpSet/dpGet
(2012)

Latest release: today (fwConfigs 3.4.4)

15