一种基于硬件的排序算法优化方法及其装置转让专利

申请号 : CN202310570791.0

文献号 : CN116303140B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 伍思宁刘弋波赖鼐龚晖

申请人 : 珠海妙存科技有限公司

摘要 :

本发明公开了一种基于硬件的排序算法优化方法及其装置,所述方法包括以下步骤:获取多个待排序的序列信息;对多个序列信息进行归并排序,将序列信息中已排序的数据依次存入缓存器;把缓存器内的数据按序放回序列信息内,得到序列信息的排序结果。通过调整缓存器的大小,根据实际需求进行时间和空间的交换,有效地减少排序过程中的运算时间,保证排序算法的空间利用率,提高排序算法的灵活性。

权利要求 :

1.一种基于硬件的排序算法优化方法,其特征在于,包括以下步骤:获取多个待排序的序列信息;

对多个所述序列信息进行归并排序,将所述序列信息中已完成排序的数据依次存入缓存器,包括:建立用于储存所述序列信息中已排序的数据的缓存器,其中,所述缓存器的大小根据所述序列信息的大小和所述序列信息的排序时间进行调整;对所述序列信息进行归并排序;将所述序列信息中已排序的数据依次存入所述缓存器;

把所述缓存器内的数据按序放回所述序列信息内,得到所述序列信息的排序结果。

2.根据权利要求1所述的一种基于硬件的排序算法优化方法,其特征在于,所述将所述序列信息中已排序的数据依次存入所述缓存器,包括:在所述缓存器有空余空间的情况下,将所述序列信息中已排序的数据依次存入所述缓存器中;

在所述缓存器已填满的情况下,把所述缓存器内的数据按序放回所述序列信息中。

3.根据权利要求2所述的一种基于硬件的排序算法优化方法,其特征在于,所述把所述缓存器内的数据按序放回所述序列信息中之前,还包括:将所述序列信息中待排序的数据移动到所述序列信息的末端。

4.根据权利要求1所述的一种基于硬件的排序算法优化方法,其特征在于,所述把所述缓存器内的数据按序放回所述序列信息内,得到所述序列信息的排序结果包括:在所述序列信息内已完成排序的数据的后一位为空的情况下,把所述缓存器内的首位数据复制到所述序列信息内已完成排序的数据的后一位上;

将所述缓存器内首位以外的数据依次向前移动一位;

在所述缓存器为空的情况下,把所述序列信息输出为所述排序结果。

5.根据权利要求4所述的一种基于硬件的排序算法优化方法,其特征在于,所述把所述缓存器内的数据按序放回所述序列信息内,还包括:在所述序列信息内已完成排序的数据的后一位不为空的情况下,将该待排序的数据移动到所述序列信息的末端。

6.根据权利要求1所述的一种基于硬件的排序算法优化方法,其特征在于,所述对所述序列信息进行归并排序之前,还包括:对多个待排序的所述序列信息分别进行排序。

7.一种基于硬件的排序算法优化装置,其特征在于,包括:

获取模块,用于获取多个待排序的序列信息;

存入模块,用于对所述序列信息进行归并排序,将所述序列信息中已完成排序的数据依次存入缓存器,包括:建立用于储存所述序列信息中已排序的数据的缓存器,其中,所述缓存器的大小根据所述序列信息的大小和所述序列信息的排序时间进行调整;对所述序列信息进行归并排序;将所述序列信息中已排序的数据依次存入所述缓存器;

排序模块,用于把所述缓存器内的数据按序放回所述序列信息内,得到所述序列信息的排序结果。

8.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1至6任意一项所述的基于硬件的排序算法优化方法。

9.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至6任意一项所述的基于硬件的排序算法优化方法。

说明书 :

一种基于硬件的排序算法优化方法及其装置

技术领域

[0001] 本发明涉及排序算法技术领域,尤其是一种基于硬件的排序算法优化方法及其装置。

背景技术

