我维护一个软件包,可以自动摄取数据。导入原始数据时,将绘制原始数据并将一些数据图形保存到磁盘。不幸的是,print
函数大大降低了我的性能。在Matlab中优化打印功能
下面是代码性能的击穿
我的执行时间Script Time
myscript 9.091s
uichoosefile 3.567s
print 4.178s
legend 0.751s
只有大约3/4S是真正的处理时间和print
是最大的timesink这里。
内print
两条线占用的时间
Line Code Time
212 pj = pj = alternatePrintPath(pj); 3.173s
148 drawnow; 0.751s
如何创建的print
的优化版,不被这两条线的瓶颈几乎是100%?诸如降低图形分辨率的简单优化例程是不可取的。
'print'是一个很大的功能,可以做很多事情。你打电话过得怎么样?请提供示例代码来演示您正在尝试执行的操作。 – horchler
此时你是否需要将图形保存为光栅格式(PNG,JPG或者是否导出它们),或者您可以将.fig文件保存为hgsave并将其推迟到后期阶段? – txpaulm
@txpaulm不幸的是我没有限制矢量或光栅格式的豪华。当数据被摄入时,客户的配置文件也被取消,其中指定了其数据,PNG,PDF,SVG,EPS等的交付格式。PDF + PNG是最典型的情况。打印在执行过程中发出命令时很麻烦,所以我不相信推迟保存是非常可行的;它可能会中断,例如,操作员在保存程序中点击。 –