A dir la verità, i Variant occupano esattamente 16 bytes di memoria, quindi la bellezza di 128 bit.

Nel mio discorso, non volevo comunque far ricadere sul problema "occupazione memoria", che in ogni caso non sarebbe da trascurare, ma bensì sul problema "performance generali del programma".

Se non c'è un effettiva necessità di utilizzare dei Variant, meglio utilizzare variabili di tipo specifico (Integer, Double, ecc.) in modo da risparmiare al codice tutti quei controlli ed elaborazioni aggiuntive che devono essere effettuate per i Variant.
La loro bella funzionalità si paga.......

Riguardo all'ottimizzazione del compilatore Delphi, solitamente ci si riferisce all'uso (quando possibile) dei tipi interi poichè sono più facilmente (e velocemente) gestibili dal processore.
Pertanto, se non esplicitato dal programmatore, anche le variabili di tipo Byte, Word, SmallInt, ShortInt...si trasformano sotto sotto in Integer a 32 bit! Provare per credere...

Ciao!