小编Piy*_*ush的帖子

scala中for-comprehension的表现

我有一个关于scala中for-comprehension效率的问题.

当perm是大约550个元素的列表时,以下代码大约需要45秒

perm = some list
for{
   perm <- perms.withFilter(_.size > 0)
   wordList = somefunction(perm) //expensive operation, wordlist is a list of strings
   sentenceList = somefunction1(perm) //very expensive operation, sentenceList is a list of list of strings
   word <- wordList
   sentence <- sentenceList
} yield { word::sentence}
Run Code Online (Sandbox Code Playgroud)

当我将以下代码更改为以下代码时,它使用相同的烫发列表在3秒内运行

perm = some list
for{
   perm <- perms.withFilter(_.size > 0)
   word <- somefunction(perm) //expensive operation
   sentence <- somefunction1(perm) //very expensive operation
} yield { word::sentence}
Run Code Online (Sandbox Code Playgroud)

性能的差异是否与Scala中的延迟评估有关?

performance scala for-comprehension

10
推荐指数
1
解决办法
570
查看次数

刷新twitter finagle库中的DNS缓存

twitter finagle库是否自行进行DNS缓存?我问这个是因为我们删除了vip背后的一些主机,但他们仍然收到了我们客户的请求.

如果有这样的缓存,我该如何为它设置超时?

scala finagle twitter-finagle

2
推荐指数
1
解决办法
1180
查看次数