【发布时间】:2017-12-17 21:59:05
【问题描述】:
我是 Scala 和 Spark 的新手,我正在研究一种算法的实现。我想知道使用 scala 模式匹配是否方便以提高代码可读性,或者它是否实际上在执行期间引入了显着开销。我经常必须在地图函数中管理复杂的对象/嵌套元组,所以我问你通常的方法是什么。通常在我的比赛中没有真正的比较,它就像
COLLECTION.map{ case (A, (_,(C,_))) => do something with A and C) }
而不是
COLLECTION.map(pair => do something with pair._1 and pair._2._2._1)
非常感谢。
【问题讨论】:
-
要测试算法的性能,你只需将时间测量放在算法执行周围......或者让不同算法的基准在它们周围使用相同的脚手架,这样开销时间,无论多高,都是恒定的。或者,只需使用相同的算法编写两个变体,测量执行时间,然后自己决定哪个更好。
-
@Dima 我的问题不同,与一般算法测试无关,而是与特定的scala模式匹配有关。考虑到最后一句话让您感到困惑,我将其从问题中删除。
-
在这种情况下,答案是,没有明显的区别。这是一个品味问题。
标签: scala apache-spark pattern-matching