2014-09-28 58 views
1

我已经在heroku上部署了一个烧瓶应用程序,并且由于它相对较小,我从来没有费心设置记录器。我通过使用打印语句发现,我可以在英雄附加记录器上看到我需要的一切。我想知道的是,这是否会对性能产生负面影响?我刚刚使用内置记录器烧瓶? print语句是否给python程序增加了不必要的开销?使用烧瓶应用程序时使用打印是否会对性能产生负面影响?

回答

2

两个输出(印刷和记录器)在一个文件结束,唯一的区别在于,记录器通常允许输出的一些过滤并尝试时消息将被过滤掉,以尽可能少的开销添加为可能的。这意味着它不可能说没有测试,IE浏览器比较两者。您应该可以使用timeit模块来计算执行for循环所需的时间,该循环可以打印成千上万条消息。

然而,另一个问题是并发性:如果你的应用程序瓶是由单独的客户端运行,日志VS打印的性能影响可能取决于日志是如何设计VS打印报表的采集是不同的。这是很难测试,但我的猜测是,你可以创建一个使用多模块运行在平行于只是有一个打印/日志信息的烧瓶中的URL请求的一叠剧本,并meadure您的测试客户端是多少请求能够在给定的时间内完成。

最后考虑的是,处理在烧瓶视图量/渲染可以不是时间显著更大花费任一记录或打印。例如,如果没有任何打印的渲染需要100毫秒,打印时需要110毫秒,那么重要的是日志的速度是打印速度的两倍(而不是IE 105ms)?只要你在打印/日志的使用上保持节俭,那也没什么关系。这通常适用于任何应用程序,而不仅仅是网络。

相关问题