控制台应用程序比 GUI 应用程序运行得更快吗? [关闭]

2024-06-25

我对编程世界比较陌生。我有几个性能问题:

  1. 控制台应用程序比具有图形用户界面的应用程序运行得更快吗?

  2. C 和 Pascal 等语言比 C++ 和 Delphi 等面向对象语言更快吗?我知道语言速度更多地取决于编译器而不是语言本身,但是过程语言的编译器生成的代码比面向对象的编译器(包括可以生成 C 代码的 C++ 编译器)更快吗?


控制台应用程序比基于 Windows 的应用程序运行得更快吗

简短回答:No
长答案:

在基于控制台的应用程序中,没有需要重新绘制窗口并接受用户输入的 GUI 线程,因此从这个意义上说,控制台应用程序可能会稍微快一些(因为它占用 CPU 周期的线程少了一个)。然而,由于现代操作系统同时运行多个进程,无论如何,控制台应用程序仍然会与系统中的其他进程争夺 CPU,所以不会。

像 c 和 pascal 这样的语言比像 c++ 和 delphi 这样的面向对象语言更快吗?

简短回答:No
长答案:

C 和 C++ 中的等效程序的执行大致相同。尽管编程语言当然可以在性能方面发挥作用,但通常您需要担心的主要问题是算法(您用应用程序逻辑表达的内容),而不是算法编码所用的语言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

控制台应用程序比 GUI 应用程序运行得更快吗? [关闭] 的相关文章

  • MVC。网络错误:初始化字符串的格式不符合从索引 0 开始的规范

    我的连接字符串是
  • 在子目录中构建共享库

    我正在尝试构建一个使用一些 C 代码的 R 包 我有一个编译为可执行文件的 C 库 可以从命令行调用 有一个与之关联的 Makefile 我正在尝试获取信息here http cran r project org doc manuals R
  • 以编程方式更改 Excel 中的字体(Trebuchet MS、Calibari)C#

    我目前正在使用一个 C 应用程序 该应用程序有一个将生成 Excel 文件的类 一切都很顺利 Excel 工作表上填充的数据具有 Times New Roman 字体 我想将其更改为其他字体 Calibari 我怎样才能以编程方式做到这一点
  • 外部剃刀视图看不到外部模型

    我对外部剃刀视图有疑问 在我的项目中 我有主 mvc Web 程序集和动态加载的外部类库程序集 来自 DB 及其自己的控制器 视图和模型 这些程序集在运行时不会直接引用和加载 我能够通过为控制器创建自定义控制器工厂 为视图创建自定义虚拟路径
  • 多态性中基类缺少虚拟析构函数 = 资源泄漏?

    我们知道 如果要多态地使用基类 则需要将基类的析构函数指定为 virtual 否则程序中可能会出现资源泄漏 因为只会调用基类析构函数 而不会调用派生对象析构函数 我们还知道构造函数 析构函数纯粹是初始化 未初始化构造 而operator n
  • 将标准库添加到C++ eclipse项目中

    一个 非常 新手 C 问题 有没有办法自动将标准库添加到 C eclipse 项目中 我安装了 CDT 主要功能插件 您可以手动添加 STL 标头的路径路径和符号 gt 包含选项卡 http help eclipse org galileo
  • 命令中带空格的 Windows C 系统调用

    我无法使用名称和参数中的空格进行系统调用 例如 system c program files something example exe c my files example txt 我尝试过各种我知道的方法来逃避 但没有任何效果 我努力了
  • 第三方引用的 dll 未被复制来构建

    我有一个第三方 net dll 被我的 dll 类库项目 A 引用和使用 我的控制台应用程序项目 B 引用项目 A 我的问题是第三方 dll 没有被复制到控制台应用程序项目 B 的构建中 这里有什么问题呢 我的 dll 类库中引用的第三方
  • OpenMP 循环数组访问中的错误共享

    我想利用 OpenMP 来并行执行我的任务 我需要将数组的所有元素减去相同的数量并将结果写入另一个向量中 两个数组都是动态分配的malloc第一个填充了文件中的值 每个元素都有类型uint64 t pragma omp parallel f
  • 如何在 C++ 中初始化嵌套类的构造函数

    我在初始化嵌套类构造函数时遇到问题 这是我的代码 include
  • 内存不足异常

    我正在使用 C 和 asp net 开发一个网络应用程序 我一直收到内存不足的异常 该应用程序的作用是从数据源读取一堆记录 产品 可能是数百 数千 通过向导中的设置处理这些记录 然后使用处理的产品信息更新不同的数据源 虽然有多个 DB 类
  • 训练某些网络时,Keras(Tensorflow 后端)在 GPU 上比在 CPU 上慢

    我很难理解为什么 GPU 和 CPU 速度在小规模网络中相似 CPU 有时更快 而 GPU 在大规模网络中更快 问题底部的代码在 i7 6700k 上运行时间为 103 7 秒 但使用tensorflow gpu 时 代码运行时间为 29
  • 剥离 OLE 标头信息 (MS Access / SQL Server)

    我有一个 C 应用程序需要支持二进制数据库内容 图像等 当使用 MS Access 或 MS SQL Server 时 此数据被包装在 OLE 对象内 如何去除此 OLE 标头信息 请注意 我不能只查找特定标签的开头 因为内容可以是 png
  • 保留部分桌面

    如何使用 Delphi 保留桌面的一侧 像 Vista 侧边栏那样的东西 你想要的叫做应用程序桌面工具栏 http msdn microsoft com en us library bb776821 28VS 85 29 aspx 您必须使
  • 链接错误:xxx 已在 *****.LIB 中定义:: 究竟出了什么问题?

    Problem 我正在尝试使用一个名为DCMTK http dicom offis de dcmtk它使用了一些其他外部库 zlib libtiff libpng libxml2 libiconv 我已经从同一网站下载了这些外部库 LIB
  • 矩阵行列式算法 C++

    我是编程新手 我一直在寻找一种找到矩阵行列式的方法 我在网上找到了这段代码 但我很难理解这里的算法 我对递归的基础没有问题 但继续和主循环我很难理解 非常感谢任何可以向我解释该算法的人 int determ int a MAX MAX in
  • Scala 不可变 Map 速度慢

    当我创建地图时 我有一段代码 val map gtfLineArr 8 split map split collect case Array k v gt k v toMap 然后我使用这张地图来创建我的对象 case class MyOb
  • Task.Delay 到底是如何工作的?

    他们说 Task Delay 是一个异步 Thread Sleep 为了测试这一点 我写了下面的代码 我希望立即打印 One 然后 3 秒后将打印结果变量 15 2 秒后 将打印 Two 但似乎并非如此 一 不会立即打印 3 秒后打印 On
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似

