【发布时间】:2013-07-19 18:47:58
【问题描述】:
目标: 我试图估计我的代码在多个线程中同时运行时的执行速度。
问题 1)
如果我确切地知道我的代码在一个线程中针对单个请求运行的速度有多快,那么他们有什么方法可以估计它在多个线程中的运行速度吗?
问题 2)
其他线程的存在对其他线程的执行速度有什么影响(如果有的话)?
我的情况:
我遍历内存中最坏情况大小为 100 万个节点的图。它只是一次访问 100 万个内存地址 1。在 1 个线程上需要半秒钟,我担心这将如何随着多个用户执行相同的查询而扩展。每个用户请求都由一个单独的线程处理,因此 100 个并发用户将需要 100 个并发线程。每个线程共享相同的资源,但只读。没有写作。有没有机会让每个用户看到大致相同的执行时间?
注意:我知道这取决于许多因素,但如果您发现代码需要 x 给定 x 硬件的单个线程的时间量。最后,我想补充一点,我对计算机硬件架构以及多线程如何在后台工作的经验有限。
【问题讨论】:
标签: multithreading web-applications benchmarking