首页 > 精品推荐 > 这个学霸疑似巨额知识来源不明 > 第91章 让程序去找程序

第91章 让程序去找程序(1/2)

目录
好书推荐: X战警:我在龙国给变种人发编制 全民海上求生:我的载具是玄武 我能穿越去修仙,你跟我分手? 全球玩家苦练武,就我一人在修仙 回到原始时代开始求生 异界冒险:从组建冒险团开始 港综之翻手为云 天榜降世我的系统居然被曝光了 四合院:重生六零,被拒绝有奖? 杨戩,你爹从朝歌城考编回来了!

第二天,他跑了全套测试。

把新旧两套流程吐出来的几十gb结果进行比对。

结果全部一致。

再看最终成绩。

旧流程跑完要五个多小时。

换上他这个专门给五个数排序的小东西之后,省下二十一分钟。

二十一分钟。

放进一个五六小时的大任务里,这数字小得可怜,像从一桶水里舀走一勺。

换个外行看,会觉得他熬了一整夜,就为这点东西,简直是捡了芝麻丟了西瓜。

但江临不这样认为。

因为这套工具不会只跑一次。

这个项目后面还有几十组要重跑,这套工具以后还要接別的活儿。

今天省二十一分钟,明天省二十一分钟,跑上一百次,省下的就是三十多个小时的高强度算力。

这意味著,他能用更少的机器,跑出更快的叠代速度。

更何况,这只是他揪出来的第一颗小石头。

一个年久失修、堆满了懒惰和冗余的老系统里,这样的小石头,一定还有成百上千颗。

他在记录的末尾这样总结。

一件事被重复的次数足够多,最微小的效率差距,就会撕裂成生与死的鸿沟。

在这个城市,代码写错了,大不了多扣几块钱伺服器费用,大不了半夜爬起来重启,大不了回滚重来。

有售后,有同行,有无数冗余可以挥霍。

但在那个他迟早要回去的废土世界里,没有云伺服器,没有售后,没有第二个工程师替他擦屁股。

在那里,机器慢了,不能先要资源,必须先问。

为什么慢。

底层快一点,省一点,从来不是写进简歷的性能指標。

而是活下去的余量。

写下这句话,江临把这个给五个数排序的小东西,单独归到一个新建的文件夹里。

然后,一个新的念头浮了上来。

五个数,他靠纸笔和经验,一晚上能推出来。

可如果是六个数、七个数、八个数呢?

要排序的数字每多一个,可能的排法就成倍地,再成倍地往上翻,很快就会多到一张纸根本画不下。

而且,比较次数最少不等於实际跑得最快。

还要看机器喜不喜欢这套顺序,看那些岔路藏在哪里。

到那时候,凭一个人的脑子去硬想哪一套手势最好,会越来越不靠谱。

不是不能写。

只是人会变成那个最慢的瓶颈。

江临忽然想到一件事。

如果给五个数排序的完美手势,是可以靠一台机器,把所有可能的排法挨个试一遍,自己找出来的。

那別的小动作呢?

那些同样被重复几千万次,同样卡著整个系统脖子的小动作呢?

人来定规矩,定好什么算对,什么算错,什么是绝对不能碰的红线。

然后,让程序自己去试,去试错,去在那片大得可怕的可能性里,替自己捞出那一段更小,更快,更稳定的代码。

不再是人埋头一行行去写。

是写一个程序,让这个程序,去寻找別的程序。

好吧,让程序去找程序,听著挺玄,到底有什么用?

打个最简单的比方。

你家里有一把瑞士军刀,剪刀、开瓶器、螺丝刀、锯子,什么都有,出门带一把,啥都能应付一下。

可如果你开了家工厂,流水线上每天只干一件事。

拧同一种螺丝,一天拧几百万颗,你还会用军刀上那个小螺丝刀去拧吗?

当然不会。

你会专门定做一把电动螺丝枪,只为这一种螺丝量身打造,又快又稳。

电脑也是一样。

它平时用的那些现成功能,全是瑞士军刀。

为了应付天下所有情况,做得万能,可靠,可每用一次都得把整套复杂东西开动一遍。

