他们的任何分析器是否支持Silverlight?我试过ANTS(3.1版)没有成功?版本4是否支持它?我可以尝试其他任何产品吗?
更新 由于Silverlight 4的发布,现在可以做的SL应用全剖析......看看这个文章的话题
在PDC,我宣布Silverlight 4具有新的CoreCLR能力,可以通过VS2010分析器进行配置:这意味着我们第一次有能力分析使用的托管代码和本机代码(用户或平台)通过Silverlight应用程序.哇噢.感谢CLR团队.
旁注:从silverlight 1-3开始,人们只能使用像xperf这样的东西(参见XPerf:Silverlight的CPU采样器),它非常强大,可以看到layout/text/media/gfx/etc管道,但只提供本机callstack. )
任何人都可以推荐具有良好F#支持的性能分析工具吗?
我一直在使用Visual Studio 2010分析器,但在使用F#时我发现了一些问题.感觉更像是我在反射之后分析字节代码而不是原始的F#.
例如,在分析以下略显人为的示例时:
let Add a b =
a + b
let Add1 = Add 1
let rec MultiAdd count =
match count with
| 1 -> 1
| _ -> (Add1 1) + (MultiAdd (count - 1))
MultiAdd 10000 |> ignore
Run Code Online (Sandbox Code Playgroud)
我得到以下调用树:

当我在功能详细信息中查看Microsoft.FSharp.Core.FSharpFunc`2.Invoke(0)时,我看到:

我理解我所看到的是基于已编译代码的底层实现,虽然我可以遵循它,但它很难实现.
有没有人有使用F#的其他分析工具的经验,他们是否能更好地映射到原始的F#代码?
看一下Concurrency Analyzer,Threads看起来我的应用程序产生了比我想象的更多的线程.其中大多数是"CLR工作者线程"或"工作者线程".
有什么区别?在什么情况下每个创建?

我有一个"不必要"多态的代码库,因为几乎每个函数都以某种方式是多态的(为什么不是,什么时候可以?),但最终程序只使用少数具体类型的函数.我已经开始花费一些时间投入SPECIALIZE和INLINABLEpragma试图降低所有这些多态性的性能成本,但是随着我的代码的大小,它非常受欢迎.对于每个函数,有没有办法分析在运行时花费多少时间"完成多态性所需的事情"?
(注意:我已经问过这个问题而不知道这样的事情是否在技术上是可行的,或者"多态性需要的东西"是否足够明确).
我不是很多Java.
我正在编写一些优化的数学代码,我对我的分析器结果感到震惊.我的代码收集值,交错数据,然后根据它选择值.Java运行速度比我的C++和MATLAB实现慢.
我正在使用javac 1.7.0_05
我正在使用Sun/Oracle JDK 1.7.05
存在一个在代码中执行相关任务的floor函数.

我注意到我的floor()函数是用一个叫做的东西来定义的StrictMath.是否有类似-ffast-mathJava的东西?我期待必须有一种方法可以将地板功能更改为更合理的计算方式,而无需编写自己的功能.
public static double floor(double a) {
return StrictMath.floor(a); // default impl. delegates to StrictMath
}
Run Code Online (Sandbox Code Playgroud)编辑
所以有些人建议我尝试演员.我尝试了这个,而且在时间上没有任何变化.
private static int flur(float dF)
{
return (int) dF;
}
Run Code Online (Sandbox Code Playgroud)
413742铸造地板功能
394675 Math.floor
这些测试没有分析器.我们努力使用分析器,但运行时间发生了翻天覆地的变化(15分钟以上,因此我退出了).
Python(Django)中基于Django查询集创建JSON的最快方法是什么.请注意,在此处提议的模板中解析它不是一个选项.
背景是我创建了一个循环遍历树中所有节点的方法,但在转换大约300个节点时已经非常慢.我想到的第一个(也可能是最糟糕的)想法是以某种方式"手动"创建json.请参阅下面的代码.
#! Solution 1 !!#
def quoteStr(input):
return "\"" + smart_str(smart_unicode(input)) + "\""
def createJSONTreeDump(user, node, root=False, lastChild=False):
q = "\""
#open tag for object
json = str("\n" + indent + "{" +
quoteStr("name") + ": " + quoteStr(node.name) + ",\n" +
quoteStr("id") + ": " + quoteStr(node.pk) + ",\n" +
)
childrenTag = "children"
children = node.get_children()
if children.count() > 0 :
#create children array opening tag
json += str(indent + quoteStr(childrenTag) + ": [")
#for …Run Code Online (Sandbox Code Playgroud) 在分析C#应用程序时,我发现在称为"ThePreStub"的系统(?)方法中有相当大的CPU使用率.这是什么?
我正在寻找一种方法来找出我的程序花费时间的地方.我阅读了perf教程并试图描述那里描述的睡眠时间.我写了最简单的程序来分析:
#include <unistd.h>
int main() {
sleep(10);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后我用perf执行它:
$ sudo perf record -e sched:sched_stat_sleep -e sched:sched_switch -e sched:sched_process_exit -g -o ~/perf.data.raw ./a.out
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.013 MB /home/pablo/perf.data.raw (~578 samples) ]
$ sudo perf inject -v -s -i ~/perf.data.raw -o ~/perf.data
build id event received for [kernel.kallsyms]: d62870685909222126e7070d2bafdf029f7ed3b6
failed to write feature 2
$ sudo perf report --stdio --show-total-period -i ~/perf.data …Run Code Online (Sandbox Code Playgroud) 在我的Web应用程序中,servlet甚至在开始编写响应之前需要多秒.我想知道,在servlet执行期间调用哪些方法以及每个方法花费的时间.
是否已在Eclipse IDE for Java EE开发人员的Luna版本中包含了一个分析器?我该如何激活它?
网上有很多信息,但是接缝名称一直在变化,所以我很难过滤相关信息.
profiling ×10
c# ×2
java ×2
performance ×2
c ×1
concurrency ×1
django ×1
eclipse ×1
eclipse-luna ×1
f# ×1
floor ×1
ghc ×1
haskell ×1
json ×1
linux ×1
perf ×1
polymorphism ×1
python ×1
silverlight ×1
tree ×1