FAST Kit(算法加速服务)以理论计算机为基础、面向开发者提供算法加速能力。当前开放线段表、矩形划分求解器、数字信号处理(DSP)、数理预测与系统性能优化接口,支撑应用的开发体验和用户体验提升。
当前FAST Kit包括以下功能域:
高阶数据结构(Advanced Data Structure)加速功能域旨在融合理论计算机科学中具有理论保证的高级数据结构与现代硬件特性,当前提供线段表数据结构,并发哈希表数据结构。
规划求解(Solver)加速功能域旨在将理论计算机科学与运筹学中的优化求解能力运用到鸿蒙生态中的各类场景,当前提供矩形划分求解器、多项式零点求解器。
数字信号处理(Digital Signal Processing)加速功能域旨在提供高性能的向量运算、FFT变换及二阶IIR滤波器能力,当前提供向量运算,FFT变换,二阶IIR滤波。
容器(Collections)加速功能域旨在提供高性能的容器数据结构,当前提供哈希表数据结构。
算法(Algorithm)加速功能域旨在提供高性能的通用算法,当前提供通用排序算法,支持任意数据类型的完整排序、部分排序以及自然语言字符串排序。
数理预测(Math Prediction)加速功能域旨在提供基于历史采样数据的预测能力,当前提供智能序列预测。
系统性能优化(Scheduling Optimization)加速功能域旨在允许应用程序向系统提供性能场景信息,系统据此在API生效范围内尽可能优化应用性能,以提升用户体验,当前提供系统性能优化接口(ArkTS)和系统性能优化接口(C/C++)。
FAST Kit基于理论计算机科学,通过理论算法优化,为应用的性能、负载与功耗优化提供算法加速能力支持,当前Kit提供“高阶数据结构-线段表”,“规划求解-矩形划分求解器”,“规划求解-多项式零点求解器”,“高阶数据结构-并发哈希表”,“数字信号处理”和“数理预测-智能序列预测”,具体如下:
线段表:是一种用于高效处理区间段信息的数据结构,支持数据序列区间段的快速更新和快速查询。以下是一些典型使用场景:
矩形划分求解器:用于解决矩形划分问题,其接收若干个彼此不相交的矩形作为输入,计算出覆盖相同区域的矩形划分方案,并使输出的矩形数量尽可能少。以下是一些典型使用场景:
多项式零点求解器:用于计算一元多项式的实根。以下是一些典型使用场景:
并发哈希表:是一种专为高并发场景设计的数据结构,支持在多线程环境下安全、高效地进行键值对的插入、删除与查找操作。以下是一些典型使用场景:
数字信号处理:提供高性能的向量运算、FFT计算与二阶IIR滤波器能力,支持单精度和双精度算术运算。以下是一些典型使用场景:
通用和自然语言排序:提供高性能的通用排序算法,支持任意数据类型的完整排序、部分排序以及自然语言字符串排序。以下是一些典型使用场景:
智能序列预测:基于历史采样数据,利用FAST Kit内置算法预测下一个时刻的序列值。以下是一些典型使用场景:
哈希表:是一种高性能的键值对数据结构,支持插入、删除与查找操作,适用单线程场景优化设计。以下是一些典型使用场景:
系统性能优化:允许应用程序向系统提供性能场景信息,系统据此在API生效范围内尽可能优化应用性能,以提升用户体验。以下是一些典型使用场景:
不透明配置(Opaque Configuration):一种ABI稳定的配置抽象机制,库以不完整类型(Incomplete Type)前向声明配置对象,外部代码仅通过指向该对象的指针句柄进行传递与操作,而对象的大小、字段布局及解释规则完全由库内部定义,从而将实现细节与调用者彻底隔离,并保证后续版本可在不破坏二进制兼容性的前提下任意变更存储格式与语义。
| FAST Kit提供的能力 | 支持的设备类型 |
|---|---|
| 线段表数据结构 | Phone、Tablet、PC/2in1 |
| 并发哈希表数据结构 | Phone、Tablet、PC/2in1 |
| 矩形划分求解器 | Phone、Tablet、PC/2in1 |
| 多项式零点求解器 | Phone、Tablet、PC/2in1 |
| 向量运算 | Phone、Tablet、PC/2in1 |
| FFT变换 | Phone、Tablet、PC/2in1 |
| 二阶IIR滤波 | Phone、Tablet、PC/2in1 |
| 哈希表数据结构 | Phone、Tablet、PC/2in1 |
| 通用排序算法 | Phone、Tablet、PC/2in1 |
| 智能序列预测 | Phone、Tablet、PC/2in1 |
| 系统性能优化(ArkTS) | Phone、Tablet、PC/2in1、Wearable、TV |
| 系统性能优化(C/C++) | Phone、Tablet、PC/2in1、Wearable、TV |