Skip to content

lmmp_pow_win2_或lmmp_pow_win3_和lmmp_pow_basecase_的性能测试 #49

@HJimmyK

Description

@HJimmyK
Image

纵轴代表计算的底数的limb长度,横轴为计算的指数。蓝色代表basecase,红色为win2方法。事实上这是个三维散点图的俯视图,z轴为时间,意味着,你看到哪种颜色,即该种算法在该数据点上的用时更长。可以发现,在更短的底数长度下,win2方法几乎一直更优秀,对于较长的底数,win2方法在较短的指数下并没有明显优势。这两点都与我们的预期相符。basecase即朴素的快速幂,对于指数恰好有更多1的情况,表现更糟糕一些(这是相对他自身而言)。下面这幅图更能体现两者的差距:

Image

纵轴代表basecase-win2 除以 win2,这表征了,两者的差距相对大小,我们可以明显看出,在大部分数据上,win2的表现都要更好,且,即使差于basecase,也比没有落后太多。

因此,我们可以基本确定两个算法的主要阈值区间了,对于较短的底数,我们可以毫无负担的使用win2算法,对于更长的底数,当指数较大时,我们也将使用win2。进一步性能测试将会继续。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions