---
title: 性能瓶颈优化
description: "1. 修改源码文件，如图1所示，将修改后的源码文件重命名为hotspot_io_after.cc，并上传到“/home/demo”目录。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/demo/kunpengsptpypractice_hotspot_0003.html
sourcePath: /source/zh/kunpengdevps/profiler/demo/kunpengsptpypractice_hotspot_0003.html
indexId: c971daa5dcd96bb0400a03b80b3fd193c7a82795aac9de174a7bf3baa88674dd76
---
# 性能瓶颈优化

#### 操作步骤

1. 修改源码文件，如图1所示，将修改后的源码文件重命名为hotspot_io_after.cc，并上传到“/home/demo”目录。
  修改后的源码使用mmap的方式进行重构，以减少系统调用次数，从而实现性能优化。 图1 修改后的源码文件

2. 编译源码文件。

```
g++ -g -O2 -std=c++17 /home/demo/hotspot_io_after.cc -o /home/demo/hotspot_io_after
```


3. 切换至鲲鹏性能定界工具安装目录，xxx指版本号，请根据实际情况替换。

```
cd /home/ksys-
x.x.x
-Linux-aarch64
```


4. 采集优化后的应用性能数据。

```
./ksys collect -d 10 /home/demo/hotspot_io_after /home/demo/tmp.txt
```


  图2 热点统计数据

  在热点统计数据部分，发现process_buffer功能函数比例相对提升，从之前的51%提升到72%。与此同时内核态相关的copy_page_mc函数的占比下降。整体内核态的占比从优化前的49%左右下降到28%左右，应用计算性能得到提升。

5. 切换至demo目录，查看优化后应用的运行时间。

  a. 切换至demo目录。

```
cd /home/demo
```


  b. 查看优化后应用的运行时间。

```
time ./hotspot_io_after tmp.txt
```


    执行命令后，发现应用中读取数据时间从4.1秒缩短到2秒，优化后的应用计算性能得到提升。

    图3 运行时间
