Nim 代码并行化与竞态条件处理
1. 解析器并行化
1.1 并行化基础
为了使程序并行运行,需要利用线程。在 Nim 中,有两种创建线程的方式:使用 threads 模块或 threadpool 模块,对于当前程序, threadpool 模块更为合适。
1.2 测量顺序执行时间
在并行化代码之前,需要测量 sequential_counts 的执行时间:
- UNIX-like 系统 :使用 time 命令,执行 time ./sequential_counts 即可输出执行时间。在配备 SSD 和 2.7 GHz 双核英特尔酷睿 i5 CPU(支持超线程)的 MacBook Pro 上,执行时间约为 2.8 秒。
- Windows 系统 :打开新的 Windows PowerShell 窗口,使用 Measure-Command 命令,执行 Measure-Command {./sequential_counts.exe} 输出执行时间。
由于当前程序单线程运行且 CPU 密集,并行化可显著提高其速度。
1.3 并行化 sequential_counts
创建新的 parallel_counts.nim </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



