软件幻灭(译) @ tonsky.me
@tveastman: 我有一个每天都要运行的Python程序,每次运行需要1.5秒。我花了六个小时用rust重写了这个程序,现在这个程序运行一次只需要0.06秒了。41年零24天以后,效率提升节约下来的时间补偿了我重写程序的六个小时。:) 你可能听过这样的说辞:“程序员的时间比计算机时间宝贵多了”。这句话基本上反映出我们现在在极大的浪费计算资源。你会买百公里耗油100升,甚至1000升的汽车吗?在软件行业,我们一直这么做。 看看周围,现在笔记本电脑的性能是第一次登月载人航天飞船上电脑的几千倍。然后在最新的顶级Macbook Pro上,所有的网页都不能保持60帧的平滑滚动。我能用笔记本电脑流畅地玩游戏、看4K视频,但是不能平滑地滚动网页。这怎么能接受? 谷歌邮箱,谷歌旗下的网页应用,在谷歌自己开发的Chrome浏览器上,需要花费13秒的时间打开一个中等大小的电子邮件: 它为邮件展开添加了动效,但是应用动效的是一个空白区域而不是邮件内容。为什么呢?因为只有这样动效才能达到一个不错的效果。不,不错的效果并不意味着每秒60帧,而只是意味着“尽可能地快”。我迫切想知道当120hz显示器成为主流的时候,Web社区会怎么回答动画效果的问题。现在连60hz刷新率都很难做到。 Windows 10需要花费30分钟来更新系统,怎么可能需要这么长的时间呢?30分钟都够我完全格式化我的SSD硬盘,下载一个全新安装镜像,安装5次系统了。 Pavel Fatin: 在编辑器里面输入文字是一个相对简单的过程,所以即使是285的主机都能够比较顺畅地输入文字。 现代的编辑器的输入延迟比42年前开发的Emacs编辑器高很多。编辑器啊!还有比编辑器更简单的吗?每敲击一次键盘,你所需要做的仅仅是更新一个小小的方形区域,但是现代的编辑器却不能在16毫秒内完成一次键入。16毫秒可是很多时间,一个3D游戏可以在这个时间内刷新整个屏幕,渲染成千上万的多边形。同时还处理用户输入,重新计算环境世界,动态加载或释放资源。为什么会有这么大差距? 一个普遍的趋势是,我们并没有得到更快且更多功能的软件。我们的硬件越来越快,但是软件越来越慢,同时功能并没有增加。所有的软件的运行速度都远低于理想值。你有没有想过为什么你的智能手机需要30到60秒的时间来启动。为什么它不能在1秒内启动?这里并没有硬件限制,我非常想看看是不是真的可
Explore this link on the map →