但现实里很多任务,其实就是那条每天拧几百万颗同款螺丝的流水线。

动作简单,规矩固定,就是次数多得嚇人。

江临前一晚乾的,本质就是给这样一条流水线,亲手定做了一把专用的螺丝枪。

而让程序去找程序,是把这件事再往前推了一步。

定做螺丝枪本身也是累活儿,得懂材料,懂力道,反覆试。

他不想每遇到一种新螺丝,就熬夜亲手去打一把新枪。

他想要的,是一台会自己造螺丝枪的机器。

你只管告诉它我要拧这种螺丝,必须拧紧,不能滑丝,剩下的,它自己去试一千种枪头,自己测哪种最快最稳,最后把那把最好的递给你。

人只负责说清楚我要什么,什么绝对不能出错。

造枪的活儿,交给机器。

那这东西在生活里能干嘛?

答案是,几乎所有动作不难,却要重复亿万次的地方,背后都藏著这样一条可以被改造的流水线。

你滑手机相册,几千张照片唰一下按时间排好,是排序。

你网购时商品按价格从低到高一列,是排序。

地图给你算最近的路,外卖给你派最近的骑手,游戏里每一帧成百上千个物体重新排先后……

这些你天天在用,却从不留意的瞬间,底层全是同一批被重复了千万上亿次的小动作。

平时没人在乎它们快一点还是慢一点,因为单看一次,都是眨眼的事。

可一旦放到重复上亿次的尺度上,这眨眼的差距,就会变成实打实的电费、伺服器和等待时间。

江临要做的机器,就是钻进这些没人留意的角落,把那些还能更快的小动作,一个个揪出来,定做,替换,提速。

而且它不挑活儿。

今天能给五个数排序,明天就能优化別的小动作。

这个项目用得上,下个项目照样用得上。

一念及此,江临越来越兴奋。

因为排序,只是个敲门砖。

真正让他头皮发麻的,是这道门缝背后那个更大的东西。

如果连找最优程序这件事本身,都能交给机器去做呢?

那么在废土世界里,他就不必再为每一个装置,每一种控制顺序,每一套观测流程,都亲手去写最好的方案。

他一个人,精力有限。

但如果有一天,机器能替他搜出一部分小程序,小流程,小动作。

那么它就不再只是一个排序工具,而是一个单人科研系统的增幅器。

过去,人写程序,是亲手给出每一步。

第一步比这两个数,第二步比那两个,第三步交换……

一步步把答案铺出来。

这要求写的人脑子里先有答案,再把答案翻译成代码。

江临现在想做的,是反过来。

他不再亲手给答案,只告诉机器三件事。

什么是起点——一堆乱掉的数。

允许做什么动作——挑两个位置,比一下,错了就换。

什么算贏——所有可能的乱序,最后都被捋顺。

然后,让机器自己去试。

说白了,就是把排序这件事,变成了一个游戏。

乱掉的数,是棋盘。

每一次比一下,该换就换,是落子。

把所有乱序都捋顺,是通关。

机器要做的,就是自己去玩这个游戏,一步步试,直到找出一套能通关的走法。

这个想法有个让人头皮发麻的地方。

人,从此不必知道答案了。

人只负责定义这个游戏。

画好棋盘,定好规则,標好胜利的样子。

至於具体怎么走,走哪条路最快,交给机器去穷举,去试错。

江临新建了一个文件,敲下三行注释,作为这个游戏的全部规则。

有一堆乱掉的数。

每一步,挑两个位置比一下,错了就换。

直到所有数都被捋顺。

很短。

短到不像一个程序的开始。

本章未完,点击下一页继续阅读。

目录
新书推荐: 神医下山,捡个美女总裁当老婆 我爸是首富,我是逆天败家子! 荒年猎户:分家后我粮肉满仓! 被甩后,我成了高冷前妻的白月光 重回71:资本家千金真护夫! 抓到女友出轨后,系统每天送我三百万! 我医武双绝!出狱后全球警报 快穿:娇养反派 病娇宿主诱人上瘾,疯批哐哐乱亲 下山即无敌,绝色未婚妻被逼婚了
返回顶部