小白问题哈,平时简单写点爬虫,Sublime 搞定。
但是发现在 Win 下 print,大一点的文本很容易就卡死了。直接在 cmd 里打,也好点有限。
在 Mac 下则完全顺畅。
网上搜过,也没见到靠谱的回答(而且 mac 比 win 快很容易搜出其他内容),单就 Python 的 print 论,这速度差异到底是为啥呢?
1
nutting 2018-04-28 16:53:14 +08:00
i2ex 上问,mac 肯定本来就好啊,哈哈
|
2
wwqgtxx 2018-04-28 16:57:54 +08:00 via iPhone
控制台的问题吧
|
3
Qzier 2018-04-28 17:01:44 +08:00 via iPhone
用 powershell 试试
|
4
sleshep 2018-04-28 17:01:44 +08:00 via Android
可能是代码页转换 overhead
|
5
iwtbauh 2018-04-28 17:48:36 +08:00 via Android
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 |
6
orangeade 2018-04-28 17:52:41 +08:00 via Android
换 WSL
|
7
goodryb 2018-04-28 19:09:42 +08:00 via iPhone
到底快多少,两边什么配置,测试方法或者代码是什么
什么都没有,就说 windows、Mac 怎么样 |
8
chinawrj 2018-04-28 19:23:58 +08:00
控制台问题吧。换掉 cmd,用 cmder 或者其他什么的。
|
9
crb912 2018-04-28 20:59:01 +08:00 via Android
print 的速度的差异,肉眼都能看出来了?
你大可以把代码的执行时间输出下来,比对一下。 这么黑 windows 也不太好吧,虽然我是 linux 用户。。 不过,window 确实没有好用的 shell,不论是 cmd 还是 powershell 都不太好用。建议你试试 powershell。个人认为: git bash> powershell > cmd |
10
ericls 2018-04-28 22:18:06 +08:00 via iPhone
你要是换 urxvt 或者 alacritty 会更快……
print 的速度 基本上是 终端模拟器的速度 我一般用 tree / 来测试 |
11
Arnie97 2018-04-29 12:48:10 +08:00 via Android
这是 cmd 的锅,如果不想换 Terminal 的话,可以选择重定向到文件。
比方说,我拿 print(end='.')作为简易进度条,在 cmd 上会立即输出,而在 Linux Terminal 上不会立即输出,需要 flush。 至于楼上说的 Shell,虽然我也觉得 Zsh / Bash 更好用,但单就这个问题而言,并无任何关系。 |
12
kojirou 2018-04-29 17:17:50 +08:00
这就是 windows 的生产力咯
用个 ffmpeg 结果因为 cmd 效率太低 都卡在 log 输出真的好笑 |
14
wwqgtxx 2018-04-30 01:23:26 +08:00
@kojirou 不至于吧,我的 win10 1703 和 1709 下用 ffmpeg 压 h265 都很正常呀,也是用 cmd 做控制台的,并没有卡在 log 输出上呀
|