[linux-l] Speichernutzung Sun JVM 64Bit

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Mi Dez 3 14:26:21 CET 2008


Hallo,

On Fri, Nov 28, 2008 at 11:09:06AM +0100, Frank Reker wrote:

> du solltest auch beachten, dass dynamische speicherverwaltung extrem
> viel rechenzeit frisst. u.u. ist das verwenden von temporaeren dateien
> schneller als das dynamische alloziieren von speicher. ich hatte mal
> den fall dass das dynamische anlegen von puffern (deren groesse im
> laufenden betrieb staendig angepasst werden musste) um den faktor 40
> langsamer war als die verwendung von temp. dateien. sicher haette man
> hier noch optimieren koennen, aber um den faktor 40 rauszukriegen
> haette ich zuviel arbeit investieren muessen, das haette sich nicht
> gelohnt. und das ganze war in C.

Das interessante daran ist, dass die dynamische Speicherverwaltung bei
Benutzung von temp-Dateien ja nicht wirklich vermieden wird -- sie wird
dann nur vom Kernel uebernommen. Und der nutzt spezielle allocator, die
in bestimmten Situationen sehr viel effizienter sind als der Ansatz von
malloc().

Es gibt auch einige Bibliotheken, die im Userspace alternative allocator
bereitstellen -- hast Du Dir sowas mal angeschaut?

-Olaf-



Mehr Informationen über die Mailingliste linux-l