什么更快?循环或多个 if 条件

2024-04-20

我想知道什么更快。是只用一条指令(即 1=1)执行 9 次 for 循环还是执行 9 个 if 条件时?

我认为 if 更快,因为您不需要检查循环中的指令


它应该几乎相同 - 因为for循环本质上是检查if条件为真并运行一段代码 - 非常类似于if声明。

有关如何进行的详细信息for循环和if语句通常在汇编中实现 - 看看https://en.wikibooks.org/wiki/X86_Disassemble/Loops https://en.wikibooks.org/wiki/X86_Disassembly/Loops and 汇编中的复杂 IF 语句 https://stackoverflow.com/questions/14292903/complex-if-statement-in-assembly

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

什么更快?循环或多个 if 条件 的相关文章

  • 如何从 Lua 内部运行另一个脚本?

    我需要从另一个 Lua 脚本中执行一个 Lua 脚本 有多少种方法 我该如何使用它们 通常您会使用以下内容 dofile filename lua 但你可以通过以下方式做到这一点require 很好 例子 foo lua io write
  • R中具有特定条件的多列变异

    我有这个数据 M1 M2 M3 UCL 1 2 3 1 5 我想在这种情况下创建新列 如果M1大于UCL MM1将为 UP 否则为 NULL 如果M2大于UCL MM2将为 UP 否则为 NULL 如果M3大于UCL MM3将为 UP 否则
  • 在每次迭代中使用 for 循环的索引命名图像

    我正在使用 MATLAB 进行图像处理项目 我使用 for 循环在每次循环迭代时生成某种图像数据 图像大小不同 我的问题是如何阻止它在下一次迭代中覆盖图像 Img i j data 理想情况下我希望它有 Img 1 data for 1st
  • 函数不返回“for”循环的所有结果[重复]

    这个问题在这里已经有答案了 我制作了一个简单的函数来根据您决定运行的数字打印出时间表图表 由于我对语言的基本理解 我遇到的问题是为什么它只返回第一个循环而不返回其他内容 def timestables number for a in ran
  • 循环内声明的变量在循环的每次迭代中保持值

    我无法确定这是一个错误还是一个功能 For i 0 To 4 Dim strTest As String If i 0 Then strTest test value End If Console WriteLine strTest Nex
  • Tarantool 中的冲突解决(如何在发生冲突时修复主-主模式下的复制)

    在多master场景下使用Tarantool如何实现冲突解决 我正在开发一项应该具有高可用性的服务 因此决定使用 nginx 作为 tarantool 两个节点 禁用只读选项 的负载均衡器 带有备份指令 它会重试对其他节点的失败请求 但如果
  • 如何在 Rails ActiveRecord 中的日期指定小于今天的条件

    我正在尝试找出如何提取我的集合中的所有记录的字段publish是真的并且expires比今天少 我有以下内容 但我认为小于部分不起作用 有人可以指出我正确的轨道吗 Announcement where publish true expire
  • 如何从 Lua 字符串中删除所有特殊字符、标点符号和空格?

    在Lua中 我只能找到其他语言的示例 如何从字符串中删除所有标点符号 特殊字符和空格 所以 举例来说 s t r i p p e d会成为stripped In Lua 模式 https www lua org manual 5 3 man
  • Gitlab-CI:有条件的allow_failure

    我最近开始为我的代码实现自动测试 我注意到 CI 没有捕获编译器的警告 即使有警告 测试也显示为成功 我最初为编译器添加了一个标志 将警告转化为错误allow failure True 但问题是编译器在第一个警告 gt 错误时停止 并没有完
  • 检查非零的惯用方法

    当我想检查一个值是否为0在C中 它是如何惯用的 if num if num 0 虽然这是一个品味问题 但我发现这很大程度上取决于意图 如果该值用作布尔值 没关系 如果值正在计算某些东西 则相等更有意义 if isVisible if isV
  • R:动态创建变量名

    我正在寻找使用 for 循环创建多个数据帧 然后将它们缝合在一起merge 我可以使用创建我的数据框assign paste blah 但是 在同一个 for 循环中 我需要删除每个数据帧的第一列 这是我的代码的相关部分 for j in
  • 如何从表成员中引用lua表成员?

    我在 lua 有一张表 enUS LOCALE STHOUSANDS Thousands separator e g comma patNumber d LOCALE STHOUSANDS d regex to find a number
  • VBA 使用 Like 运算符删除行

    简单的事情并不简单 我试图根据具有以 2L 开头的数据的特定列删除行 所以我写了这段代码 LastRow可以理解 Sub Cleanup For i 1 To LastRow If Range F i Like 2L Then Rows i
  • 为什么for循环只显示最后一个循环的结果

    我有这个样本矩阵 X1 X2 X3 X4 1 F F F F 2 C C C C 3 D D D D 4 A A A A 我正在尝试使用 for 循环来获取每列中唯一音高的数量 我正在尝试这样做 y lt read csv file fra
  • 在循环内部或外部声明本地更好吗? [复制]

    这个问题在这里已经有答案了 我习惯这样做 do local a for i 1 1000000 do a
  • 如何循环遍历表并保持顺序?

    我得到了下表 local a 12 30 24 60 60 year 30 24 60 60 month 24 60 60 day 60 60 hour 60 minute 1 second 但是 当我对它进行配对循环并打印 key val
  • python中的“如果不是”条件语句[重复]

    这个问题在这里已经有答案了 if not start new next None return new 如果不是 是什么意思 这段代码什么时候执行 这和说的是一样的吗 if start None 那么做点什么 if是声明 not start
  • C for 循环索引:新 CPU 中的前向索引更快吗?

    在我订阅的邮件列表上 两位知识渊博的 IMO 程序员正在讨论一些优化的代码 并说了以下内容 在 5 8 年前发布的 CPU 上 向后迭代 for 循环稍微快一些 e g for int i x 1 i gt 0 i 因为比较i归零比将其与其
  • 构建自动化和 MySQL Workbench 脚本:正向工程师 SQL CREATE SCRIPT

    我目前正在研究自动化软件构建过程 其中包括 MySQL Workbench 中定义的数据库架构 使用 Workbench 的脚本编写功能 我想打开一个 Workbench 文档并将其架构导出为 SQL CREATE 脚本 我想知道是否有一个
  • Java:迭代 Collection 的最佳方法(此处为 ArrayList)

    今天 当我看到一段我已经使用了数百次的代码时 我很高兴地开始编码 迭代集合 此处为 ArrayList 出于某种原因 我实际上查看了 Eclipse 的自动完成选项 这让我想知道 在什么情况下以下循环比其他循环更好使用 经典的数组索引循环

