不得不就毕设倒倒苦水了。说老实话,如果我不是一个好了疮疤忘了疼的人的话,也许就不会在同一块石头上绊倒两次了。想当初本科做毕设的时候,也是痛苦万分的经历,迄今尚不敢回首。居然短短两年后又要经历一次。。。终于知道女人生第二胎的时候是什么心态了。不过,生孩子没法延期,毕设还有条后路。不能背水一战,让我进入了崩溃边缘,从而有了两种恐惧的对象:毕设,以及我心理状态的崩溃。我也不知道哪一个更恐怖。
由于早年告别了Windows,自己的机器又没有好到能够跑虚拟机的地步,外加LaTex一直没学会,因此一直在文本编辑器上码字,然后有机会的时候拷到Word里面。页码是按照Word文档一个模板的格式算的,在Emacs里码字,自然不知道该有多少页。因此,我的心理状态一直处在过山车似的刺激跌宕当中。一会儿就觉得60页,那么宏伟的计划怎么可能完成,跟大跃进似的,还要在几天内完成。一会儿,等我把几千个字拷进去看看页数的时候,又想:哇,这就4页了啊,那一章10来20页的,不是小case?一会儿,想想一章里面到底应该写什么的时候,又觉得:虽然想到的已经写了一点,还没想到的,谁知道会不会最后被我想到,这20多页还是愁啊。。。
于是,我在为看到居然就有4页被我搞定而欣喜的时候,又同时以旁观者的身份冷笑着,看自己还能高兴多久。天啦,真是要把人逼疯不可。崩溃啊崩溃。
不过看的那些论文还是有点收获的。程序切片这个东西还是很有意思的。之前自己yy过,通过分析寄存器间的关系来看程序能不能并行化的问题,其实就是程序切片从另一个角度看过来最原始的想法。也的确就有人把切片用在程序并行化领域的。那方面的论文没看到,也懒得找,不过我又brainstorm了一下,觉得可能性还是满小的。毕竟,函数是有聚合度的,如果一个函数能够切出很多片来,就说明聚合度很低了,就该拆函数了。函数一拆开,就很少需要劳切片工具大驾了,人工并行化也就比较容易了。比如说播放器,如果一开始解码和在屏幕上画是一起的,那么切出来就可能有这么两块。但是这两个很明显应该在重构的时候分开。分开以后,并行化的处理就很明显了,两个线程,一个解码,一个画到屏幕上。没程序切片技术什么事。
所以我现在的想法是,随着软件工程理念的深入,自动化的程序并行化已经不太有可为之处了。倒是同步库可能市场越来越大。毕竟,如Knuth所言,硬件工程师们已经黔驴技穷了。多核时代来临,并行的程序势在必行。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment