纪老师

Results 3 issues of 纪老师

参考python版本计算动态规划的逻辑,将CalcDP函数的计算顺序改为从后往前就可以了。 可直接替换代码如下: void CalcDP(vector& dags) const { size_t dagSize = dags.size(); size_t nextPos; const DictUnit* p; double val; for(size_t i = 0; i < dagSize; i++){ dags[dagSize - i -...

我们用jieba分词做了一个文件内容搜索,在处理大批量文本时jieba分词的内存占用是偏高的,因此目前有以下几种优化: 1. 降低代码中临时变量的中转存储,例如CutToWord中vector wrs的存在就没有必要; 2. PreFilter转换输入的str到unicode,然后每一个字节都跟部分转义字符比对这样的效率太低了,可以在str输入后先做一遍类似string.repalce操作把转义字符全部转换为0x20或者其他截至符,后面对str分段时只对比是否等于0x20即可; 3. PreFilter转换输入的str到unicode这个操作是否可以考虑去掉,或者给utf-8单独一个接口; 4. 使用Darts生成DATrie的方式加载词典确实常驻内存降低了80%左右; 没有太在意与cppjieba之间的代码差异,我的优化大部分都是基于DATrie版本的cppjieba,有其他优化项也可以一起讨论哈!