随机推荐

  • 使用 XOAUTH IMAP 访问 Gmail 收件箱

    我正在关注example http code google com p google mail xoauth tools source browse trunk python xoauth py 我已经授权了我的应用程序 获得了访问令牌 但
  • 即使密钥存在,S3 也会给我 NoSuchKey 错误

    这是我的 boto3 命令 用于从 S3 存储桶获取具有特定密钥的对象 resp s3client get object Bucket lt gt lt gt Key MzA1MjY1NzkzX2QudHh0 它给出以下错误 botocor
  • 将 createView 与allowDiskUse 结合使用

    在 mongo 聚合框架中可以使用该选项 allowDiskUse true 当一些繁重的操作 例如排序 无法在内存中执行时 这非常有用 我正在尝试做同样的事情createView 在 Mongo 3 4 中可用 但我找不到地方allowD
  • 在 C 中捕获 Ctrl-C

    How does one catch Ctrl C in C 使用信号处理程序 这是一个简单的例子 翻转bool用于main include
  • 如何阻止 parseFloat() 将零剥离到小数点右侧

    我有一个函数 用于从字符串中删除不需要的字符 定义为货币符号 然后将值作为数字返回 返回值时 我进行以下调用 return parseFloat x 我遇到的问题是 当 x 0 00 时 我期望得到 0 00 带有两位小数的浮点数 我得到的
  • HQL(Hibernate)如何检查一个元素列表是否是另一个列表的子集?

    我很难创建一个 HQL 查询来检查表 X 的记录 a 列表是否包含在同一表 X 的另一个列表 b 中 这是我正在使用的一个例子 select r from Role r where select p from Permission p wh
  • 表单验证禁用提交按钮,直到 WPF 中的所有字段均已填写

    鉴于 WPF 4 0 基于桌面的应用程序 基本输入形式有两个TextBox字段和提交按钮 XAML 代码
  • Visual Studio 2017 不突出显示错误

    我最近从 Visual Studio 2012 升级到 2017 更新到版本 15 3 5 并且 IDE 出现一些问题 在某个项目中 我没有得到错误下划线 在错误列表窗格中 仅构建 实际上显示more比 Build IntelliSense
  • 合并两个具有相同数字键的 PHP 数组[重复]

    这个问题在这里已经有答案了 尝试合并具有相同数字键的两个数组时遇到一些困难 我努力了array merge and array merge recursive 但似乎所做的只是附加第二个数组 第一个数组具有以下形式 Array 384 gt
  • 编辑时更改 NSTextField 边框和 BG 颜色

    我有一个NSTextField显示时不使用边框和窗口背景颜色 但我希望在编辑时将其更改为具有默认边框和白色 BG 颜色 我知道我可以通过以下方式更改这些属性 nameTextField bezeled true nameTextField
  • 加速 solr 索引

    Solr 索引花费的时间太长 我使用的mysql有超过3000万条记录 我正在使用两级子查询 请向我建议索引数据的最佳实践 以便我可以加快该过程 查看Solr性能因素 http wiki apache org solr SolrPerfor
  • java中的验证码[重复]

    这个问题在这里已经有答案了 我想尝试用 Java 开发一个安全登录系统 我应该如何使用 Java 实现 CAPTCHA 我在 Java 中使用的三个验证码库是 JCaptcha 这是三者中最可配置的 并且有很好的文档记录 但无论如何 我们似
  • 使用 HTTPS 链接与 php 方法(file_get_contents、getimagesize)

    当我尝试读取网站中的某些 HTTPS 网址时遇到问题 如果我使用 http 则没有问题 使用file get contents和curl 但是当我用 https 替换 http 时 这些方法不起作用 我收到一些错误 failed to op
  • 调整 R Markdown PDF 文档中文本和块输出之间的间距

    我无法理解如何控制 R Markdown PDF 文档中文本和块输出之间的间距 下面是一个文档的示例 output pdf document setlength lineskip 0pt begin center Random Text e
  • UICollectionView - 在单元格之间画一条线

    如何在 UICollectionView 中的单元格之间绘制一条跨越空间的线 预期的输出是这样的 我所做的最好的事情就是在每个单元格内添加行 如何连接穿过空间的线 我做了一个扩展 你可以像这样使用 collectionView drawLi
  • 使用 Jackson 序列化类型化集合时出错

    我正在尝试使用混合序列化集合 但杰克逊不会保存类型信息 这是一个基本测试 说明会发生什么 public class CollectionSerializationTest interface Common extends Serializa
  • GitHub Actions 使用从 shell 设置的变量

    Goal 在 GitHub Actions 中 从 shell 动态定义我的提交消息 name Commit changes uses EndBug add and commit v7 with message added on date
  • Golang:带有 -> 字符的命令行参数

    我需要接受命令行参数来运行以下格式的 Go 程序 go run app go 1 gt A 我在用os Args 1 但它只接受到 1 gt A 被跳过 非常感谢任何解决此问题的帮助 Thanks 你的 shell 正在解释 gt as I
  • 如何获取时间。立即勾选

    我有一个迭代循环 直到作业启动并运行 ticker time NewTicker time Second 2 defer ticker Stop started time Now for now range ticker C job err
  • 什么更快?循环或多个 if 条件

    我想知道什么更快 是只用一条指令 即 1 1 执行 9 次 for 循环还是执行 9 个 if 条件时 我认为 if 更快 因为您不需要检查循环中的指令 它应该几乎相同 因为for循环本质上是检查if条件为真并运行一段代码 非常类似于if声