【发布时间】:2013-05-09 16:49:36
【问题描述】:
我得到 5 个列表,我需要所有列表的子集。
- I) 200.000 个整数值
- II) 30.000 个整数值
- III) 10.000 个整数值
- IV) 200 个整数值
在数学方面 A n B n C n D. 我需要 1.000 个并发用户。
- 用 c# 执行此操作的最快方法是什么?
- 我可以用一个 2 mhz CPU 执行多少个并发操作? 20 亿次循环速度
【问题讨论】:
-
使用一个 CPU,只能执行一个 并发操作。
-
@Nolonar 超线程呢?另请注意,CPU 在实际并行化管道中的工作方面非常聪明。实际上很难确定并发程度,具体取决于您使用的定义。它只是将庄园中的任务并行化,这样只能在外部观察到顺序。
-
请澄清:2MHz 还是 2GHz?此外,在多核 CPU 中,您可以设置并发(请参阅任务并行库:msdn.microsoft.com/en-us/library/dd460717.aspx)
-
@Servy 如果我没记错的话,超线程只是将第二个线程推送到管道。两个线程稍微延迟运行,但不是并发。
-
@Nolonar 同样,这在某种程度上取决于您对并发的定义。 CPU 可以从内存中获取一个操作的参数,同时同时将两个值加在一起作为另一个操作。并发永远无法从外部观察到,但它确实存在。使用超线程,您甚至可以在外部观察到并发性。我不会断言我是该主题的专家,我只是说“并发”有一个模糊的定义需要澄清。
标签: c# list math mathematical-optimization