c# - 我怎样才能让我的程序运行得更快 : Is using threads a solution?

标签 c# performance

我编写了一个程序来构建一个巨大的搜索树。因为我的树太大了,我预计我的程序将使用超过 40% 的 cpu。而不是这个我的程序使用不超过 10% 的 cpu 即使它以高优先级运行。

如果线程在并行运行时会使用更多的 CPU,请告诉我;我可以将我的程序划分为多个线程,我确实需要减少搜索时间。

谢谢!

最佳答案

instead of this my program uses not over 10 % of cpu

您有多少个处理器,您的操作系统如何测量这 10%,即如果您有 10 个处理器并且 100% 使用其中 1 个,某些操作系统将显示 10% 的使用率。

但是,如果您没有 100% 使用处理器,则需要找出原因。也许它在某种程度上受 IO/网络限制,而您的 IO 效率低下。您还提到它是“巨大的”,那是什么意思?如果您真的是说巨大,并且您用完了机器的所有内存并开始交换,性能就会下降,您需要找到更有效的算法/内存使用或获得更多内存。

i can divide my program in threads

如果您的 1 个线程没有充分利用 CPU,您可能不会从使用线程中获得任何好处。

关于c# - 我怎样才能让我的程序运行得更快 : Is using threads a solution?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771124/

相关文章:

C#类型转换不一致?

c# - 如何查看邮件是否发送成功?

ruby-on-rails - 如何将排序移动到数据库级别

java - 字符串大写 - 更好的方法

c# - 受信任的 SQL Server 连接

c# - 使用泛型使算法适用于 "something"列表而不是仅适用于字符串

Oracle:在过程中返回带有游标的大型数据集

javascript - 分离基于 JavaScript 的插件和配置以提高性能的好方法是什么

c# - 如何在 Asp.Net-MVC 中添加自定义 HTTP header

performance - 在集群键上使用 IN 子句的 Cassandra 性能