第5章 缓存、缓存、优化空间
    健太郎真的很忙,小林彻再看到他时,已经是三天之后了。

    业绩压力巨大,面对隔壁任天堂的主机,实在是让人很难不提起精神。

    即便如此,健太郎回来时依旧是一副轻松随意的表情,没把工作中的恼火带回家里。

    “小彻?你的游戏写的怎么样了?”

    “额……”

    小林彻挠头。

    这老登,真是哪壶不开提哪壶。

    小林彻说:“我觉得还好,但也有一些问题,据我所知,问题目前仍在解决当中,而解决问题的关键,就是要解决这个问题。所以我们目前可以说,我们还在解决问题。只要问题获得了解决,就能解决这个问题。以上,就是我的问题。”

    健太郎瞬间后仰。

    这是个什么说法!

    健太郎说:“让我看看怎么个事。”

    小林彻惊,声音加大:“老爹不是硬件工程师吗!”

    健太郎声音更大:“硬件工程师也要懂基本原理吧!”

    健太郎凑近过来,眼角馀光,却是先看到了车库遍地丢弃的包装袋,都是最近这段时间里小林彻填饱肚子剩下的各种面包泡面小零食。

    看得出,最近小林彻真的有在努力工作。

    “劳逸结合也很重要啊。”

    健太郎嘀咕了一声,翻看起眼前的代码。

    七千个字节,二百二十行代码,写的满满当当。

    “唔……中规中矩。”

    至少语法没错,而且是他很熟悉的pascal语言。

    “恩?!”

    健太郎忽然凑近了屏幕。

    荧光绿的屏幕上,写着格外简约的字符串。

    “小彻,你这是什么意思?”健太郎有些看不懂了。

    此刻的字符串中,出现了一大段不知何用的东西。

    只有七千个字节的情况下还要写这种内容,健太郎有些看不懂。

    “额,是这样的。”小林彻解释:“就是,这是个索引。”

    小林彻抬手比划了一下。

    如果用能够理解的语言去讲的话,那么他在做的事情就相当于是基础。

    假如一个程序相当于一个超市,要想在超市中买到分门别类的物品,就需要映射的货架和标号,划分映射的局域。

    小林彻所做的,就是打造出映射的货架,划分专门的局域,这样能够极大的增加程序的运行效率。

    但是,听小林彻解释完毕,健太郎却摇了摇头。

    “想法很好,但你有没有想到一个问题,SG1000的卡带,存储介质只有8KB,除去必要的验证程序,确保卡带运行的部分,图象和音声素材等等,最终可用空间只有7KB。与其耗费心思写那些索引,不如直接将你的这个,额,每一个角色?”

    ——健太郎不太确定这些是不是游戏角色,因为实在是太多了。

    “给你的每一个角色,单独定义一条case语句。”

    小林彻一愣。

    如果程序还是一个超市的话,那么,小林健太郎的方案,就相当于是把所有的货物都分别拴上一根绳子,然后绳子连接在售货员的手上。

    如果顾客要买可乐,就拉动可乐绳子,如果顾客要买面包,就拉动面包绳子。

    小林彻不会这么做,是因为这是早就被淘汰的写作方式,没人会用这么笨的写法,费时费力,而且效率很慢。

    但是现在。

    健太郎却真是点醒了小林彻。

    在总共只有7KB的存储空间条件下,程序优化是要达到字节级别的。

    换句话说,他手里的不是一家几百平米的大超市,而是一个只有两平米的书报亭!

    这种情况下根本就没必要去制作货架,因为货架本身也要占用大量的空间。

    效率提高的同时程序就必然变得臃肿,这一点是无可厚非的,又快又小的东西只能是J2,不是程序。

    所以,对于当下这个时代,后世的方法虽然更好,却不适合这个时代。

    在空间不足的情况下,单独定义每一个方块,写出单独的语句反而是更有效的行为。

    “对呀!”

    几句话,听的小林彻直拍大腿。

    后世的经验虽然难得可贵,但对于这个时代贫瘠的存储空间而言,有些事情也是不得不去顺应时代的。

    “我知道了,我应该这么做!”

    小林彻扯过来椅子,再一次坐在计算机前,开始忙碌起来。

    看着小林彻噼里啪啦的鼓捣键盘,健太郎不禁摇头。

    这倒楣孩子!

    看到小林彻的头发都有些打绺了,健太郎还是很心疼的。

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