当前位置: 首页 > 知识库问答 >
问题:

控制台写入速度是否影响程序执行速度

欧阳勇
2023-03-14

没有控制台。登录大型for循环的每次迭代(假设我

换句话说,如果没有控制台,迭代会更快吗。日志

我不是问是否会有“任何”差异,但是否有明显的差异(比如10毫秒而不是1毫秒)?

在我的例子中,我谈论的是windows命令提示符和javascript

共有1个答案

万俟皓
2023-03-14

是的,控制台写入确实会影响程序执行时间。

事实上,写入控制台需要相当长的时间。根据控制台的实际情况,时间也会有所不同。因此,运行计算机本地显示器上的文本控制台将比网络上ssh链路另一端的控制台快得多。我设想,作为远程桌面会话的一部分查看的控制台不会比本地控制台快或慢,RDP会定期发送整个帧缓冲区,因此它不会试图跟上每一次控制台打印。

有些运行时会做一些有趣的事情。我知道你的问题被标记为Javascript,但请容忍我。Linux上gcc中实现的printf()函数会打印到stdout,它本身由运行库通过IPC管道进行缓冲,因此如果有多个线程同时调用printf(),那么输出不会太混乱。通过管道进行缓冲实际上可以让应用程序返回一段时间;管道可以快速吸收文本输出,以便运行时可以继续缓慢地将文本写入屏幕。我不知道Win32(Windows中所有东西的最终基础)是否也做了类似的事情。

因此,如果Javascript运行时构建在Linux上gcc上编译的C/C之上,那么除了Javascript运行时自身添加的任何层之外,还需要完成所有这些层。

在C/C GCC中,Linux标准不是以这种方式缓冲的,它只是尽快直接进入屏幕。这会导致一些非常混乱的情况,比如

“在printf()之前它是如何打印错误的?它们在我的源代码中是相反的!!!!”

任何在C/C之上构建的类似Javascript的运行时也将继承这种行为!

这似乎也是最近Eclipse在其CDT编译控制台中错误获取编译器输出顺序的原因。我认为Eclipse改变了它从诸如gcc之类的程序中获取控制台输出的方式,但没有意识到gcc本身是用gcc编译的,它不一定会按照严格的“时间”顺序输出stderr和stdout消息。

 类似资料:
  • 问题内容: 我试图用谷歌搜索,但是没有运气。 我的开关很大,有些情况 显然 比其他情况 更常见 。 因此,我想知道订单是否真正保持原状,并且在“下”之前先测试“上”案例,因此可以更快地进行评估。 我想保留订单,但是如果它影响速度,那么重新排序分支将是一个好主意。 例如: 问题答案: 对switch语句重新排序没有任何效果。 查看Java字节码规范,可以将a编译为a 或一条指令,然后打开a 。A 总

  • 本文向大家介绍是否可以在JavaScript执行中写入MongoDB控制台?,包括了是否可以在JavaScript执行中写入MongoDB控制台?的使用技巧和注意事项,需要的朋友参考一下 要在控制台上编写,您需要使用方法。语法如下- 要显示对象,可以使用。语法如下- 让我们实现这两个功能。第一个查询如下所示以显示某些内容- 以下是控制台上的输出- 让我们创建一个对象。查询如下- 这是显示上述对象“

  • 问题内容: 为了找到两个数据库之间的所有更改,我将pk上的表联接在一起,并使用date_modified字段选择最新记录。由于表具有相同的架构,因此将使用提高的性能。我想用重写它,但是我不确定在每种情况下for的实现是否都可以执行。希望有人对何时使用有更多的技术说明。 问题答案: 任何人都无法告诉您,它永远或永远不会超过同等产品。无论您如何编写意图,优化器都会选择合适的执行计划。 就是说,这是我的

  • 问题内容: 如果我有两个查询 和 哪个查询将运行得更快?是where子句/表联接的最大因素,还是返回的列数最大? 我之所以问是因为我正在构建一系列映射到数据库表的对象。通常,每个对象将至少具有以下三种方法: 全选 选择足够的数量以用于填充下拉列表 -选择结果中可见的所有内容,通常约6列左右。 如果每个查询返回的列完全相同,则代码的维护和测试应该更加简单。数据库在任何给定的表中都不可能超过50,00

  • 我在程序(计时器类)中使用scheduleAtFixedRate方法。它每秒钟运行一次,但有时这种方法会变得非常快(每秒执行3-4次)。 然而,我在网上做了一些研究,发现了这个: 复制自android开发者页面: 对于固定速率执行,任务每次连续运行的开始时间都是计划的,而不考虑上一次运行的时间。如果延迟阻止计时器按时启动任务,则这可能会导致一系列串接运行(一个接一个地启动)。 我需要固定的计时器。

  • 问题内容: 您如何安排Java程序的执行时间?我不确定应该使用哪个类来执行此操作。 我正在寻找类似的东西: 问题答案: