[返回博客](/cn/blog) # Teigha BIM：测量性能和内存分配

Ivan Shulga 五月 11, 2017 [\#rvt](/cn/blog/tag/rvt) [\#rfa](/cn/blog/tag/rfa) [\#performance](/cn/blog/tag/performance)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

Teigha BIM 有一个测试工具 TB\_PerfTest，用于测量性能和内存消耗。  
性能可以通过四种模式测量：  
• 读取  
• 写入  
• 渲染  
• 渲染和写入

并测量以下类型的内存分配数据：  
• WorkingSetSize  
• PagefileUsage  
• PeakWorkingSetUsage  
• PeakPagefileUsage  
• PagefileUsageReleased  
• PagefileUsageDecreased

命令语法为：  
**&gt;TB\_PerfTest &lt;source file&gt; &lt;TEST NAME&gt; &lt;NumOfIter&gt; \[ST|MT|MT2|MT4|MT8|MT16\] \[PL\]**

其中：  
**\[TEST NAME\] - READ, WRITE, RENDER, RENDER\_SAVE, ALL**  
**\[ST|MT|MT2|MT4|MT8|MT16\] - 多线程模式：所有逻辑 CPU|2|4|8|16。ST 表示单线程**  
**\[PL\] - 使用部分加载模式**

例如：  
**TB\_PerfTest.exe "\\sample.rvt" READ 3 ST**

此示例在单线程中对示例文件“&lt;span class="win-path"&gt;\\sample.rvt&lt;/span&gt;”执行三次“读取”测试迭代。  
测量性能  
如前所述，有四种测量模式：  
1\) 读取（“READ”）— 测量文件加载（从磁盘）的持续时间。  
2\) 写入（“WRITE”）— 测量文件保存到虚拟流的持续时间。  
3\) 渲染（“RENDER”）— 测量文件渲染（到位图文件）的持续时间。  
4\) 渲染和写入（“RENDER\_SAVE”）— 测量渲染和保存过程的持续时间总和。

在所有迭代结束时，该工具计算持续时间的平均值。请注意，第一次测量对结果没有影响，因为通常第一次测量误差较大。因此，平均持续时间为：  
AverageDuration = SUM(duration\_2, … duration\_N)/(N-1);

测量内存分配  
内存分配测量的主要目的是查找文件加载的最大内存分配，以便在各种情况下检测非最佳容器和分配。如果内存使用量从一次迭代到另一次迭代增加，也可以检测内存泄漏。

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://staging.opendesign.com/cn/free-trial)
