Haskell有许多用于调试运行时性能问题的优秀工具,但是对于调试编译时性能问题,存在哪些工具/经验规则?
具体来说,我的一些代码中的约束解决程序花费了很长时间(从1-2秒到几分钟不等)。我很确定这是因为我如何在约束中使用类型家族,但我不知道在这种情况下什么样的东西是昂贵的,也不知道约束解决程序在哪里花费时间。我最好的猜测是,我对类型列表的操作之一是占用二次时间而不是线性时间。
让我们看看为什么我怀疑约束求解器的一个例子。在我的文件中,我有如下代码:
class ExampleClass a where
type ExampleType a
f :: ExampleType a
我有一份数据,它在今年前三个季度每个区域都有销售价值及其总额。
Zone Q1 Q2 Q3 total
a 15.21 53.31 80.1 109.04
b 19.2 52.35 71.5 84.1
c 10.24 28.56 70.41 100.05
d 11.94 38.58 59.72 76.34
e 11.05 37.32 53.34 67.97
我必须找到每个季度的最大销售价值以及区域名称。我使用sapply(df[,c(2:5)],function(X) max(X)
我已经看过了,每个人都给出了不同程度的复杂程度的完全不同的答案。
我想这么做:
var tempFiles=[];
tempFiles[req.query.tenant,file.name]=finalName;
我不确定这是否有效。
当我console.log(tempFiles)的时候
[ 'the value for file.name ': 'the value for final name' ]
req.query.tenant的价值到哪里去了?这是一个合适的二维数组吗?
我有非常好定义的机器学习训练集(只有字符串属性)。
例如:
@relation training_rel
@attribute class {politics,sports}
@attribute text string
@data
politics,'some text about politics over here'
... // a lot of other training instances of class politics
sports,'and now some sports over here'
... // a lot of other