一种运算性能测试方法、装置、电子设备及存储介质与流程

    专利2022-07-08  102


    本发明涉及计算机应用技术领域,特别是涉及一种运算性能测试方法、装置、电子设备及存储介质。



    背景技术:

    随着科技的发展,手机、笔记本电脑、平板电脑等电子设备的功能日益强大。目前,各种应用软件的不断涌现,众多的程序、服务都对电子设备的运算性能提出了更高的要求。电子设备的运算性能越强,电子设备运行应用软件的速度就越快。

    目前,为了让用户更好的了解电子设备的运算性能,技术人员开发出了测评软件(也称为“跑分”软件)。这种测评软件在电子设备上运行时,可以通过一定的测试方法对电子设备的运算性能进行测试,并将测试结果告知用户,从而帮助用户了解电子设备的运算性能。

    当前的运算性能测试方法是对电子设备运行应用软件的性能进行测试,输出的是电子设备运行应用软件的性能测试结果。然而,电子设备在实际应用中,还需要对例如皇后问题等特定问题进行求解,当前的运算性能测试方法无法衡量电子设备对特定问题的求解能力。



    技术实现要素:

    本发明实施例的目的在于提供一种运算性能测试方法、装置、电子设备及存储介质,以实现对电子设备在特定问题求解方面的性能测试。具体技术方案如下:

    第一方面,本发明实施例提供了一种运算性能测试方法,该方法包括:

    获取预先设置的虚拟棋盘阶数;

    基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上;

    统计预设时长内得到搜索成功结果的总次数;

    基于总次数,确定运算性能测试结果。

    可选的,获取预先设置的虚拟棋盘阶数的步骤,包括:

    获取处理器性能参数;

    根据处理器性能参数,设置虚拟棋盘阶数。

    可选的,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果的步骤,包括:

    从虚拟棋盘的第一行第一个位置开始搜索;

    若搜索到的当前行中当前位置被占用后处于安全状态,则设置当前位置为已被占用状态,将当前位置加入已占用点集,其中,已占用点集用于记录为已被占用状态的位置;

    若当前行中没有任何一个位置被占用后处于安全状态,则回退至对上一行继续进行搜索,并将上一行中已加入已占用点集的位置从已占用点集中移出,清除该位置的已被占用状态;

    若当前行不是最后一行,则继续对下一行进行搜索;

    若当前行是最后一行,则将当前位置从已占用点集中移出,以回退至对上一行继续进行搜索。

    可选的,在基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果的步骤之前,该方法还包括:

    启动计时器,并将计数器清零;

    清零已占用点集;

    统计预设时长内得到搜索成功结果的总次数的步骤,包括:

    若搜索到最后一行中的当前位置被占用后处于安全状态,则将计数器的数值累加1;

    若计时器的计时时长未达到预设时长,则返回执行清零已占用点集的步骤;

    若计时器的计时时长达到预设时长,则从计数器中读取出预设时长内得到搜索成功结果的总次数。

    可选的,基于总次数,确定运算性能测试结果的步骤,包括:

    根据总次数及预设时长,计算平均完成速度;

    基于平均完成速度,确定运算性能测试结果,其中,运算性能测试结果为测试评分,测试评分与平均完成速度成正比关系。

    可选的,在基于总次数,确定运算性能测试结果的步骤之后,该方法还包括:

    将运算性能测试结果输出至测试界面。

    第二方面,本发明实施例提供了一种运算性能测试装置,该装置包括:

    获取模块,用于获取预先设置的虚拟棋盘阶数;

    运算模块,用于基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上;

    统计模块,用于统计预设时长内得到搜索成功结果的总次数;

    确定模块,用于基于总次数,确定运算性能测试结果。

    可选的,获取模块,具体用于获取处理器性能参数;根据处理器性能参数,设置虚拟棋盘阶数。

    可选的,运算模块,具体用于从虚拟棋盘的第一行第一个位置开始搜索;若搜索到的当前行中当前位置被占用后处于安全状态,则设置当前位置为已被占用状态,将当前位置加入已占用点集,其中,已占用点集用于记录为已被占用状态的位置;若当前行中没有任何一个位置被占用后处于安全状态,则回退至对上一行继续进行搜索,并将上一行中已加入已占用点集的位置从已占用点集中移出,清除该位置的已被占用状态;若当前行不是最后一行,则继续对下一行进行搜索;若当前行是最后一行,则将当前位置从已占用点集中移出,以回退至对上一行继续进行搜索。

    可选的,该装置还包括:

    启动模块,用于启动计时器,并将计数器清零;

    清零模块,用于清零已占用点集;

    统计模块,具体用于若搜索到最后一行中的当前位置被占用后处于安全状态,则将计数器的数值累加1;若计时器的计时时长未达到预设时长,则返回执行清零已占用点集的步骤;若计时器的计时时长达到预设时长,则从计数器中读取出预设时长内得到搜索成功结果的总次数。

    可选的,确定模块,具体用于根据总次数及预设时长,计算平均完成速度;基于平均完成速度,确定运算性能测试结果,其中,运算性能测试结果为测试评分,测试评分与平均完成速度成正比关系。

    可选的,该装置还包括:

    输出模块,用于将运算性能测试结果输出至测试界面。

    第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中,存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的计算机程序时,实现本发明实施例第一方面所提供的方法。

    第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本发明实施例第一方面所提供的方法。

    第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本发明实施例第一方面所提供的方法。

    本发明实施例有益效果:

    本发明实施例提供的方案中,通过获取预先设置的虚拟棋盘阶数,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上,统计预设时长内得到搜索成功结果的总次数,基于总次数,确定运算性能测试结果。通过对虚拟棋盘进行搜索,得到了虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,进而统计出预设时长内能够得到搜索成功结果的总次数,基于总次数,能够测试出电子设备对皇后问题的求解能力,即一段时长内能够得到多少个搜索成功结果,实现了对电子设备在特定问题求解方面的性能测试,尤其是实现了在皇后问题求解上的性能测试。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

    图1为本发明实施例的一种运算性能测试方法的流程示意图;

    图2为本发明实施例的另一种运算性能测试方法的流程示意图;

    图3为本发明实施例的运算性能测试装置的结构示意图;

    图4为本发明实施例的电子设备的结构示意图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    为了实现对电子设备在特定问题求解方面的性能测试,本发明实施例提供了一种运算性能测试方法、装置、电子设备及存储介质。下面,首先对本发明实施例所提供的运算性能测试方法进行介绍。

    本发明实施例所提供的运算性能测试方法的执行主体为:具有数学运算能力的电子设备,例如可以为手机、笔记本电脑、平板电脑、pc(personalcomputer,个人计算机)等。

    如图1所示,本发明实施例所提供的一种运算性能测试方法,可以包括如下步骤。

    s101,获取预先设置的虚拟棋盘阶数。

    s102,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上。

    s103,统计预设时长内得到搜索成功结果的总次数。

    s104,基于总次数,确定运算性能测试结果。

    应用本发明实施例,通过获取预先设置的虚拟棋盘阶数,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上,统计预设时长内得到搜索成功结果的总次数,基于总次数,确定运算性能测试结果。通过对虚拟棋盘进行搜索,得到了虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,进而统计出预设时长内能够得到搜索成功结果的总次数,基于总次数,能够测试出电子设备对皇后问题的求解能力,即一段时长内能够得到多少个搜索成功结果,实现了对电子设备在特定问题求解方面的性能测试,尤其是实现了在皇后问题求解上的性能测试。

    在本发明实施例中,主要是测试电子设备对皇后问题进行求解的性能,皇后问题中比较有名的是八皇后问题,八皇后问题由国际象棋棋手在1848年提出,是在8×8阶的国际象棋棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上。下面,对皇后问题中的几个概念进行介绍。

    安全状态:在放置皇后之后,任意两个皇后都不能处于同一行、同一列或同一斜线上,这时称皇后处于安全状态,否则为危险状态,不能放置。

    放置点集:用于记录所有皇后的放置位置,此位置上的皇后处于安全状态,放置点集可以是一个栈结构。

    放置完成:n阶皇后问题的n个皇后都处于安全状态时,认为皇后们放置完成,称此时的皇后布局为其中一个可行的放置方案。

    综上可知,在解决皇后问题时,首先应当获取预先设置的虚拟棋盘阶数,阶数越高,皇后问题就越复杂,对于电子设备的处理器性能要求就越高。

    在本发明实施例的一种实现方式中,s101具体可以为:获取处理器性能参数;根据处理器性能参数,设置虚拟棋盘阶数。

    在设置虚拟棋盘阶数时,可以根据处理器性能参数进行设置,处理器性能参数是指能够体现处理器处理能力的属性参数,通常包括cpu(centralprocessingunit,中央处理单元)核数和频率,处理器性能参数越大(例如cpu核数越大、频率越大等),说明处理器能够进行数学运算的能力就越强,相应的,处理器性能参数越大,所设置的虚拟棋盘阶数就可以越高,反之亦反。因此,根据处理器性能参数,来设置虚拟棋盘阶数,可以灵活调整虚拟棋盘结构,适当增加或减少复杂度,能够灵活适应不同性能的电子设备。

    在获得虚拟棋盘阶数后,便可基于虚拟棋盘阶数求解皇后问题,具体就是尝试在虚拟棋盘的各位置上尝试放置皇后,或者说对虚拟棋盘进行搜索,搜索出虚拟棋盘上的被占用位置,使得虚拟棋盘上任两个被占用位置不同行、不同列、不在同一斜线上。虚拟棋盘上的一个位置被占用就是指皇后问题中该位置上放置了皇后。对虚拟棋盘进行搜索的过程可以是逐行搜索,也可以是逐列搜索,这里不做限定。

    求解皇后问题可以采用穷举法或者回溯法,穷举法需要尝试nn种情况。每一列放一个皇后,可以放在第1行、第2行,……,直到第n行。穷举的时候从所有皇后都放在第1行的方案开始,检验皇后之间是否会相互攻击。如果会,把列h的皇后挪一格,验证下一个方案。移到底了就“进位”到列g的皇后挪一格,列h的皇后重新试过全部的n行。这种方法是非常低效率的,因为它并不是哪里有冲突就调整哪里,而是盲目地按既定顺序枚举所有的可能方案。为了应对这种低效的求解方法,可以采用回溯法来求解皇后问题。

    具体的,s102具体可以为:从虚拟棋盘的第一行第一个位置开始搜索;若搜索到的当前行中当前位置被占用后处于安全状态,则设置当前位置为已被占用状态,将当前位置加入已占用点集,其中,已占用点集用于记录为已被占用状态的位置;若当前行中没有任何一个位置被占用后处于安全状态,则回退至对上一行继续进行搜索,并将上一行中已加入已占用点集的位置从已占用点集中移出,清除该位置的已被占用状态;若当前行不是最后一行,则继续对下一行进行搜索;若当前行是最后一行,则将当前位置从已占用点集中移出,以回退至对上一行继续进行搜索。

    采用回溯法求解皇后问题的具体过程为:以第一行为当前行;从当前行的第一个位置开始搜索,搜索步骤如下:判断当前位置被占用后是否处于安全状态,若是则设置该位置为已被占用状态,将该位置加入已占用点集(也就是皇后问题中的放置点集);如果当前行中没有任何一个位置被占用后处于安全状态,则会回退至对上一行继续进行搜索,并将上一行中已加入已占用点集的位置从已占用点集中移出,清除该位置的已被占用状态;判断当前行是不是最后一行;如果当前行不是最后一行,则会继续对下一行进行搜索,搜索过程如上述,这里不再赘述;如果当前行是最后一行,则将当前位置从已占用点集中移出,以回退至对上一行继续进行搜索。已占用点集可以采用先进后出的栈结构,因此,在将位置从已占用点集中移出时,可以直接进行弹栈操作即可将该位置从已占用点集中移出。

    在本发明实施例的一种实现方式中,在执行s102之前,该方法还可以执行:启动计时器,并将计数器清零;清零已占用点集。

    相应的,s103具体可以为:若搜索到最后一行中的当前位置被占用后处于安全状态,则将计数器的数值累加1;若计时器的计时时长未达到预设时长,则返回执行清零已占用点集的步骤;若计时器的计时时长达到预设时长,则从计数器中读取出预设时长内得到搜索成功结果的总次数。

    本发明实施例可以采用计时器来记录运算性能测试进行的时长,采用计数器用来记录得到搜索成功结果的次数,在每搜索成功一次后,将计数器记录的数值累加1。并且,每次开始对虚拟棋盘进行搜索之前,需要将已占用点集清零,以保证已占用点集中记录的仅为本次确定的位置。

    如果对虚拟棋盘完成一次遍历后,计时器的计时时长还未达到预设时长,则应继续进行运算,由于虚拟棋盘阶数固定不变,需返回执行清零已占用点集的步骤。如果计时器的计时时长达到了预设时长,则应当停止运算,基于计数器中记录的得到搜索成功结果的总次数,确定出运算性能测试结果。

    电子设备不断地对虚拟棋盘进行搜索,并对得到搜索成功结果的次数进行统计,电子设备的运算性能体现在工作时长(即预设时长)内能够得到搜索成功结果的总次数,工作时长内能够得到搜索成功结果的总次数越多,则说明电子设备的运算性能越好。在本发明实施例中,需要对预设时长内得到搜索成功结果的总次数进行统计,基于统计得到的总次数即可确定出运算性能测试结果,具体的统计过程就是每得到一个搜索成功结果,就将次数加1。所确定出的运算性能测试结果可以是具体的评分分数,也可以是优、良、中、差等表示性能程度的结果,还可以直接将统计得到的总次数作为运算性能测试结果,这里不做具体限定。

    在实际应用中,一般是将运算性能测试结果反馈给用户,为了方便用户更为直观地看出电子设备运算性能的好坏,运算性能测试结果通常设置为测试评分。相应的,s104具体可以为:根据总次数及预设时长,计算平均完成速度;基于平均完成速度,确定运算性能测试结果,其中,运算性能测试结果为测试评分,测试评分与平均完成速度成正比关系。

    平均完成速度是指电子设备在单位时间内能够对虚拟棋盘完成遍历的次数,在开始进行测试时,可以记录下起始时间,在达到预设时长时,可以记录下结束时间,则平均完成速度=总数量/(结束时间-起始时间),或者也可以直接用总次数除以预设时长,得到平均完成速度。测试评分与平均完成速度之间呈正比关系,也就是说,平均完成速度越快,则电子设备的运算性能越好,相应可以分配更高的测试评分。在具体的应用中,测试评分的满分可以设置为10分或者100分,在基于平均完成速度分配测试评分时,可以在0分至满分的区间内进行分配。

    基于图1所示实施例,本发明实施例所提供的另一种运算性能测试方法,如图2所示,可以包括如下步骤。

    s201,获取预先设置的虚拟棋盘阶数。

    s202,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上。

    s203,统计预设时长内得到搜索成功结果的总次数。

    s204,基于总次数,确定运算性能测试结果。

    s205,将运算性能测试结果输出至测试界面。

    在经过如图1所示实施例的方法确定出运行性能测试结果后,可以将得到的运算性能测试结果输出至测试界面,该测试界面为人工交互界面,这样,用户可以从测试界面上直观地看到电子设备进行例如皇后问题的特定问题求解的性能,进一步的,如果电子设备的运算性能测试结果很好,可以选择让该电子设备处理更为复杂的特定问题。

    为了便于理解,下面结合具体施例,对本发明实施例所提供的运算性能测试方法进行介绍。以使用安兔兔测评软件评测pc为例,安兔兔测评软件将求解皇后问题性能测试作为性能评测的一个测试项。

    首先,用户手动打开安兔兔测评软件并点击测试按钮以启动评测。

    其次,运行运算性能测试方法:

    第一步,输入阶数n、超时时间(即预设时长)。

    第二步,启动计时器,记录起始时间,清零计数器c=0。

    第三步,清零放置点集。放置点集保存已经放置皇后的位置,是一个先进后出的栈结构。

    第四步,开始使用回溯法进行搜索。回溯方法如下:

    (1)以第一行为当前行。

    (2)对当前行进行搜索,具体步骤如下。

    (3)判断在当前位置放置皇后(也就是该位置被占用)之后,是否处于安全状态。如果是则执行第(4)步,否则结束本步骤,回退至对上一行继续进行搜索。

    (4)放置皇后(即设置当前位置为已占用状态),将当前位置加入放置点集。

    (5)判断是否所有皇后都放置完成(即每一行中都有一个位置被占用后处于安全状态),如果已经都放置完成则将计数器加1,继续执行第(7)步。如果没有完成则执行第(6)步。

    (6)以下一行为当前行,尝试放置皇后,该步骤为递归操作,将跳转到第(2)步开始执行。

    (7)将最后一行中放置皇后的位置从放置点集中移出(因为放置点集是栈结构,所以只需要弹栈即可)。

    第五步,判断是否达到超时时间,如果未超时,继续执行第三步,如果超时则结束本步骤,记录下结束时间。

    第六步,计算平均完成速度:平均完成速度=总次数/(结束时间-起始时间)。

    第七步,输出运算性能测试结果到测试界面。其中,运算性能测试结果为基于平均完成速度确定出的测试评分。

    最后,查看评测的结果:

    1)处理器性能总分值

    2)处理器常用算法

    3)处理器单核性能

    4)处理器多核性能

    其中,处理器单核性能测试项包含了本发明的运算性能测试方法。

    基于上述方法实施例,本发明实施例提供了一种运算性能测试装置,如图3所示,该装置可以包括:

    获取模块310,用于获取预先设置的虚拟棋盘阶数;

    运算模块320,用于基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上;

    统计模块330,用于统计预设时长内得到搜索成功结果的总次数;

    确定模块340,用于基于总次数,确定运算性能测试结果。

    可选的,获取模块310,具体可以用于获取处理器性能参数;根据处理器性能参数,设置虚拟棋盘阶数。

    可选的,运算模块320,具体可以用于从虚拟棋盘的第一行第一个位置开始搜索;若搜索到的当前行中当前位置被占用后处于安全状态,则设置当前位置为已被占用状态,将当前位置加入已占用点集,其中,已占用点集用于记录为已被占用状态的位置;若当前行中没有任何一个位置被占用后处于安全状态,则回退至对上一行继续进行搜索,并将上一行中已加入已占用点集的位置从已占用点集中移出,清除该位置的已被占用状态;若当前行不是最后一行,则继续对下一行进行搜索;若当前行是最后一行,则将当前位置从已占用点集中移出,以回退至对上一行继续进行搜索。

    可选的,该装置还可以包括:

    启动模块,用于启动计时器,并将计数器清零;

    清零模块,用于清零已占用点集;

    统计模块330,具体可以用于若搜索到最后一行中的当前位置被占用后处于安全状态,则将计数器的数值累加1;若计时器的计时时长未达到预设时长,则返回执行清零已占用点集的步骤;若计时器的计时时长达到预设时长,则从计数器中读取出预设时长内得到搜索成功结果的总次数。

    可选的,确定模块340,具体可以用于根据总次数及预设时长,计算平均完成速度;基于平均完成速度,确定运算性能测试结果,其中,运算性能测试结果为测试评分,测试评分与平均完成速度成正比关系。

    可选的,该装置还可以包括:

    输出模块,用于将运算性能测试结果输出至测试界面。

    应用本发明实施例,通过获取预先设置的虚拟棋盘阶数,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上,统计预设时长内得到搜索成功结果的总次数,基于总次数,确定运算性能测试结果。通过对虚拟棋盘进行搜索,得到了虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,进而统计出预设时长内能够得到搜索成功结果的总次数,基于总次数,能够测试出电子设备对皇后问题的求解能力,即一段时长内能够得到多少个搜索成功结果,实现了对电子设备在特定问题求解方面的性能测试,尤其是实现了在皇后问题求解上的性能测试。

    本发明实施例还提供了一种电子设备,如图4所示,包括处理器401和存储器402,其中,存储器402,用于存放计算机程序;处理器401,用于执行存储器402上所存放的计算机程序时,实现上述运算性能测试方法。

    上述存储器可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离上述处理器的存储装置。

    上述处理器可以是通用处理器,包括cpu、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

    本实施例中,上述处理器通过读取存储器中存储的计算机程序,并通过运行计算机程序,能够实现:通过获取预先设置的虚拟棋盘阶数,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上,统计预设时长内得到搜索成功结果的总次数,基于总次数,确定运算性能测试结果。通过对虚拟棋盘进行搜索,得到了虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,进而统计出预设时长内能够得到搜索成功结果的总次数,基于总次数,能够测试出电子设备对皇后问题的求解能力,即一段时长内能够得到多少个搜索成功结果,实现了对电子设备在特定问题求解方面的性能测试,尤其是实现了在皇后问题求解上的性能测试。

    另外,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述运算性能测试方法。

    本实施例中,计算机可读存储介质存储有在运行时执行本发明实施例所提供的运算性能测试方法的计算机程序,因此能够实现:通过获取预先设置的虚拟棋盘阶数,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上,统计预设时长内得到搜索成功结果的总次数,基于总次数,确定运算性能测试结果。通过对虚拟棋盘进行搜索,得到了虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,进而统计出预设时长内能够得到搜索成功结果的总次数,基于总次数,能够测试出电子设备对皇后问题的求解能力,即一段时长内能够得到多少个搜索成功结果,实现了对电子设备在特定问题求解方面的性能测试,尤其是实现了在皇后问题求解上的性能测试。

    在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述运算性能测试方法。

    在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、dsl(digitalsubscriberline,数字用户线))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如dvd(digitalversatiledisc,数字多功能光盘))、或者半导体介质(例如ssd(solidstatedisk,固态硬盘))等。

    对于运算性能测试装置、电子设备、计算机可读存储介质及计算机程序产品实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

    需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

    本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于运算性能测试装置、电子设备、计算机可读存储介质及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

    以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。


    技术特征:

    1.一种运算性能测试方法,其特征在于,所述方法包括:

    获取预先设置的虚拟棋盘阶数;

    基于所述虚拟棋盘阶数,对虚拟棋盘进行搜索,得到所述虚拟棋盘上符合所述虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,所述安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上;

    统计预设时长内得到搜索成功结果的总次数;

    基于所述总次数,确定运算性能测试结果。

    2.根据权利要求1所述的方法,其特征在于,所述获取预先设置的虚拟棋盘阶数的步骤,包括:

    获取处理器性能参数;

    根据所述处理器性能参数,设置虚拟棋盘阶数。

    3.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟棋盘阶数,对虚拟棋盘进行搜索,得到所述虚拟棋盘上符合所述虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果的步骤,包括:

    从虚拟棋盘的第一行第一个位置开始搜索;

    若搜索到的当前行中当前位置被占用后处于安全状态,则设置所述当前位置为已被占用状态,将所述当前位置加入已占用点集,其中,所述已占用点集用于记录为已被占用状态的位置;

    若所述当前行中没有任何一个位置被占用后处于安全状态,则回退至对上一行继续进行搜索,并将上一行中已加入所述已占用点集的位置从所述已占用点集中移出,清除该位置的已被占用状态;

    若所述当前行不是最后一行,则继续对下一行进行搜索;

    若所述当前行是最后一行,则将所述当前位置从所述已占用点集中移出,以回退至对上一行继续进行搜索。

    4.根据权利要求3所述的方法,其特征在于,在所述基于所述虚拟棋盘阶数,对虚拟棋盘进行搜索,得到所述虚拟棋盘上符合所述虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果的步骤之前,所述方法还包括:

    启动计时器,并将计数器清零;

    清零已占用点集;

    所述统计预设时长内得到搜索成功结果的总次数的步骤,包括:

    若搜索到最后一行中的当前位置被占用后处于安全状态,则将所述计数器的数值累加1;

    若所述计时器的计时时长未达到预设时长,则返回执行所述清零已占用点集的步骤;

    若所述计时器的计时时长达到所述预设时长,则从所述计数器中读取出所述预设时长内得到搜索成功结果的总次数。

    5.根据权利要求1所述的方法,其特征在于,所述基于所述总次数,确定运算性能测试结果的步骤,包括:

    根据所述总次数及所述预设时长,计算平均完成速度;

    基于所述平均完成速度,确定运算性能测试结果,其中,所述运算性能测试结果为测试评分,所述测试评分与所述平均完成速度成正比关系。

    6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述基于所述总次数,确定运算性能测试结果的步骤之后,所述方法还包括:

    将所述运算性能测试结果输出至测试界面。

    7.一种运算性能测试装置,其特征在于,所述装置包括:

    获取模块,用于获取预先设置的虚拟棋盘阶数;

    运算模块,用于基于所述虚拟棋盘阶数,对虚拟棋盘进行搜索,得到所述虚拟棋盘上符合所述虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,其中,所述安全状态是指:任两个被占用位置不同行、不同列、不在同一斜线上;

    统计模块,用于统计预设时长内得到搜索成功结果的总次数;

    确定模块,用于基于所述总次数,确定运算性能测试结果。

    8.根据权利要求7所述的装置,其特征在于,所述获取模块,具体用于获取处理器性能参数;根据所述处理器性能参数,设置虚拟棋盘阶数。

    9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-6中任一项所述的方法。

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。

    技术总结
    本发明实施例提供了一种运算性能测试方法、装置、电子设备及存储介质,通过获取预先设置的虚拟棋盘阶数,基于虚拟棋盘阶数,对虚拟棋盘进行搜索,得到虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,统计预设时长内得到搜索成功结果的总次数,基于总次数,确定运算性能测试结果。通过对虚拟棋盘进行搜索,得到了虚拟棋盘上符合虚拟棋盘阶数的被占用位置处于安全状态的搜索成功结果,进而统计出预设时长内能够得到搜索成功结果的总次数,基于总次数,能够测试出一段时长内能够得到多少个搜索成功结果,实现了对电子设备在特定问题求解方面的性能测试,尤其是实现了在皇后问题求解上的性能测试。

    技术研发人员:闫亚闯
    受保护的技术使用者:北京安兔兔科技有限公司
    技术研发日:2020.12.21
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22650.html

    最新回复(0)