当前位置: 首页 > 面试题库 >

什么算作CPU密集型任务(例如排序,搜索等)?

何昆
2023-03-14
问题内容

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。

7年前关闭。

您将什么视为CPU密集型任务。就……而言,例如是一种算法/代码(与其说是像视频编辑之类的用例,不如说是用例)。原因似乎是不使用NodeJS的主要原因,我真正喜欢的东西主要是CPU密集型任务。那算什么呢?例如,它是排序,搜索,图形遍历还是矩阵乘法?


问题答案:

诸如“密集型”或“昂贵”之类的术语是相对的,并不是什么活动总是占用大量CPU的。一般来说,不是I / O的都是CPU。而且I /
O在node.js中是异步的,所以不是问题。因此,除了I / O昂贵之外,我们一无所有。

您选择一般模式的方法是明智的。排序,搜索甚至算法通常都受CPU限制。当然,您无法消除CPU使用率,但是如果您可以对数据库进行排序而不是对应用程序代码进行排序,则可能会更好。

我也会注意大型循环。一个不会触发任何异步事件的循环是一个瓶颈。当然,不能完全避免循环。它们是编程中不可或缺的事实。如果循环很短,那就没问题了。如果找到运行10,000次的循环,则可能需要考虑使用setTimeout,process.nextTick或单独的节点进程将其分解。

10,000人被任意挑选。这取决于循环的作用。您的里程可能会有所不同。



 类似资料:
  • 问题内容: 我需要一些易于实现的单个cpu和内存密集型计算,可以用Java为测试线程调度程序编写这些计算。 它们应该花费一些时间,但是更重要的是消耗资源。 有任何想法吗? 问题答案: CPU密集型任务的一些简单示例: 搜索质数(涉及许多BigInteger部门) 计算大阶乘,例如2000!((涉及许多BigInteger乘法) 许多Math.tan()计算(这很有趣,因为Math.tan是本机的,

  • 使用指南 - 数据报告 - 优化分析 - 什么是搜索词排名 您可以在此设置需要跟踪的搜索词,搜索词报告会根据您设置的搜索词,给出其在百度搜索中和百度指数中的排名,并会提供PV、UV、跳出率、平均访问时长等信息,帮助您更好的优化推广效果。 1、设置搜索词 2、查看排名

  • 我基本上想搜索一个有2个过滤器/标签的查询 (例如2个国家/地区的1个城市--美国或加拿大) ElasticSearchApi.java search.java的一部分 例如,代码呈现ff查询,该查询显示国家/地区内名称为NEW的可用城市: 这将导致显示在美国或加拿大的所有城市以新的名称。 但似乎不起作用,所以我要求正确的改造或操作员,或一些可以帮助我实现我的目标。

  • 问题内容: 我已经开始尝试使用Node.js HTTP服务器,并且真的很想编写服务器端Javascript,但是有些事情使我无法开始在Web应用程序中使用Node.js。 我了解整个异步I / O概念,但我对程序代码占用大量CPU资源的极端情况(如图像处理或对大型数据集进行排序)感到有些担忧。 据我了解,对于简单的网页请求(例如查看用户列表或查看博客帖子),服务器将非常快。但是,如果我想编写非常占

  • 问题内容: 用Python的方式搜索或操作排序序列是什么? 问题答案: 是标准库的一部分-您正在寻找这种东西吗?

  • 我正在尝试将多个已排序的列表合并到一个树集中。。然后我考虑在树集上应用二进制搜索算法,以O(logn)的时间复杂度检索元素。。 下面是我的代码,我在其中一个方法中传递列表列表,并将它们组合成以避免重复...所有列表中的排序- 首先,这是将多个排序列表合并到树集的正确方法吗?有没有直接的方法可以有效地合并TreeSet中的多个排序列表 或者,与我目前使用的数据结构相比,我更适合使用另一种数据结构?