在本示例中,使用ArkTS编程语言开发了业界编程语言基准测试项目Benchmarks Game中的N体问题模拟程序,实现类木星体轨道计算。
本示例用到了@ohos.taskpool和@ohos.worker 接口。示例中的程序可以用于AOT(Ahead Of Time)等性能测试。
主页 | 计算中 | 重复点击 | 计算结果 |
---|---|---|---|
使用说明
1.点击按钮Calculate By TaskPool,会从任务池创建一个任务,进行N-Body计算。
2.点击按钮Calculate By Worker,会创建一个Worker,进行N-Body计算。
entry/src/main/ets
|---/entryability
| |---EntryAbility.ts // 封装整个模块启用
|---/model
| |---CalculateUtil.ets // worker和taskpool都在这里调用
| |---NBody_ETS_6.ets // 天体轨道计算
|---/pages
| |---Index.ets // 首页
|---/utils
| |---Constants.ets // 封装只读常量
| |---Logger.ets // 封装整个日志
|---/worker
| |---CalculateWorker.ts // worker线程
AOT(Ahead Of Time),即预先编译,在应用程序运行前,将代码预先编译成高性能机器代码,避免在运行时的编译性能消耗和内存消耗,让程序在首次运行就能通过执行高性能机器码获得性能收益。
使用TaskPool开启子线程运行,计算500万次时间推移天体运行轨道,源码参考CalculateUtil.ets
使用Worker开启子线程运行,计算5000万次时间推计算移天体运行轨道,源码参考CalculateUtil.ets
computeTask()完成具体计算任务,源码参考NBody_ETS_6.ets
不涉及。
不涉及。
1.本示例已适配API version 10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0Release) 。
2.本示例需要使用DevEco Studio 版本号(4.0Release)及以上才可编译运行。
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/Performance/ArkRuntime/NBody/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。