优化方案的核心是将boost::regex_match替换为boost::regex_search并配合boost::match_continuous标志。boost::regex_search配合该标志后仅匹配字符串的前缀部分,如果字符串开头子串满足正则表达式就返回成功,而不需要匹配整行内容。这种部分匹配方式的执行时间基本保持稳定,不受日志长度影响。优化后的实际采集效果显著:单线程多行采集速度从98MB/s提升到350MB/s,性能提升约3.57倍(257%)。优化后的多行采集速度已接近单行采集(425MB/s)的82.35%,在保持单线程的情况下实现了巨大的性能飞跃。