[0002] 数据处理的过程中会存在大量的映射表,这些映射表大部分存放在闪存里,同时,也有少量的映射表存放在缓存里。在数据处理过程中,每次对映射表做修改,要先把映射表从闪存读到缓存,再对映射表做修改。其中,对映射表的修改并不会立刻生效,而是会先缓存起来,攒够一定量后再一起进行修改。每一次修改对应的那个映射表都可以认为是随机的一个,如果按照这些修改进入缓存的顺序来对映射表进行修改,那么大概率要修改的表不在缓存内,需要从闪存中读取,这样种修改方式的读取性能较差,对缓存的利用率低。因此,需要把对同一个映射表的修改放在一起,这样如果对同一个映射表有多次修改,除了第一次可能要从闪存读到缓存之外,之后的修改都能直接从缓存读取映射表。为了提高缓存的利用率,需要对映射表的修改进行高效、灵活的排序。现有的排序算法只能简单地采用冒泡排序、归并排序等方式,存在灵活性差的问题,无法根据实际需求进行时间和空间的交换。

发明内容

[0003] 为解决上述问题,本发明的目的在于提供一种基于硬件的排序算法优化方法及其装置,通过调整缓存器的大小,根据实际需求进行时间和空间的交换,提高排序算法的灵活性。
[0004] 本发明解决其问题所采用的技术方案是:
[0005] 第一方面,本申请实施例提供一种基于硬件的排序算法优化方法,所述方法包括:获取多个待排序的序列信息;对多个所述序列信息进行归并排序,将所述序列信息中已完成排序的数据依次存入缓存器,包括:建立用于储存所述序列信息中已排序的数据的缓存器,其中,所述缓存器的大小根据所述序列信息的大小和所述序列信息的排序时间进行调整;对所述序列信息进行归并排序;将所述序列信息中已排序的数据依次存入所述缓存器;
把所述缓存器内的数据按序放回所述序列信息内,得到所述序列信息的排序结果。
[0006] 第二方面,本申请实施例提供一种基于硬件的排序算法优化装置,包括:获取模块,用于获取多个待排序的序列信息;存入模块,用于对所述序列信息进行归并排序,将所述序列信息中已完成排序的数据依次存入缓存器,包括:建立用于储存所述序列信息中已排序的数据的缓存器,其中,所述缓存器的大小根据所述序列信息的大小和所述序列信息的排序时间进行调整;对所述序列信息进行归并排序;将所述序列信息中已排序的数据依次存入所述缓存器;排序模块,用于把所述缓存器内的数据按序放回所述序列信息内,得到所述序列信息的排序结果。
[0007] 第三方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的基于硬件的排序算法优化方法。
[0008] 第四方面,本申请实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的基于硬件的排序算法优化方法。
[0009] 本申请实施例,通过获取多个待排序的序列信息;对多个序列信息进行归并排序,将序列信息中已完成排序的数据依次存入缓存器;把缓存器内的数据按序放回序列信息内,得到序列信息的排序结果,通过调整缓存器的大小,根据实际需求进行时间和空间的交换,有效地减少排序过程中的运算时间,保证排序算法的空间利用率,提高排序算法的灵活性。
[0010] 本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0011] 图1为本发明实施例一种基于硬件的排序算法优化方法的流程图;
[0012] 图2为图1中步骤S2000的流程图;
[0013] 图3为图2中步骤S2300的流程图;
[0014] 图4为图3中步骤S2320的流程图;
[0015] 图5为图1中步骤S3000的流程图;
[0016] 图6为现有技术中归并排序算法的示例图;
[0017] 图7为现有技术中二路归并排序算法的示例图;
[0018] 图8为现有技术中原地二路归并排序算法的示例图;
[0019] 图9为本申请实施例一种基于硬件的排序算法优化方法的示例图;
[0020] 图10为图2中排序时间和缓存器的大小之间的关系图;
[0021] 图11为本发明实施例一种高精度混合编码装置的结构图;
[0022] 图12是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0023] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0024] 在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0025] 在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0026] 本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0027] 本发明实施例涉及的基于硬件的排序算法优化方法及其装置,是基于归并排序算法。其中,归并排序是指将两个或两个以上有序的数列(或有序表),合并成一个仍然有序的数列(或有序表)。归并排序的方法经常用于多个有序的数据文件归并成一个有序的数据文件。归并排序算法是创建在归并操作上的一种有效的排序算法,同时,归并排序算法是采用分治法的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。如图6所示,以一组无序数列{84,69,42,44,44,61,2,79,44,81,44,94,91,70,76,59}为例,图6为现有技术中归并排序算法的示例图,首先把一个未排序的序列从中间分割成2部分,再把2部分分成4部分,依次分割下去,直到分割成一个一个的数据,再把这些数据两两归并到一起,使之有序,不停的归并,最后成为一个排好序的序列。由此可见,在无序数列的数据数量为n的情况下,由于归并排序算法每次将序列折半分组,共需要logn轮,因此归并排序的时间复杂度为O(nlogn);归并排序算法排序过程中需要额外的一个序列去存储排序后的结果,所占空间是n,因此归并排序算法的空间复杂度为O(n)。然而,在实际应用中,O(n)的空间复杂度对硬件实现是难以接受的,因为这要求在芯片上额外增加一块与待排序数据大小相同的存储单元,大大地增大了芯片的尺寸,影响了芯片设计的灵活性。
[0028] 具体地,图7为现有技术中二路归并排序算法的示例图。归并排序算法中的O(n)的空间复杂度源于二路归并,二路归并中合并后的序列需要存放在另外一块存储空间里,如图7所示,对于已经完成排序的两个数列{42,44,69,84}和{2,44,61,79},依次对比两个数列的首位数据的大小,并根据对比结果依次把数据存放在右边的存储空间里,其中,存储空间的大小等于数列的数据数量n。由于存储空间的大小与合并后的序列大小一致,因此,二路归并的时间复杂度为O(nlogn),空间复杂度同样为O(n)。
[0029] 另外,现有的归并排序算法中,为了降低空间复杂度,采用原地二路归并的算法进行排序,图8为现有技术中原地二路归并排序算法的示例图。如图8所示,原地二路归并排序算法通过用时间换空间的方式将空间复杂度降低。具体地,把要合并的两个子序列{42,44,69,84}和{2,44,61,79}按前后顺序称为seq0和seq1。如果seq0的第一个数据小于等于seq1的第一个数据,seq0的第一个数据就要放在已合并的序列的首位,这正好是他原来的位置,不需要进行操作。而如果seq0的第一个数据大于seq1的第一个数据,seq1的第一个数据就要放在已合并的序列的首位,这是seq0第一个数据的位置,因此,需要把剩余的seq0整体向后移一个位置,再把seq1的第一个数据填在空出的位置上。因此,这个数据移动的操作使得时间复杂度从O(n)提升到O(n^2),空间复杂度降低为O(1)。如图8所示,原地二路归并排序算法一共需要十七步才能完成排序。这种用时间换空间的方式在实际应用中,存在计算时间过长的问题,且无法通过硬件对排序算法进行优化。
[0030] 基于以上,本发明实施例提供一种基于硬件的排序算法优化方法及其装置,通过调整缓存器的大小,根据实际需求进行时间和空间的交换,有效地减少排序过程中的运算时间,保证排序算法的空间利用率,提高排序算法和芯片设计的灵活性。
[0031] 请参见图1,图1示出了本发明实施例提供的一种基于硬件的排序算法优化方法的流程。如图1所示,本发明实施例的基于硬件的排序算法优化方法包括以下步骤:
[0032] 步骤S1000、获取多个待排序的序列信息。
[0033] 可以理解的是,在数据处理过程中,每次对映射表做修改,要先把映射表从闪存读到缓存,再对映射表做修改。为了避免重复地从闪存中读取映射表,造成缓存资源的浪费,需要对映射表的修改进行统一的规划和排序。在实际应用中,通过对映射表的修改进行高效、灵活的排序,实现对缓存资源的充分利用。可以理解的是,在修改列表中,能根据映射表序号、修改时间、紧急程度等参数赋予映射表的修改参数,以便于对映射表的修改进行排序,即把映射表的修改列表转化成待排序的序列信息。通过排序能保证对同一个映射表的修改放在一起,在对同一个映射表有多次修改的情况下,除了第一次需要从闪存读到缓存之外,之后的修改都能直接从缓存读取映射表,大大提高缓存的资源利用率和节省运算时间。
[0034] 可以理解的是,在获取多个待排序的序列信息后,对多个待排序的序列信息分别进行排序,能有效地进行二路归并,提高排序算法的运算效率。其中,对多个待排序的序列信息分别进行排序,同样可以采用本申请的基于硬件的排序算法优化方法或者其他归并排序算法。
[0035] 步骤S2000、对多个序列信息进行归并排序,将序列信息中已完成排序的数据依次存入缓存器。
[0036] 可以理解的是,归并排序是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的。同样地,本申请的基于硬件的排序算法优化方法需要额外的一个序列去存储排序后的结果,但所占空间是小于序列信息的大小n,即缓存器的空间大小k
[0037] 请参见图2,图2示出了上述步骤S2000的另一实施例的具体实现过程示意图。如图2所示,步骤S2000至少包括以下步骤:
[0038] 步骤S2100、建立用于储存序列信息中已排序的数据的缓存器,其中,缓存器的大小根据序列信息的大小和序列信息的排序时间进行调整。
[0039] 可以理解的是,为了节省运算时间,需要建立用于储存序列信息中已排序的数据的缓存器。现有技术中,用于存储数据的缓存器的大小都是固定不变的,这就无法根据实际的运算时间需求和芯片的尺寸要求,灵活调整缓存器的大小,以使排序算法满足时间复杂度和空间复杂度的要求。
[0040] 可以理解的是,现有的归并排序算法首先是申请缓存器空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;设定两个指针,最初位置分别为两个已经排序序列的起始位置;比较两个指针所指向的元素,选择相对小的元素放入到缓存器,并移动指针到下一位置;重复以上步骤直到某一指针达到序列尾;将另一序列剩下的所有元素直接复制到缓存器的末端。因此,现有的归并排序算法为了保证排序时间,选用的缓存器的大小固定且占用空间较大,无法满足芯片小型化的需求。
[0041] 在实际应用中,对缓存器的大小k的值的选定是在芯片的设计阶段,缓存器越大排序性能越高,但同时需要考虑缓存器变大后需要增加的芯片面积。具体参照图10,图10为上述步骤中排序时间和缓存器的大小之间的关系图。根据实际产品中对排序算法的性能要求,比如对一定量的数据,要求排序在一定时间内完成。根据实际的排序时间要求和序列信息的大小,结合排序时间和缓存器的大小k的变化曲线,确定k的取值。这样就能在实际应用中,达到排序算法同时满足时间复杂度和空间复杂度的效果。
[0042] 步骤S2200、对序列信息进行归并排序。
[0043] 可以理解的是,在获取序列信息后,从序列信息的首位开始,对待排序的序列信息进行归并排序。在实际应用中,归并排序算法在排序过程中,相同元素的前后顺序并没有改变,因此归并排序是一种稳定排序算法,能有效保证对映射表修改过程的一致性。其中,归并排序算法属于现有技术,此处不再赘述。
[0044] 步骤S2300、将序列信息中已排序的数据依次存入缓存器。
[0045] 可以理解的是,与现有的归并排序算法一致,首先将序列信息中已排序的数据依次存入缓存器。由于缓存器的大小k
[0046] 请参见图3,图3示出了上述步骤S2300的另一实施例的具体实现过程示意图。如图3所示,步骤S2300至少包括以下步骤:
[0047] 步骤S2310、在缓存器有空余空间的情况下,将序列信息中已排序的数据依次存入缓存器中。
[0048] 可以理解的是,在缓存器有空余空间的情况下,将序列信息中已排序的数据依次存入缓存器中。请参见图9,图9示出了本申请实施例一种基于硬件的排序算法优化方法的示例图,在前面五个步骤中,在缓存器被填满前,缓存器依次存储序列信息中已排序的数据。
[0049] 步骤S2320、在缓存器已填满的情况下,把缓存器内的数据按序放回序列信息中。
[0050] 可以理解的是,在缓存器已填满的情况下,为了避免发生序列信息中已排序的数据无法存入缓存器的情况,需要把缓存器内的数据放回序列信息中,以腾出空间存储后面已排序的数据。此时,由于序列信息中待排序的数据占据了缓存器内的数据放回序列信息中的空间,需要对序列信息内的数据传送进行优化控制,以保证归并排序算法的稳定性和时效性。
[0051] 请参见图4,图4示出了上述步骤S2320的另一实施例的具体实现过程示意图。如图4所示,步骤S2320至少包括以下步骤:
[0052] 步骤S2321、在缓存器已填满的情况下,将序列信息中待排序的数据移动到序列信息的末端。
[0053] 可以理解的是,在缓存器已填满且待排序的数据占据序列信息的前端的情况下,优先把序列信息中待排序的数据移动到序列信息的末端,以腾出足够的空间存放缓存器内的数据,避免归并排序算法发生无法执行的情况。具体过程能参考图9中第七步和第八步,序列信息中已排序的数据{69,79}依次存入缓存器后,缓存器已填满,需要把序列信息中待排序的数据{84}移动到序列信息的末端。
[0054] 步骤S2322、把缓存器内的数据按序放回序列信息中。
[0055] 可以理解的是,在序列信息内腾出缓存器内的数据所需要的空间后,把缓存器内的数据按序放回序列信息中,以保证缓存器内有足够的空间存储下一步完成排序的数据。
[0056] 步骤S3000、把缓存器内的数据按序放回序列信息内,得到序列信息的排序结果。
[0057] 可以理解的是,在实际应用中,为了保证排序效率,在缓存器没有填满的情况下,能同步把缓存器内的数据按序放回序列信息中,具体过程能参考图9中第三步和第四步,在序列信息中已排序的数据{42,44}依次存入缓存器的同时,把缓存器内的数据{2,42}按序放回序列信息内,以进一步提高排序算法的效率。同样的,为了避免缓存器已填满而无法进行后续的排序操作,提高归并排序算法的运算效率,需要对序列信息与缓存器之间的数据传送进行进一步的优化控制。
[0058] 请参见图5,图5示出了上述步骤S3000的另一实施例的具体实现过程示意图。如图5所示,步骤S3000至少包括以下步骤:
[0059] 步骤S3100、在序列信息内已完成排序的数据的后一位为空的情况下,把缓存器内的首位数据复制到序列信息内已完成排序的数据的后一位上。
[0060] 可以理解的是,为了充分利用缓存器内的空间,提高归并排序算法的运算效率,在序列信息内已完成排序的数据的后一位为空的情况下,把缓存器内的首位数据复制到序列信息内对应的位置上,完成该数据的排序。这样不仅能有效地快速腾出缓存器内的空间,还能提高归并排序算法的排序效率,节省时间资源。具体过程能参考图9中第三步、第四步和第七步,在序列信息内已完成排序的数据的后一位为空的情况下,依次把缓存器内的首位数据{2},{42},{44}复制到序列信息内。
[0061] 步骤S3200、将缓存器内首位以外的数据依次向前移动一位。
[0062] 可以理解的是,在缓存器内的首位数据完成排序后,为了快速腾出缓存器内的存储空间,需要把缓存器内的数据依次向前移动一位。具体过程能参考图9中第四步、第五步和第七步,把缓存器内首位以外的数据{42,44},{44,44},{44,61,69}依次向前移动一位,这样就能快速把缓存器内的末尾空间清空,以便于缓存器存储下一个序列信息内的数据。
[0063] 步骤S3300、在序列信息内已完成排序的数据的后一位不为空的情况下,将该待排序的数据移动到序列信息的末端。
[0064] 可以理解的是,为了避免序列信息内已完成排序的数据的后一位被占用,缓存器内的数据无法按序复制到序列信息内,需要将占据已完成排序的数据的后一位的待排序的数据移动到序列信息的末端。具体过程能参考图9中第四步和第九步,把已完成排序的数据的后一位数据{44}和{84}移动到序列信息的末端。
[0065] 可以理解的是,为了减少数据移动的操作,步骤S3300能在上述步骤S2321之后执行,即在缓存器有空余空间的情况下,步骤S3300可以暂停执行,具体过程能参考图9中第五步和第六步,在缓存器有空余空间的情况下,暂停移动待排序的数据{69}。
[0066] 步骤S3400、在缓存器为空的情况下,把序列信息输出为排序结果。
[0067] 可以理解的是,在缓存器为空的情况下,即序列信息内的待排序的数据已经全部经过缓存器转存后,按序回归到序列信息内,此时,序列信息内的数据即为本次申请基于硬件的排序算法优化方法的排序结果。具体过程能参考图9中第十四步,缓存器为空的情况下,序列信息内{2,42,44,44,61,69,79,84}为排序结果。
[0068] 可以理解的是,如图9所示,在二路归并的过程中,把要移动到序列信息首位的数据暂存到缓存器中,不论是来自seq0的还是来自seq1的。在序列信息首位为空的情况下,从缓存器中把第一个数据移动到序列信息首位。在缓存器被填满的情况下,再把剩余的seq0整体向后移,这样就能空出存放缓存器内数据的空间。这样就能以缓存器中暂存数据的数量来降低复制的频率,使得原地二路归并的时间复杂度从O(n^2)降低为O(n^2/k)。在实际应用中,如图9所示的本申请实施例一种基于硬件的排序算法优化方法的示例图,一共需要十四步就完成排序,优于图8所示原地二路归并排序算法的十七步。
[0069] 参见图11,图11是本申请实施例提供的基于硬件的排序算法优化装置400的结构示意图,本申请实施例提供的基于硬件的排序算法优化方法的整个流程中涉及基于硬件的排序算法优化装置中的以下模块:获取模块410、驱动模块420和上升模块430。
[0070] 其中,获取模块410,用于获取施工环境的位置信息和建筑支撑装置的目标地点和工作高度,其中,建筑支撑装置包括驱动装置、支撑台和用于固定支撑台的固定装置;
[0071] 驱动模块420,用于根据位置信息,驱动装置带动支撑台到达目标地点;
[0072] 上升模块430,用于固定装置把支撑台固定在地面后,支撑台上升到工作高度。
[0073] 需要说明的是,上述装置的模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0074] 图12示出了本申请实施例提供的电子设备500。该电子设备500包括但不限于:
[0075] 存储器501,用于存储程序;
[0076] 处理器502,用于执行存储器501存储的程序,当处理器502执行存储器501存储的程序时,处理器502用于执行上述的基于硬件的排序算法优化方法。
[0077] 处理器502和存储器501可以通过总线或者其他方式连接。
[0078] 存储器501作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请任意实施例描述的基于硬件的排序算法优化方法。处理器502通过运行存储在存储器501中的非暂态软件程序以及指令,从而实现上述的基于硬件的排序算法优化方法。
[0079] 存储器501可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的基于硬件的排序算法优化方法。此外,存储器501可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器501可选包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至该处理器502。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0080] 实现上述的基于硬件的排序算法优化方法所需的非暂态软件程序以及指令存储在存储器501中,当被一个或者多个处理器502执行时,执行本申请任意实施例提供的基于硬件的排序算法优化方法。
[0081] 本申请实施例还提供了一种存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的基于硬件的排序算法优化方法。
[0082] 在一实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器502执行,比如,被上述电子设备500中的一个处理器502执行,可使得上述一个或多个处理器502执行本申请任意实施例提供的基于硬件的排序算法优化方法。
[0083] 以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0084] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。