Project

General

Profile

User story #1305

TypeDescriptor performance issue

Added by André Neto over 2 years ago. Updated over 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
05.10.2022
Due date:
% Done:

0%

Estimated time:
Git branch (link):
Git merge to develop (link):
SVN commit (link/?p=rev):

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)

Also available in: Atom PDF