-> Hier kostenlos registrieren
Hallo zusammen,
ich bin gerade dabei einen Baustein etwas zu optimieren.
Dabei ist mir aufgefallen, dass der Lade- und Arbeitsspeicher irgendwie nicht so genutzt werden, wie ich dachte.
Dazu habe ich dann einfach mal Versuche gemacht:
Hier mal die Übersicht:

Nun die Inhalte der einzelnen DBs:


(100 einzelnd deklarierte Bools)

100 einzelne Bools in einem Struct

Kombination aus 100er Array und 100er Struct

selbe Kombination nur andersherum

Mal ein "x"-beliebiger Datentyp

Der Datentyp UDT_Bool besteht wieder aus 100 einzelnen Bools
Datenbaustein_8 ist einfach leer.
Und die Unterschiede sind ja immens.
Danach ist ein Array ja deutlich kleiner als einzelne Bools. Klar, bei den optimierten Bausteinen belegt ein Bool ja auch ein Byte. Aber warum dann Faktor ~5 und nicht Faktir ~8? Und der Datentyp UDT_BOOL mit den gleichen Daten hat dann nochmal eine ganz andere Größe?
Was hat der Datentyp Alarm_Data an sich, dass bei dem so verhältnismäßig viel Arbeitsspeicher genutzt wird?
Vielen Dank schonmal.
ich bin gerade dabei einen Baustein etwas zu optimieren.
Dabei ist mir aufgefallen, dass der Lade- und Arbeitsspeicher irgendwie nicht so genutzt werden, wie ich dachte.
Dazu habe ich dann einfach mal Versuche gemacht:
Hier mal die Übersicht:

Nun die Inhalte der einzelnen DBs:


(100 einzelnd deklarierte Bools)

100 einzelne Bools in einem Struct

Kombination aus 100er Array und 100er Struct

selbe Kombination nur andersherum

Mal ein "x"-beliebiger Datentyp

Der Datentyp UDT_Bool besteht wieder aus 100 einzelnen Bools
Datenbaustein_8 ist einfach leer.
Und die Unterschiede sind ja immens.
Danach ist ein Array ja deutlich kleiner als einzelne Bools. Klar, bei den optimierten Bausteinen belegt ein Bool ja auch ein Byte. Aber warum dann Faktor ~5 und nicht Faktir ~8? Und der Datentyp UDT_BOOL mit den gleichen Daten hat dann nochmal eine ganz andere Größe?
Was hat der Datentyp Alarm_Data an sich, dass bei dem so verhältnismäßig viel Arbeitsspeicher genutzt wird?
Vielen Dank schonmal.