这两次比赛都没获得好成绩,但还是学到很多东西,也不算白参加。
第一次参加华为的比赛,跑偏了,别人都hash table搞的,之前讲解的时候,让我们去看看mysql的日志索引。然后我去研究排序索引去了,还提前写了代码,参加到一半,发现不是那么回事,弃赛了。因为剩下的时间感觉重头写不完了。
接着参加阿里的比赛,hash table研究了一番,libpmem代码看了,书也看了,信心满满。但发现差距还是很大,有很多想法,但是实现的比较慢,因为c总归不熟练,啥都要自己实现,之前没有经验,所以会慢很多,导致还是没进入前十。题目还涉及内存回收利用的问题,我这里还有合并的方案也没实现,总归这方面涉及的也少,有想法实现起来也慢,导致成绩没想象的好。
不过这两次学到东西挺多的,主要c方面,系统编程方面,查了老多linux文档,集中在磁盘,内存,文件,线程方面的接口。还有pmem方面的知识,索引方面的知识,感觉这么半年,学的东西赶上工作一年写c学的东西。还有c的调试gdb,性能分析,还有c的一些优化,simd的使用。目前就想到这些,发现还是有压力的时候学的多,如果自己看书,学了也不会有这么深刻的理解。
虽然这两次比赛成绩不理想,但进步很多,有下次机会还会参加,名次也会慢慢提升。最近在研究数据统计分析的东西,发现是个大坑,不知道为啥,开始想研究机器学习了,之前一直感觉没啥意思。
上一篇: 持久化内存编程库libpmem源码阅读-3 lib初始化
下一篇: 使用python压缩扫描pdf文件,压缩率0.1
0 Responses so far.