User story #1305
TypeDescriptor performance issue
0%
Description
con Nicolo' abbiamo scoperto un problema di performance riguardo
all'uso di TypeDescr in MARTe2
Per gestire possibili tipi diversi di ingresso e uscita le GAMs o i
DataSources spesso fanno run-time un check di tipo come:
if (inType UnsignedInteger8Bit)
....
else if((inType UnsignedInteger16Bit)
.....
-----
non credo sia facile andare a cambiare il funzionamento (i meccanismi che usa C++ in questo caso sono piuttosto oscuri). Pero' se ci pensi bene non c'e' mai reale necessita' di fare il check dei tipi in realtime (Execute() o Synchronise()) poiche' questi sono gia' risolti prima, e quindi non credo che valga la pena dedicare troppa energia ad una soluzione. La cosa migliore e' farlo in Setup() o
SetConfirguredDatabase() e riportare l'informazione in qualche class field.
Direi piu' una norma di buona programmazione da tenere a mente, e magari da pubblicizzare (ho scoperto che facevo questa check anche in altre GAMs e DataSources)
History
#1 Updated by André Neto over 2 years ago
- Description updated (diff)