Friday, October 17, 2014

free will + 调代码



感觉这个talk 不错, 主题在于面对困难抉择的时候,选择的,帮助我们选择的不是社会舆论,不是在某个文化下大家都觉得轻而易举的选择。我们选择的,是我们想要成为的,我们的个人价值观。推而广之,我们不应该去议论别人的选择,因为他们有权作出他们的选择;反过来,我们不应该所有决定都取决于外界的声音(这样做被称为drifter,随波逐流之意),我们要倾听自己的声音,来做出选择。这就是自由意志 free will。成为自己想要的自己,不是大家想要的你。

-----

今天早上调代码,第一次用python来变成,发现dictionary特别慢。我想尽方法来调。找更好的data structure (没找到),我开始觉得选择python是错误的。于是有了用c#重编的想法,后来想想要不用java,这个比较portable。在重编之前,得先来看看java 和C#里的dictionary有没有快些,发现java 是快了,可是就快那么一点点,C#就超级慢了,是我错怪python了。这个还真是郁闷,心里想调这个没用的代码,还不如做些有利于人类的程序出来。想着是想着,但是我这人就是有点小执着。调到了五点半,没成果,心想调着也是白调,还不如去练练跆拳道,拳打脚踢,搞不好会有点什么启发。这还挺管用的,我发现对中间的flow还没有仔细的去思考,是什么导致跑得那么慢,得要加几个print看看。回来吃饱后,调一调发现原来在可以用set的地方,我用了list,多了好多repeat items出来。另外一个,也是决定性的一个,就是我竟然把build dictionary的function放进了recursive call里,重复着多次的dictionary building。

于是乎,从10万个items, 40几秒的runtime,降到100万个item, 4秒的runtime。这是完全可以接受的范围了。

研究就是这么样的一个郁闷,领悟,豁达的一个cycle。





No comments:

Post a Comment