Zitat (Imperator: 18.02.2004, 23:40)
Jo?
Ich versuche gerade eine möglichst effiziente Technik für einen Objekt(-Handle)-Manager zu proggen, also man gibt ihm einen Objekt-Pointer und einen Handle-Storage-Pointer und bekommt ein Handle. Anschliessend kann man mit diesem Handle den Pointer wieder holen und später das Handle schliessen, worauf der Speicher wieder freigegeben und, sofern das Objekt einen RefCount von 0 hat, auch dieses released wird. Die Handles lassen sich (in einen anderen Handle-Storage) weitergeben oder wenn ein entsprechendes Bit gesetzt ist, in einen neuen "vererben" usw. Halt was auch der NT-Objektmanager kann.
Momentan bin ich bei ~1500 Duplicate/Reference/Unreference/Close-Operationen pro Sekunde in VPC bei 2^24 möglichen Handles pro Storage, realisiert durch einen dreidimensionalen Array mit 256 Einträgen pro Block und einigen Optimierungen. Aber das Locking macht mir Sorgen ...
Dieser Beitrag wurde von Dimension bearbeitet: 19. Februar 2004 - 00:13