写了一个程序,使用 PySide6 带有 GUI ,用来处理字幕的文本内容
因为要用到 CPU 处理,多线程和异步效果不佳,所以想做成多进程的形式处理,用的进程池来操作
pool = multiprocessing.Pool()
results = pool.map(analysisSubtitles, subtitles_list)
pool.close()
pool.join()
analysisSubtitles 是识别每个字幕每行内容并做替换。每个字幕文件处理时间 30-300ms 左右,但使用了多进程以后,无论拖入一个还是十个文件,都要至少 1.5s 起步才能处理完成
这是什么原因导致的,有没有办法优化?
百度谷歌必应和 GPT 都问过了,实在找不到问题原因
===
macOS 上我加了 multiprocessing.set_start_method("fork") 解决,基本在 0.5s 内就可以完成
但我也有在 windows 使用的需求,请问 windows 下如何优化才能减少执行时间?
感谢各位
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.