关灯
护眼
字体:大 中 小
上一章
目录
下一页
第二天,他跑了全套测试。
把新旧两套流程吐出来的几十GB结果进行比对。
结果全部一致。
再看最终成绩。
旧流程跑完要五个多小时。
换上他这个专门给五个数排序的小东西之后,省下二十一分钟。
二十一分钟。
放进一个五六小时的大任务里,这数字小得可怜,像从一桶水里舀走一勺。
换个外行看,会觉得他熬了一整夜,就为这点东西,简直是捡了芝麻丢了西瓜。
但江临不这样认为。
因为这套工具不会只跑一次。
这个项目后面还有几十组要重跑,这套工具以后还要接别的活儿。
今天省二十一分钟,明天省二十一分钟,跑上一百次,省下的就是三十多个小时的高强度算力。
这意味着,他能用更少的机器,跑出更快的迭代速度。
更何况,这只是他揪出来的第一颗小石头。
一个年久失修、堆满了懒惰和冗馀的老系统里,这样的小石头,一定还有成百上千颗。
他在记录的末尾这样总结。
一件事被重复的次数足够多,最微小的效率差距,就会撕裂成生与死的鸿沟。
在这个城市,代码写错了,大不了多扣几块钱服务器费用,大不了半夜爬起来重启,大不了回滚重来。
有售后,有同行,有无数冗馀可以挥霍。
但在那个他迟早要回去的废土世界里,没有云服务器,没有售后,没有第二个工程师替他擦屁股。
在那里,机器慢了,不能先要资源,必须先问。
为什么慢。
底层快一点,省一点,从来不是写进简历的性能指标。
而是活下去的馀量。
写下这句话,江临把这个给五个数排序的小东西,单独归到一个新建的文档夹里。
然后,一个新的念头浮了上来。
五个数,他靠纸笔和经验,一晚上能推出来。
可如果是六个数、七个数、八个数呢?
要排序的数字每多一个,可能的排法就成倍地,再成倍地往上翻,很快就会多到一张纸根本画不下。
而且,比较次数最少不等于实际跑得最快。
还要看机器喜不喜欢这套顺序,看那些岔路藏在哪里。
到那时候,凭一个人的脑子去硬想哪一套手势最好,会越来越不靠谱。
不是不能写。
只是人会变成那个最慢的瓶颈。
江临忽然想到一件事。
如果给五个数排序的完美手势,是可以靠一台机器,把所有可能的排法挨个试一遍,自己找出来的。
那别的小动作呢?
那些同样被重复几千万次,同样卡着整个系统脖子的小动作呢?
人来定规矩,定好什么算对,什么算错,什么是绝对不能碰的红线。
然后,让程序自己去试,去试错,去在那片大得可怕的可能性里,替自己捞出那一段更小,更快,更稳定的代码。
不再是人埋头一行行去写。
是写一个程序,让这个程序,去查找别的程序。
好吧,让程序去找程序,听着挺玄,到底有什么用?
打个最简单的比方。
你家里有一把瑞士军刀,剪刀、开瓶器、螺丝刀、锯子,什么都有,出门带一把,啥都能应付一下。
可如果你开了家工厂,流水在线每天只干一件事。
拧同一种螺丝,一天拧几百万颗,你还会用军刀上那个小螺丝刀去拧吗?
当然不会。
你会专门定做一把电动螺丝枪,只为这一种螺丝量身打造,又快又稳。
计算机也是一样。
它平时用的那些现成功能,全是瑞士军刀。
为了应付天下所有情况,做得万能,可靠,可每用一次都得把整套复杂东西开动一遍。
但现实里很多任务,其实就是那条每天拧几百万颗同款螺丝的流水线。
动作简单,规矩固定,就是次数多得吓人。
江临前一晚干的,本质就是给这样一条流水线,亲手定做了一把专用的螺丝枪。
而让程序去找程序,是把这件事再往前推了一步。
定做螺丝枪本身也是累活儿,得懂材料,懂力道,反复试。
他不想每遇到一种新螺丝,就熬夜亲手去打一把新枪。
他想要的,是一台会自己造螺丝枪的机器。
你只管告诉它我要拧这种螺丝,必须拧紧,不能滑丝,剩下的,它自己去试一千种枪头,自己测哪种最快最稳,最后把那把最好的递给你。
人只负责
本章未完,请点击下一页继续阅读>>『加入书签,方便阅读』
上一章
目录
下一页