Python 的 print 为什么在 Mac 比 Windows 快那么多?
小白问题哈,平时简单写点爬虫,Sublime 搞定。
但是发现在 Win 下 print,大一点的文本很容易就卡死了。直接在 cmd 里打,也好点有限。
在 Mac 下则完全顺畅。
网上搜过,也没见到靠谱的回答(而且 mac 比 win 快很容易搜出其他内容),单就 Python 的 print 论,这速度差异到底是为啥呢?
Python 的 print 为什么在 Mac 比 Windows 快那么多?
i2ex 上问,mac 肯定本来就好啊,哈哈
我无法理解你的问题。
控制台的问题吧
用 powershell 试试
可能是代码页转换 overhead
win 的 console 是本地代码页,兼容 DOS 的设计,中文就是 GBK 系列
输出时 utf-8 转 gbk,啧啧
另外,就算 win 的 console 用现代 windows 的 UCS2 编码( UTF-16 ),也是需要 UTF-8 转 UTF-16
macos 的终端应该是默认 UTF-8,因为 BSD 的是 UTF-8,macos 基于 BSD
换 WSL
到底快多少,两边什么配置,测试方法或者代码是什么
什么都没有,就说 windows、Mac 怎么样
控制台问题吧。换掉 cmd,用 cmder 或者其他什么的。
print 的速度的差异,肉眼都能看出来了?
你大可以把代码的执行时间输出下来,比对一下。
这么黑 windows 也不太好吧,虽然我是 linux 用户。。
不过,window 确实没有好用的 shell,不论是 cmd 还是 powershell 都不太好用。建议你试试 powershell。个人认为:
git bash> powershell > cmd
你要是换 urxvt 或者 alacritty 会更快……
print 的速度 基本上是 终端模拟器的速度
我一般用 tree / 来测试
这是 cmd 的锅,如果不想换 Terminal 的话,可以选择重定向到文件。
比方说,我拿 print(end=’.’)作为简易进度条,在 cmd 上会立即输出,而在 Linux Terminal 上不会立即输出,需要 flush。
至于楼上说的 Shell,虽然我也觉得 Zsh / Bash 更好用,但单就这个问题而言,并无任何关系。
这就是 windows 的生产力咯
用个 ffmpeg 结果因为 cmd 效率太低 都卡在 log 输出真的好笑
用 powershell 试试吧,我的 ffmpeg 正常输出。
不至于吧,我的 win10 1703 和 1709 下用 ffmpeg 压 h265 都很正常呀,也是用 cmd 做控制台的,并没有卡在 log 输出上呀

