x11perf

X11 服务新能测试

x11perf程序运行一个或多个性能测试,并报告X服务器执行测试的速度。

许多图形基准测试假设图形设备用于显示单个花哨图形应用程序的输出,并且用户在其他设备(如终端)上完成工作。这样的基准测试通常测量线条、多边形、文本等的绘制速度。

由于工作站不是用作独立的图形引擎,而是用作超级终端,所以x11performance既测量窗口管理性能,也测量传统图形性能。X11perf包含创建和映射Windows所需时间的基准(当您启动应用程序时);将一组预先存在的Windows映射到屏幕上(当你取消一个应用程序或弹出一个菜单时);并重新排列窗口(当你来回晃动窗口试图找到你想要的)。

x11perf还测量通常不用于独立图形显示器的操作的图形性能,但X应用程序经常使用这些操作。这些操作包括CopyPlane(用于将位图映射为像素)、滚动(用于文本窗口)和各种点和块(分别用于CAD和颜色半色调)。

应该使用X11perf来分析服务器的特定优点和缺点,对于想要分析和改进服务器的服务器编写人员来说,它是最有用的。x11perf旨在全面地执行您可以执行的几乎所有X11操作;它并不声称是X11应用程序实际使用的操作的代表性示例。虽然它可以用作基准测试,但它是作为性能测试工具编写的。

因此,x11perf不会将测量值缩减为单个“HeXStones”或“MeXops”数字。我们认为这样的数字往好了说是没有信息,往坏了说是误导。有些服务器对某些应用程序非常快,但对其他应用程序却很慢。没有一个数字或一组数字足以描述X实现在所有应用程序上的执行情况。但是,通过了解您喜欢的应用程序,您可以使用x11perf报告的数字来预测它在给定X实现上的性能。

也就是说,您可能还想看看x11perfcomp(1),这是一个比较不同x11perf运行的输出的程序。您提供了一个包含x11perf结果的文件列表,它将它们以漂亮的表格格式显示出来。

为了获得可重复的结果,应该在新启动的服务器上使用本地连接运行x11perf。默认配置将每个测试运行5次,以便查看每次测试是否花费大约相同的时间。应该检查奇怪的故障;如果不可重复,则可能将它们记为守护进程和网络流量。每次试验运行5秒,以减少随机时差。每秒处理的对象数显示为3位有效数字,但在大多数UNIX系统中,如果这些数字实际上一致为2位,那就太幸运了。X11perf将光标移出测试窗口;你应该小心不要撞到鼠标,把它移回窗口。(奖励给正确解释原因的人!!)

在运行测试之前,x11perf确定到服务器的往返时间,并将其从最终报告的时间中剔除。它确保服务器通过从测试窗口取回一个像素来实际执行所请求的工作,这意味着与图形加速器对话的服务器不能声称它们已经完成,而与此同时,加速器正在疯狂地绘制。

默认情况下,x11perf会自动校准每个测试的重复次数,以便每个测试在速度相差很大的服务器上运行所需的时间长度大致相同。但是,由于每个测试必须至少运行一次直至完成,因此一些速度较慢的服务器可能需要很长时间,特别是在窗口移动和调整大小测试以及弧线绘制测试上。

所有的计时报告都是针对所涉及的最小对象。例如,线测试使用一个PolyLine请求一次绘制几条线,但报告服务器每秒可以绘制多少条线,而不是每秒多少个PolyLine请求。文本测试绘制一行字符,但报告每秒的字符数。有些窗口测试会映射、取消映射或移动单个父窗口,但会报告服务器每秒可以映射、取消映射或移动多少个子窗口。

目前的项目主要由乔尔·麦科马克负责。它基于Phil Karlton、Susan angebrandt、Chris Kent、Mary Walker和Todd Newman开发的x11perf,他们想要评估不同服务器之间的性能差异。为了编写和调优PMAX (DECStation 3100)服务器,添加了几个测试。对于面向世界的通用版本,x11perf被重写,以便于在广泛不同的机器之间进行比较,以涵盖更多