最佳实践简介
本文档提供了如表1所示的鲲鹏DevKit命令行工具最佳实践,旨在通过这些最佳实践演示鲲鹏DevKit命令行工具各个子工具的对应功能,指导用户如何使用鲲鹏DevKit命令行工具进行项目分析,并根据该工具自动分析得出的分析报告进行修改。
工具 |
特性 |
实践名称 |
实践简介 |
|---|---|---|---|
迁移工具 |
SmartDenovo是一个同时适用于PacBio和Nanopore测序数据的de novo组装软件,它是一款基于C语言开发的开源软件。 本实践将使用鲲鹏DevKit迁移工具对SmartDenovo源码包进行源码分析,并实现迁移目标。 |
||
Netty是一个基于NIO的客户、服务器端的编程框架。 本实践将使用鲲鹏DevKit迁移工具对Netty软件包进行软件迁移评估,以实现软件迁移前期分析需求。 |
|||
系统性能分析Tuner |
本实践中使用鲲鹏性能定界工具KSYS快速定界问题,初步识别到微架构指标中分支预测失败指标较高存在性能瓶颈。再使用系统性能分析工具Tuner进行微架构分析,发现是条件判断语句CPU预测失败率高的性能问题,结合源码进一步发现是使用条件判断语句前数据未处理导致。通过对数据进行排序,解决源码中的CPU分支预测问题,提高分支预测成功率,提升应用性能。 |
||
本实践中先使用鲲鹏性能定界工具KSYS快速定界问题,初步识别到热点函数系统调用较多存在性能瓶颈。再使用系统性能分析工具Tuner的热点函数分析,通过火焰图分析调用栈发现IO系统调用占比高的问题,结合源码进一步发现是read系统调用开销大导致。通过mmap(Memory Map,内存映射文件)的手段,减少拷贝和系统调用,优化大文件读取逻辑,从而降低IO时延,优化程序性能。 |
|||
本实践中先使用鲲鹏性能定界工具KSYS快速定界问题,初步识别到 |