CX_OBJECT_MANAGER::FreeAddressSpace (ab Dll-Version: 4.5.2.166275)
Beschreibung:
Address Space freigeben durch den Start einer neuen ObjectStore Transaktion.
Eine laufende Transaktion wird beendet und neu gestartet. Der Modus readonly
oder read/write wird beibehalten.Die Methode FreeAddressSpace soll statt EndTXN BeginTXN benutzt
werden weil sich der Transaktionswechsel nur auf ObjectStore bezieht.
Die Transaktions-Semantik von InstantView bleibt unberührt. Das ist in diesem Fall korrekt und kann die Performance
erheblich verbessern.Call(FreeAddressSpace) ist der richtige Ersatz sowohl für
EndTXN BeginTXN(READ) als auch für EndTXN BeginTXN, wenn diese Anweisungsfolgen nur für die Freigabe von Address Space
benötigt werden.Code-Beispiel:
{
. . .
Index 1 + 100 Mod ifnot { GetManager(OBJECT) Call(FreeAddressSpace) } // die richtige und effiziente Lösung
}
// statt
iterate(UNSAFE){
. . .
Index 1 + 100 Mod ifnot { EndTXN BeginTXN(READ) }
// ist logisch falsch und kann erhebliche Performance
Verluste nach sich ziehen}
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | ||
Stack(Out) | Top |
Funktionsaufruf: Call(FreeAddressSpace)
Verwandtes Thema: CXI_WINDOW_OBJECT::SetTxnLineCount