使用map等结构体降低循环的次数,显著降低进程的CPU占用率,提升系统性能。

        当频繁(50毫秒)遍历260行×10列的内存表时,使用双层for循环去遍历,CPU占用率会达到60%左右;但是改为使用map数据结构,使用单层循环去遍历260行的内容时,CPU占用率会显著降低到5%左右;循环次数由之前的2600降为260。

        如下截图C++代码对比所示,左边为双层for循环260行×10列的遍历(其中的GetColumnInfo函数包含每行中的10列信息的解析遍历),右边为使用map数据结构后的单层260的遍历,将列的内容初始化在map的value结构体里面。

CPU下降显著,如下截图的上半部分为双层循环占用率在60%左右,下班部分为单层循环的CPU占用率,已经下降到5%左右。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