事情是这样的:
代码本身很简单,thread::spawn ()多线程跑点累活儿。
因为结果很多就花了两周时间写后处理。
回过头来再跑累活儿发现 CPU 占用 33%怎么也上不去了。
认为自己重构代码时候引入了 bug 。
checkout install run,checkout install run..
嘿,最早的可运行版本现在也只能用 33%
才想起来自己以前开 cmd 都是管理员选项卡。
果然,管理员 cmd 才能跑 sync 代码到 90%
胸口发紧。
1
opengps 2023-07-18 10:22:45 +08:00
没看到到底因为啥,仅仅是因为管理员身份变化就能改变 cpu 的利用率?真没听过这个说法
|
3
cnbatch 2023-07-18 14:58:26 +08:00
看起来,用的似乎是大小核
我这普通核 CPU 并未遇到过这种怪事 不过 OP 也可以进一步测试(如果想测的话),用 ffmpeg 做个转码(只用 CPU ),看看 conhost 和 Windows Terminal 的运行情况是否一致 |
4
kenvix 2023-07-18 15:02:04 +08:00 via Android
怎么听起来像是你大量往控制台打印东西,导致阻塞了
|
5
kenvix 2023-07-18 15:03:51 +08:00 via Android
印象中 conhost 没有硬件渲染加速而 wt 有,往控制台打印东西太快就会阻塞住,所以产生了 wt 比 conhost 快的现象
|
6
mmdsun 2023-07-18 15:06:11 +08:00
为啥 CMD 和 Windows Terminal 性能有这么大差异?
难道输出太多? your-command > NUL 试试看 |
7
afirefish 2023-07-18 15:07:09 +08:00
大小核调度问题。33%看看不是小核跑满了,大核心在摸鱼。
|
9
andyJado OP |
10
kwanzaa 2023-07-19 00:03:27 +08:00
ryzen 无大小核同样的情况。
|