本次实现的代码在src/include/primer/count_min_sketch.h,具体 TODO 在本地的 src/primer/count_min_sketch.cpp。网站在Project #0 - C++ Primer。
代码比较简单,大致考察对c++的熟悉程度。
测试对性能有一定的要求,具体在测试时有“Expected: speedup > 1.2”,这里speedup = 串行插入耗时 / 多线程插入耗时,也就是说你的多线程插入要比串行化快20%。第一次采用的是读写锁,不过性能不太够,随后采用的了原子变量做测试,可以通过;需要注意的是,线上提交需要通过“Build.ClangFormat (0/0) Build.ClangTidy (0/0)”,也就是代码格式化和静态分析,可以使用 make format和make check-format来验证代码格式化,以及make check-clang-tidy-p?来验证静态分析。
浙公网安备 33010602011771号