-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: 多线程支持 & 自动跳过已经解锁的音乐 #1
Conversation
你似乎尝试使用全部可用的线程,这可能不太理想,因为计算机上通常不止有 ncmpp 在运行,而 ncmpp 毫无疑问的是计算密集型任务,故此举可能严重影响调度开销。 |
另外的,根据你的截图,不知道你是否观察到当处理的文件变多时,你的方案效率与原方案差距正在缩小,我认为这可能也是因为使用的线程过多所致的, |
不过说实话,对于普通用户来说,单线程的速度已经完全足够了。 |
毕竟CPP,但是讲道理还是没有发挥设备的最佳性能,多线程之后现在压力才来到了IO这边
事实上还是有用的,现在这份不考虑调度影响(在文件较少的时候)可以看到明显的效率提升。
主要就是对线程数量的处理,搞定看起来就没有其他问题了,应该可以 merge
Message ID: ***@***.***>
|
我觉得是我测试机器的问题,十五年上古神机Xeon L5420 + 6GB DDR2 |
omg,比我测试平台还离谱,我这辈子没摸着过DDR2(汗) |
单线程带计时的版本我这里没有,也懒得再 clone 一份下来测了,目测是存在25~50%的效率提升 |
这机子有点离谱 |
甚至能跑win10(或winserver2016及以上),感觉Microsoft的超级屎山还是堆的牛逼 |
有没有什么方法可以根据CPU线程数和IO上限来计算出最适合的线程数 |
没必要,对于这个项目太重了,而且也得具体情况具体分析,直接交给用户手动输入就好 |
我这个数量级的歌曲cpu基本波澜不惊,我复制一下看看 |
修改已合并 |
效果测试:
Intel Xeon L5420 + 6GB DDR2 + WD SATA HDD
各77首对比 ![image](https://github.com/Majjcom/ncmpp/assets/66063199/0d390d0c-7ea6-4c34-bf84-17bc4fd19254) 各12/24/48首对比 ![image](https://github.com/Majjcom/ncmpp/assets/66063199/1c96f087-a694-4f4b-8815-f8a0e6c941e9)Intel Core i5-13600K@3.5GHz + 32GB DDR5 + 7000MB/s NVMe SSD
https://github.com//pull/1#issuecomment-1674297027