个人项目总结 by 陆元伟

个人项目的具体内容本人就不加赘述了,主要讲一讲我在整个过程中的体会和一些感受吧。

拿到题目的时候,我的第一反应就是hash table,当时的想法是自己来实现一个bucket,至于hash function上网也搜了一些比较经典的。但是最后为了省事,直接调用了系统库函数hash_map,在这个过程中倒是没有遇到什么困难,挺顺利。

之后比较麻烦的一个事情是怎么样递归地查找指定目录下面的指定文件类型,由于我以前没有做过类似的事情,所以这个还花了点功夫。首先我在网上查了查别人的方法,然后仿照着写了一个递归函数。但是由于特定的接口都是wchar类型的,所以还花了点时间来做类型匹配、转换这样的事情。

最后,我把hash_map中的数据复制了下来,用quick_sort进行了排序,这里由于只需要排出前100个,所以我稍微修改了算法,节省了部分时间。

程序写完之后,我运行了几遍,用performance test检查了一下耗时瓶颈,发现出现在file_lock上,这是由于我用了fgetc()。换成getline之后,速度提高了不少。

总的来说呢,这次作业让我熟悉了一些函数的使用,如文件递归查找,hash_map等等。同时使用performance来检测hot area是一个很好的方法。但是,未能做到精益求精,不断地提高算法,缩短时间这是缺点。下面贴出我的预期和实际情况的对比。

预期如下:

实际情况如下:

posted @ 2012-09-04 20:03  code连锁店  阅读(206)  评论(0)    收藏  举报