1
1
mirror of https://github.com/foxsen/archbase.git synced 2026-02-02 18:09:17 +08:00

使用固定宽度取代自动计算,修复显示异常的几个SPEC CPU程序列表。

flextable的自动计算产生的列宽会导致长英文名超出列宽:似乎latex不会
自动break第一个英文单词。

感谢@Jolllly-bot指出问题

Resolved #22
This commit is contained in:
Zhang Fuxin
2021-12-31 22:56:20 +08:00
parent 6f18f75d58
commit 831f42e7b2

View File

@@ -617,8 +617,10 @@ theme_box()
autonum <- run_autonum(seq_id = "tab", bkm = "SPEC2000", bkm_all = TRUE)
readr::read_csv('./materials/chapter12/SPEC2000.csv') %>%
flextable() %>%
set_table_properties(layout = "autofit") %>%
FitFlextableToPage() %>%
width(j=1, width=1) %>%
width(j=2, width=0.5) %>%
width(j=3, width=1) %>%
width(j=4, width=4) %>%
bold(i=13) %>%
align(i=13, align="center") %>%
set_caption(caption="SPEC CPU2000程序及描述", autonum = autonum) %>%
@@ -629,7 +631,10 @@ theme_box()
autonum <- run_autonum(seq_id = "tab", bkm = "SPEC2006", bkm_all = TRUE)
readr::read_csv('./materials/chapter12/SPEC2006.csv') %>%
flextable() %>%
FitFlextableToPage() %>%
width(j=1, width=1) %>%
width(j=2, width=0.5) %>%
width(j=3, width=1) %>%
width(j=4, width=4) %>%
bold(i=13) %>%
align(i=13, align="center") %>%
set_caption(caption="SPEC CPU2006程序及描述", autonum = autonum) %>%
@@ -640,8 +645,11 @@ theme_box()
autonum <- run_autonum(seq_id = "tab", bkm = "SPEC2017", bkm_all = TRUE)
readr::read_csv('./materials/chapter12/SPEC2017.csv') %>%
flextable() %>%
FitFlextableToPage() %>%
bold(i=11) %>%
width(j=1, width=1) %>%
width(j=2, width=1) %>%
width(j=3, width=0.5) %>%
width(j=4, width=3.5) %>%
align(i=11, align="center") %>%
set_caption(caption="SPEC CPU2017程序及描述", autonum = autonum) %>%
theme_box()
@@ -1207,7 +1215,6 @@ FitFlextableToPage() %>%
set_caption(caption="3A5000、Zen1和Skylake的STREAM带宽", autonum = autonum) %>%
theme_box()
```
从测试数据来看3A5000的定点操作延迟控制较好多数优于其他两款处理器但是浮点操作延迟则多数偏长这也可能是其SPEC浮点程序性能落后的部分原因。当然这些测试本身是否足够合理需要进一步分析相应的测试代码不能无条件采用。LMbench的lat_ops说明文档中明确表示这个测试程序是实验性的有时甚至经常会给出误导的结论。性能分析工作中常见的误区之一就是被不准确甚至错误的数据误导得出错误的结论。因此使用各种工具时应该尽可能了解目标系统和工具的工作原理对数据的合理性进行必要的判断。
从数据可以看到虽然硬件上3A5000和Zen1都实现了DDR4 3200但3A5000的实测可持续带宽还是有一定差距。用户程序看到的内存带宽不仅仅和内存的物理频率有关系也和处理器内部的各种访存队列、内存控制器的调度策略、预取器和内存时序参数设置等相关需要进行更多分析来定位具体的瓶颈点。像STREAM这样的软件测试工具能够更好地反映某个子系统的综合能力因而被广泛采用。