定义要由优化器使用的高速缓存属性。此选项不保证使用每个特定的缓存属性。
尽管可单独使用该选项,但它是 -xtarget 选项的扩展的一部分,其主要用途是覆盖 -xtarget 选项提供的值。
此发行版引入一个可选属性 [/ti],该属性用来设置可以共享缓存的线程数。
c 必须是下列值之一。
表 A–25 -xcache 值
值 |
含义 |
---|---|
generic |
这是缺省值,该值指示编译器使用能达到以下效果的缓存属性:多数 x86 和 SPARC 处理器上都能获得良好性能,同时任何处理器性能都不会明显下降。 如果需要,在每个新的发行版本中都会调整最佳定时属性。 |
native |
设置在主机环境中最佳性能的参数。 |
s1/l1/a1[/t1] |
定义级别 1 缓存属性 |
s1/l1/a1[/t1]:s2/l2/a2[/t2] |
定义级别 1 和 2 缓存属性 |
s1/l1/a1[/t1]:s2/l2/a2[/t2]:s3/l3/a3[/t3] |
定义级别 1、2 和 3 缓存属性 |
高速缓存属性 si/li/ai/ti 的定义如下:
属性 |
定义 |
---|---|
si |
级别为 i 时的数据高速缓存的大小 (KB) |
li |
级别为 i 时的数据高速缓存的行大小(字节) |
ai |
级别为 i 时的数据高速缓存的关联性 |
例如,i=1 指定 1 级高速缓存属性 s1/l1/a1。
如果未指定 –xcache,则假定为缺省值 –xcache=generic。该值指示了编译器在多数 SPARC 处理器上使用缓存属性来获得高性能,而不降低任何处理器的性能。
如果没有为 t 指定值,则缺省值为 1。
–xcache=16/32/4:1024/32/1 指定以下内容:
级别 1 高速缓存具有 |
级别 2 高速缓存具有 |
---|---|
16 KB |
1024 KB |
32 字节行大小 |
32 字节行大小 |
4 方向关联 |
指示映射关联 |
–xtarget=t