стоимость создания исключений в Scala - PullRequest
0 голосов
/ 08 мая 2018

Дорого ли бросать исключения в Scala?

Более конкретно, при отображении исключений для будущего вызова, таких как:

import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global

val fut: Future[Int] = Future(1)

Есть ли большая разница между x и y с точки зрения производительности?

case class MappedException(message: String) extends Exception(message)

val x = fut.recover {
  case e => throw MappedException(e.getMessage)
}

val y = fut.recoverWith {
  case e => Future.failed(MappedException(e.getMessage))
}

1 Ответ

0 голосов
/ 08 мая 2018

Нет, я не думаю, что будет большая разница.

Вы должны измерить это для себя, хотя: https://github.com/ktoso/sbt-jmh

JMH - это система Java для сборки, запуска и анализа нано / микро / милли / макро тестов, написанных на Java и других языках, предназначенных для JVM.

...