今天没什么大事,就是把手头一个拖了挺久的活儿给搞定了。这玩意儿已经快变成我的一个心病了,每天都得用它,每次用都得对着电脑屏幕干等,心里那叫一个憋屈。

问题:耗时的老伙计

我手头有个小工具,专门处理一些客户丢过来的表格数据。这工具我用它少说也有两年了。以前数据量小,跑起来五六分钟就完事了,正好让我泡杯茶,热个饭。

但是不知道从什么时候开始,数据量跟吃了激素一样,蹭蹭往上涨。等它跑完,我那茶都凉透了,有时候去接个电话回来,它还在那儿吭哧瘪肚地转圈。最近一次跑完,我掐了表,足足花了38分钟!38分钟,我的天,我感觉我的一天就这么浪费在等待上了。

我这人就是这样,能拖则拖。每次都说,,明天再改,明天一定优化它。结果这“明天”一直拖到了今天早上。我一早起来,照例开了机,点开那个工具开始跑数据,然后等得实在无聊,就决定:今天必须干掉它。

动手:一通乱翻和猛改

我直接把那工具的“源代码”给翻出来了。大家伙儿别笑话,我这代码写得跟狗啃的一样,完全没有章法,东拼西凑,就是个能跑的架子。

小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

我把那几百行代码从头到尾扫了一遍。主要的问题在哪儿?就是我以前为了图方便,在处理大批数据的时候,用了最笨的方法:一个循环套着另一个循环,文件读写也是一个一个地抠。这简直就是折磨电脑,也折磨我自己。

我二话不说,拿起键盘就开始删代码

  • 我把那个最慢的数据比对部分,完全推翻了。以前我是把两个表格的内容一行一行拿出来,然后一个字符一个字符去对比。我改成了先一股脑全倒进内存里,用更直接的方式进行查找和匹配,减少了跟硬盘来回磨蹭的次数。

  • 我发现写日志的那个模块特别拖后腿。它每次找到问题数据,都要马上打开日志文件,写一行,再关闭。我就把这块也改了,现在是先搜集错误,等整个处理流程跑完,再一次性把所有的日志都丢进去,省去了中间无数次开关文件的耗时。

  • 那些零零碎碎的小函数,看着不顺眼的,全部精简,把它们合并,让它逻辑更顺畅一点。

这过程挺枯燥的,中间有两次因为改得太猛,直接把程序跑崩溃了。不过我这人脾气也上来了,不搞定它,今天中午饭都不想吃了。前前后后倒腾了大概两个半小时,总算是把我觉得最不合理的地方都给修了。

结果:这下舒服了

修完之后,心想,试试看,大不了再跑38分钟呗。我把同样那份让它跑了38分钟的数据又扔了进去。

神奇的事情发生了。

我盯着屏幕看进度条,那进度条就跟飞一样,一下子就满了。我再一看计时器,从开始到结束,总共才花了4分钟20秒!

那一刻,我感觉整个人都放松了。从38分钟到4分多钟,这速度提升,简直就是鸟枪换炮。我端起早上泡好的、早就冰凉的茶,一口气喝完了,感觉那叫一个痛快!

你们说,我这人是不是贱?一个两小时就能搞定的优化,我拖了几个月,每天忍受着等待的折磨。生活里太多这样的破事了,我们总是在旧有的痛苦里习惯性地待着,直到那份痛苦真的忍无可忍,才逼着自己往前迈一步。你看,就像我以前在老东家待着,每天加班到死,直到被那帮混蛋无缘无故踢出门,我才一狠心转了行,才有了现在这份朝九晚五还能舒服写写东西的工作。所以说,疼痛才是最好的驱动力,一点都没错!

这简单的“一天更新日志”,就是记录了一次被等待逼疯的自我救赎。现在好了,明天的38分钟又被我找回来了,美滋滋。

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。