Stack vs Heap
-
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1951089.html#1951089
Wie ist das bei Linux, Windows? Wie bei uns? wie misst man das sauber? Wie kann man den Heap beschleunigen?
-
Erhard Henkes schrieb:
Wie ist das bei Linux, Windows?
Sauschnell.
Erhard Henkes schrieb:
wie misst man das sauber?
Im Prinzip nur, indem man Games, Office-Anwenungen und so was machen läßt.
Erhard Henkes schrieb:
Wie kann man den Heap beschleunigen?
Erstmal die Schnittstellen zum BS schmal halten. Bei Win zum Beispiel nur VirtualAlloc anbieten, und nicht auch die 20 Alternativen und dann kann CreateFileMapping nicht mit (INVALID_HANDLE_VALUE,... aufgerufen werden.
Dann auch viel in die gemeinsame C-Api schieben, es ist nicht notwendig, daß ein Userprozess das BS beauftragen kann, 25 Bytes zu besorgen.
Und sich so geile Sachen wie den Buddy-Allocator anschauen.
Und zulezut, aber nicht die schlechteste Idee: Guckiguckimach nach DragonFlyBSD.
-
Erhard Henkes schrieb:
Wie ist das bei Linux?
Bei der Konfiguration des Linux-Kernels gibt es unter "General setup" -> "Choose SLAB allocator" drei Typen zur Auswahl: SLAB, SLUB, SLOB.
Ich habe bei mir SLOB eingestellt, weil daneben in den Klammern steht "Simple Allocator" und Simple hört sich immer gut an
-
The DragonFly project's ultimate goal is to provide native clustering support in the kernel. This involves the creation of a sophisticated cache management framework for filesystem namespaces, file spaces, and VM spaces, which allows heavily interactive programs to run across multiple machines with cache coherency fully guaranteed in all respects.
http://leaf.dragonflybsd.org/cgi/web-man
ftp://mirror.datacenter.by/pub/DragonFlyBSD/snapshots/src/