2010-12-13 18 views

Antwort

2

Wenn Sie versuchen, die Leistung zu optimieren, dann ist Benchmarking genau das, was Sie tun sollten. Ein Beispiel finden Sie unter ATLAS.

Wenn Sie nicht versuchen, die Leistung zu optimieren, warum interessieren Sie sich für die Cache-Zeilengröße, und interessieren Sie sich auch für die Anzahl der Zeilen und die Assoziativität?

Welche CPU-Architekturen müssen Sie unterstützen?

+0

ich auf jeden Fall über das Benchmarking zustimmen! Was ich damit meinte, dass ich nicht mit falscher Cachezeilenfreigabe experimentieren möchte, ist, dass das Experimentieren nicht die Art ist, die Cachezeilengröße im Produkt herauszufinden, sondern einen Syscall- oder sogar Inline-Asm-Aufruf bevorzugen würde. – okun

0

Sie können sich die Bibliothek hwloc (BSD-Lizenz) ansehen, die diese Art von Informationen für verschiedene Systeme und Architekturen liefert. Sie können entweder das Befehlszeilenwerkzeug lstopo oder die mitgelieferte API verwenden (siehe documentation).

2

Für Solaris (auf beiden SPARC und x86-Architekturen) Sie diesen Befehl verwenden können:

$ prtpicl -v -c cpu | grep -i cache-line-size 
    :l1-dcache-line-size 0x40 
    :l1-icache-line-size 0x40 
    :l2-cache-line-size 0x40