Devkit开发框架插件工具——Gzip工程创建

Devkit开发框架插件工具——Gzip工程创建

基于鲲鹏亲和开发框架进行原生开发,创建通用计算功能。

二、 操作前提。

1、 在鲲鹏社区申请远程实验室,操作系统选择OpenEuler。

点击链接:鲲鹏社区-官网丨凝心聚力 共创行业新价值,打开对应网页,找到“申请远程实验室”。

 

选择远程服务器,点击立即申请,填写邮箱地址,选择操作系统“OpenEuler 20.03 LTS-SP2”,申请使用额度可以选择1天、3天、7天。勾选“已阅读并同意《隐私政策声明》,已阅读并同意《设备借用协议》”,点击提交申请后,可以在邮箱收到资源链接。

邮件提供了账号等信息,注意要按照邮件指导,在 VPN 端登录,之后才能使用远程实验室。邮件的附件含有VPN的配置文件,安装好VPN软件,通过导入配置文件,实现VPN正常登录。

三、 准备工作

1、 服务器和操作系统正常运行。

验证可以正常访问远程实验室,本项准备工作结束。

2、 VSCode安装编译调试插件。

打开VS Code,左上角找到扩展,在输入框中填入“kunpeng”,看到如下界面:

 

 

选择安装鲲鹏Devkit入口插件。

 

 

选择安装鲲鹏开发框架插件。

 

 

选择安装鲲鹏编译调试插件。

 

 

之后,在扩展功能输入框内再输入“c++”,安装c/c++插件。

 

 

至此,准备工作阶段的任务完成。

四、 创建通用计算工程。

1、工程创建。

首先进入VSCode左下角的设置界面,搜索proxy找到如下界面,在代理支持选项选择“fallback”。

 

 

选择鲲鹏开发框架插件,新建鲲鹏工程,通用计算应用。

 

 

工程名称设置为testGzip,工程位置选择home,点击”Next”按钮进入加速库选择页面。

 

 

勾选”Gzip”加速库,点击“Create Project”按钮创建工程。

 

 

点击“Cancel”按钮,不部署加速库。

 

 

点击“Yes”同意下载加速库。

 

 

2、查看鲲鹏工程。

创建成功后,点击“View Project”按钮查看工程。

 

 

点击“This Window”按钮,本窗口打开工程。

 

 

之后点开工程third-party文件夹中的gzip子文件夹,查看里面的具体内容。

 

 

我们可以看到gzip文件夹中有两个子文件夹,分别是gzip_demo和gzip-1.10.aarch64, gzip_demo中包有一个名为demo_gzip的cpp文件,该demo包含了对gzip库中压缩和解压缩功能的调用。gzip-1.10.aarch64是已经下载并解压好的gzip鲲鹏加速库,该加速库针对鲲鹏处理器的架构特点,对gzip原生库进行了加速优化。接下来我们将利用demo_gzip来对比加速库和原生库在解压2G大小文件时的解压效率。

3、编译并执行鲲鹏工程。

(1)首先,点击vscode上方的Terminal按钮,并选择New Terminal选项。

 

 

选择鲲鹏编译调试插件,进行编译调试。

 

 

添加目标服务器相关参数如下:

 

 

其中密钥的生成命令如下:

代码:ssh-keygen -b 3072 -t rsa -f D:\tmp

点击开始配置。

 

 

选择确认。

 

 

选择跳过引导。

 

 

最上方选择远程服务器。

 

选择同步并编译。

 

(2)登录之后,依次执行如下命令:

用SSH工具MobaXterm登录远程服务器。

根据README.md的提示内容进行相关操作。

 

 

cd到testGzip文件夹下

代码:cd /home/project/testGzip

清除鲲鹏工程目录中src文件夹中的内容

代码:cd src

代码:rm -f *

执行./configure编译gzip

代码:cd /home/project/testGzip/third-party/gzip/

gzip-1.10.aarch64/

代码:bash ./configure

 

 

执行脚本修改构建文件中的内容.

代码:cp /home/project/testGzip/third-party/gzip/

gzip_demo/change_gzip_makefile.sh .

代码:sh change_gzip_makefile.sh

添加执行权限后执行make命令

代码:chmod +x build-aux/*

代码:make

 

 

将以下内容拷贝到源码lib目录下

代码:cp libgzip.so gzip.h version.h lib/config.h ../../../lib

接着拷贝gzip_demo内容到src目录

代码:cd ../../../src

代码:cp ../third-party/gzip/gzip_demo/* .

代码:cd ../build

cmake ../src

 

 

代码:make

 

 

拷贝待测试文件到src目录

代码:cp ../../gzip_test/test.log.2G_1.origin.gz ../bin

代码:cd ../bin

执行鲲鹏工程代码对压缩包进行解压

代码:gzip -d test.log.2G_1.origin.gz

代码:time ../build/demo_gzip test.log.2G_1.origin test_huawei.gz

下面使用原始gzip来对比解压性能

代码:cd ../third-party/gzip

代码:mv ../../../gzip_test/gzip-1.10.tar.gz .

代码:tar -xf gzip-1.10.tar.gz

代码:cd gzip-1.10

代码:bash ./configure

 

 

代码:cp ../../../../gzip_test/change_gzip_makefile.sh .

代码:sh change_gzip_makefile.sh

代码:chmod +x build-aux/*

代码:make

 

 

代码:cp libgzip.so ../../../lib

此处输入y同意覆盖

代码:cd ../../../src

代码:rm -rf *

代码:cp ../third-party/gzip/gzip_demo/* .

代码:cd ../build

代码:rm -rf *

代码:cmake ../src

 

 

代码:make

 

 

代码:cd ../bin

代码:time ../build/demo_gzip test.log.2G_1.origin test_huawei.gz

 

 

 这里通过对比可以清楚看出通过鲲鹏加速库进行压缩时间由原来的37s减少到了20s左右

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

样子的木偶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值