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

news2024/11/26 2:35:23

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左右

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计Django的网上点餐系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

蓝牙耳机什么牌子音质最好?高音质蓝牙耳机盘点

如今蓝牙耳机是越来越获得大众的喜爱了,越来越多的年轻人都离不开它了,很多人在买耳机的时候会在意蓝牙耳机的音质,毕竟在自己的耳朵里面听到完美的音乐还是很重要的。下面为大家介绍几款音质超赞的无线蓝牙耳机。 1、南卡小音舱 蓝牙版本&…

关于使用图表控件LightningChart的十大常见问题及解答

LightningChart是芬兰的一款高性能图表开发控件,其中的LightningChart .NET支持实时可视化1万亿个数据点,且可以直接用于.NET WinForms、WPD、传统的Win32 C的应用程序中;而LightningChart JS是一款性能极高的JavaScript图表库,专…

如何设计高可用架构

高可用复杂度模型 计算高可用 任务分配 将任务分配给多个服务器执行 复杂度分析 增加“任务分配器”节点,可以是独立的服务器,也可以是SDK任务分配器需要管理所有的服务器,可以通过配置文件,也可以通过配置服务器(例…

2023 年 10 大 Web 开发趋势

公司的在线形象是最重要的。您使用的平台越多,您就会变得越成功!拥有在线形象的困难部分是脱颖而出。如果你没有有趣的东西可以提供,你会迷失在人群中。 除了网站具有的基本功能外,您还需要拥有更多功能才能使您的网站具有可持续…

基于BDD的接口自动化框架开箱即用

1、背景说明 项目思想:BDD 行为驱动开发的思想褒贬不一,这里不多说。遵循的宗旨能解决业务痛点的思想就是好思想。 接口测试工具在实际的业务测试场景中往往会遇到一些使用上的局限性,自定义扩展要求技术较高,如果二次开发工具…

平安康养的生意经:养老的壳,金融的核

图片来源Unsplash 文丨螳螂观察 作者丨陈淼 根据第七次人口普查数据,我国60岁及以上老年人口占总人口的比重为18.7%,人口结构即将进入中度老龄化。而伴随着社会老龄化趋势的加剧,背后的养老市场也在迎来巨大的商业化增长。 现阶段&#x…

下班路上捡了一部手机,我用8年开发知识主动找到了失主

☆ 我们学习开发知识,其实并不是只解决当前用户的需求,实现UI原型的还原,不应该只把自己嵌套在当前的浏览器或者某个docker的环境下。 因为不管你在tomcat或者数据库里折腾得再欢,可能到了生活中发现自己失去了超能力。 ☆ 记得有…

校园论坛(Java)——环境配置篇

校园论坛(Java)——环境配置篇 文章目录校园论坛(Java)——环境配置篇1、写在前面2、新建Maven项目2.1 引入相关依赖2.2 配置Tomcat环境3、项目发布测试4、项目代码5、参考资料1、写在前面 Windows版本:Windows10JDK版…

Vue中数据代理与事件处理

目录 数据代理 Object.defineProperty 常见属性值 get和set函数 理解数据代理 Vue中的数据代理 Vue中的数据代理小结 事件处理 v-bind 事件处理小结 数据代理 Object.defineProperty 常见属性值 <body> <script type"text/javascript"> let per…

你的数据库到底应该如何存储密码?

最近接手公司一个之前的服务&#xff0c;竟然发现用户密码是明文存储在数据库中&#xff01; 说实话还是有点吃惊的&#xff0c;这可不兴学 CSDN 呀&#xff08;手动狗头&#xff09;&#xff0c;至少也得搞个 MD5 存一存吧。 不过 MD5 其实也没啥用&#xff0c;今天我们就来…

阿里P7告诉你,接口测试真的很简单,有手就行

一、什么是接口测试&#xff1f; 所谓接口&#xff0c;是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试&#xff0c;则是通过接口的不同情况下的输入&#xff0c;去对比输出&#xff0c;看看是否满足接口规范所规定的功能、…

使用SQL语句处理csv数据

目录 1. CsvQuery插件安装 2. CsvQuery简单说明 2.1 以表格的形式展示数据 2.2 执行SQL查询语句 2.3 将查询结果保存为新文件 2.4 数据处理 EXCEL打开csv文件日期、文本形式的大数会被自动转换成科学计数&#xff0c;用编辑器打开csv文件可以避免这种情况&#xff0c;但是…

两个对象相等(==、equals、hashCode)详解

目录1. 和 equals2. hashCode1. hash 概述2. hashCode1. 概念2. 获取对象地址3. hashCode 与 equals1. 两者关系2. 重写 equals并 重写 hashCode1. 只重写 equals2. 重写 equals 并重写 hashCode3. 小结1. 和 equals 在 Java 中&#xff0c;判断两个对象是否相等&#xff0c…

CMOS反相器的工作原理和电路结构

CMOS 反相器的电路结构 当输入为高电压的时候&#xff0c;下半部分导通&#xff0c;输出端接地 当输入为低电压的时候&#xff0c;上半部分导通&#xff0c;输出端连接VDD 静态输入特性 从反相器输入端看进去输入电压与电流的关系 因为栅极和衬底之间存在着以二…

子网掩码与VLAN有何区别?

子网掩码与VLAN有何区别?_百度知道 (baidu.com) 可以这么理解&#xff1a;子网掩码是对节省IP地址的资源而设立。而VLAN则是对方便网络管理需要而设立。两者之间似乎有相识之处&#xff0c;但各自的功能是不一样的。 vlan下起子网,子网掩码与vlan有何区别-天道酬勤-花开半夏…

[附源码]Python计算机毕业设计Django的高校课程知识库

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

前后端分离项目的https加密解密过程一、从https说起

前后端分离项目的https加密解密过程一、从https说起 最近在看一个开源的项目&#xff0c;叫MetersPhere&#xff0c;在看的过程中&#xff0c;发现并不了解其中加密解密的过程&#xff0c;打算将整个流程梳理一下。 从https一定是安全的么说起 对称加密和非对称加密 一&…

PC_访存过程@内存地址翻译过程@具有快表TLB和cache的多级存储系统

文章目录PC_访存过程内存地址翻译过程具有快表TLB和cache的多级存储系统具有TLB和Cache的多级存储系统三类缺失的可能情况组合小结cache缺失/内存缺页处理机构带TLB虚拟存储器的cpu访存过程PC_访存过程内存地址翻译过程具有快表TLB和cache的多级存储系统 具有TLB和Cache的多级…

POI的使用

POI简介&#xff08;Apache POI&#xff09;&#xff0c;Apache POI是Apache软件基金会的开放源码函式库&#xff0c;POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 Apache POI官网 HSSF &#xff0d; 提供读写Microsoft Excel格式档案的功能。&#xff08;.…