随机推荐

  • swagger文件默认属性的控制

    在 1 5 16 版本中使用 swagger core swagger annotations 控制我的数据模型的 swagger 文件中的默认属性时遇到问题 有一个定义 HTTP POST 输入 JSON 对象的 POJO import
  • 具有曼哈顿距离启发式的 A* 算法

    我一直在用 C 语言开发一个 15 个谜题求解器 我的代码使用的大量内存给我带来了一些问题 我不会发布我的代码 因为它太长了 我已经实现了我正在使用的大部分库 它可能会给您带来困惑 让我们从基础开始 我现在正在使用的东西是 全部用C实现 斐
  • 如何自动将多个 Monticello 提交从本地存储库复制到 Smalltalkhub.com?

    白天 我将多个版本的 Monticello 软件包提交到 磁盘上的本地存储库 稍后我想将本地存储库与 Smalltalkhub com 存储库同步 目前 我使用 Monticello 浏览器将本地提交手动一一复制到 Smalltalkhub
  • 不允许在文本区域中换行

    使用 jQuery 如何不允许插入新行 通过按 Enter 或复制文本 在半伪代码中 textarea keydown function this remove new lines Thanks EDIT 是像下面这样粗暴还是有更好的方法
  • 如何只编译一次.jrxml

    请帮忙 每次生成报告时都会编译 jrxml 我只想编译一次 请帮我看看我需要添加什么条件 我没有使用输入 输出流 使用compileReport可以只编译一次 不要将 JRXML 文件放在可通过 Web 访问的任何地方 JRXML 文件包含
  • 在opencv中找到物体的凸包?

    我是根据教程写的here http docs opencv org doc tutorials imgproc shapedescriptors hull hull html但我无法获得图像的凸包 我使用的是教程中所示的类似手部图像 我得到
  • GWT 树的工具提示:向节点添加鼠标悬停

    我正在尝试为 GWT 中的树节点添加工具提示 因此 我想为树的节点而不是树本身添加一个鼠标悬停侦听器 Treelistener 接口似乎是我想要的 但现在已弃用它来代替处理程序系统 我不太明白如何在单元格上获得鼠标悬停行为 因为我似乎只能将
  • 如何在 HTML5 画布元素上写入文本?

    是否可以在 HTML5 上编写文本canvas var canvas document getElementById my canvas var context canvas getContext 2d context fillStyle
  • 如何为构造函数生成的右值提供左值的生命周期?

    while model condition auto data yield data auto manipulate model data model get info args 我有一个 RAII 类型的对象manipulate 当它超出
  • Android 片段的单个实例

    有没有一种方法 当我们使用ft addToBackStack null 我们只向 BackStack 添加一个实例 当用户按下后退按钮时 将同一片段的多个实例添加到后退堆栈会造成混乱 您可以尝试为 addToBackStack 方法设置一个
  • 为什么不是所有代码编译位置无关?

    在 gcc 中编译共享库时 fPIC 选项将代码编译为位置无关的 是否有任何原因 性能或其他 导致您不编译所有位置独立的代码 它添加了一个间接 对于与位置无关的代码 您必须加载函数的地址 然后跳转到它 通常 函数的地址已经存在于指令流中
  • 无法从 Java SE 客户端访问 EJB - 查找失败错误

    我正在使用 Netbeans 并尝试使用 EJB 我有两个项目 2 个单独的应用程序 1 一个名为 EnterpriseApp 的 Java ME 项目 2 一个名为 Test 的标准 Java SE 项目 现在这就是我所做的 在 Ente
  • 我无法在 Java 程序(swing)中的面板/画布/窗口上绘制图形。有任何想法吗?

    我无法在 Java 程序 使用 swing 中在面板 画布 窗口上绘制图形 文本 我什至尝试将其分成两个类 其中一个类中包含paintComponent 扩展JPanel 而另一个类中包含其他内容 扩展JFrame 我尝试过带有画布和不带有
  • 查找每个客户组的最新帐户

    我有一个包含客户信息的表 每个客户都会分配一个客户 ID 他们的 SSN 他们在开设更多帐户时会保留该 ID 两个客户可能使用同一个帐户 每个客户都有自己的 ID 帐号不按日期排序 我想找到每个客户或客户组的最新帐户 如果两个客户曾经一起使
  • 如何检查 .sql 文件中的 SQL 语法?

    如何检查 sql 文件中的 SQL 语法 SELECT STATEMENT DIGEST TEXT在MySQL 8 0中可以用于MySQL查询语法验证 8 0 4 gt SELECT STATEMENT DIGEST TEXT FLUSH
  • 有没有 py2exe 的替代品? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有 py2exe 的替代品 py安装程序 http www pyinstaller org 是跨平台的并且非常强大 有许多第三方软
  • C++ 使用 std::chrono 以一种很好的方式测量成员函数的执行情况

    我想优化我的应用程序 特别是某些功能的执行速度 想象一下有一个带有一些成员函数的类 class Test public Test virtual Test int init int arg1 double arg2 private 在我的构
  • 在 Ubuntu 上将 NodeJS 作为服务运行

    我尝试按照以下步骤将 nodejs 作为服务运行 1 sudo vim servicelocator conf 2 past this conf description node js server author mahmoud elgoh
  • Laravel Blade,将 php 翻译为 Blade 的递归视图

    我有一个带有 php 的递归视图 这显然是错误的 所以我必须将其转换为 Blade 以递归调用视图 我的 php 递归代码 comments blade php
  • 控制台应用程序比 GUI 应用程序运行得更快吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我对编程世界比较陌生 我有几个性能问