时间:将使用 标准 . 空间:将使用生成基准套件 权衡 . Datasize:将使用 ghc数据大小 (默认情况下禁用)。
Fgl公司 藻类 哈希图
-
RealLife:允许根据“真实生活图”进行基准测试(见下文)。 启用此选项时,编译可能需要一些时间。禁用此标志将删除此构建步骤,并且显然会删除使用此类图进行基准测试的能力。 -
图表:允许生成包含结果的图表。 由于它可能需要下载和构建许多依赖项,因此此选项不适用于Travis实例中的构建。 禁用它将删除 图表 包,以及创建图表的能力。
路径 电路 网格 完成 集团 RealLife(请注意,因为我们有一个有限的集合,所以您不能请求超过4个真实图形)
使用的图形参数 数据 对于标准,它将是计算的时间和标准偏差(按此顺序)。
-f、 --图表文件FILENAME输出文件,无扩展名
类型 边缘 = [( 国际 , 国际 )] 班 图形Impl 克 哪里
mkGraph(mkGraph) :: 边缘 -> 克
mkVertex公司 :: 克
类型 命名 一 = ( 字符串 , 一 )
数据 一套 克 = 对于所有人 我 o个 . NFData公司 o个 => 一套
{ 名称 :: 字符串 , 描述 :: 字符串 , 算法 :: 我 -> 克 -> o个 , 输入 :: 边缘 -> [ 命名 我 ] }
名称 标识 基准函数。 不同库中的相同函数(例如 hasEdge公司 )将得到相同的 名称 以便进行比较。 描述 描述了套件,仅在输出中使用。 算法 是要进行基准测试的实际函数。 它需要一个参数,一个图表,然后产生一些东西。 输入 将接收实际图形,并将用于生成算法的输入。
默认情况下,我们构建一个图,然后使用 DeepSeq(深度序列) 将其强制为标准形式,然后将其传递给基准函数。 然而,随着 -b条 选项,您还将对创建进行基准测试,也就是说,我们将只强制使用通用表示(边列表),然后对图形创建函数和算法进行基准测试。
如果 基准创建 然后 nf(算法参数 . mkGraph) $!! 边缘 其他的 nf(算法参数) $!! mkGraph边