我正在用C#编写一个DSP应用程序(基本上是一个多轨编辑器).我已经在不同的机器上进行了很长一段时间的分析,并且我注意到了一些"好奇"的东西.
在我的家用机器上,回放循环的第一次运行占用了可用时间的大约50%-60%,(我认为这是由于JIT完成其工作),然后对于后续循环,它会下降到稳定的5 % 消费.问题是,如果我在较慢的计算机上运行应用程序,第一次运行占用的时间超过可用时间,导致播放中断并弄乱输出音频,这是不可接受的.之后,它降至8%-10%的消费量.
即使在第一次运行之后,应用程序仍然不时地调用一些耗时的例程(每2秒或多或少),这导致稳定的5%消耗经历非常短的20%-25%的峰值.我注意到,如果我让应用程序运行一段时间,这些峰值也会下降到7%-10%.(我不确定这是否是由于JIT重新编译这些代码部分).
所以,我对JIT有一个严重的问题.虽然应用程序即使在非常慢的机器中也能很好地运行,但这些"编译风暴"将成为一个大问题.我正在试图弄清楚如何解决这个问题,我想出了一个想法,即用一个属性来标记所有"明智的"例程,该属性将告诉应用程序在启动时预先"挤压"它们因此,当他们真正需要时,他们将完全优化.但这只是一个想法(我也不太喜欢它),我想知道是否有更好的解决方案来解决整个问题.
我想听听你们的想法.
(NGEN应用程序不是一个选项,我喜欢并希望我能获得所有JIT优化.)
编辑:
内存消耗和垃圾收集没有问题,我正在使用对象池,播放期间的最大内存峰值为304 Kb.
我正在使用上面的方法,它适用于URL中的一个参数.
例如Students/getstud/1,应用控制器/动作/参数格式的地方.
现在我在Students控制器中有一个动作,它接受两个参数并返回一个JSON对象.
那么如何$.getJSON()使用post方法发布数据?
类似的方法也是可以接受的
关键是用AJAX调用控制器的动作.
我在扩展的 JavaScriptObject 类中有以下本机方法:
public final native boolean getDelete() /*-{ return this.delete; }-*/;
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用,因为“删除”是一个 javascript 运算符。
如何正确读取此属性。
抛出的异常是:
com.google.gwt.dev.js.JsParserException: 后缺少名称。操作员
我非常喜欢数据库设计以及语义管理数据的整个概念以及随之而来的所有逻辑.
然而,我对数据库的知识水平(我猜)非常基础 - 我可以使用ER图,连接表,处理多对多,一对多等来正确建模数据关系.我有经验当谈到编程时,我认为我的数据库知识就像了解面向对象编程的基础知识,即如何建模汽车类,继承车辆类,包含车轮对象等等.
现在我想进一步了解关系数据库,以便我可以自信地向雇主说我可以在专业水平上处理这个问题.
我现在所能处理的可能就是我个人网站后端的电影数据库,如果我是亚马逊并且不得不存储数百万部电影,这可能会崩溃.那么可扩展性的主题是什么?我确信在数据库设计中有一个非常"标准"的主题/概念阵列,如果你打算在专业级别上使用数据库,你必须理解并能够应用于现实生活中.
所以,如果该领域的任何数据库专家可以命名某些领域,概念,案例研究或任何有利于研究以获得真正擅长数据库的东西,我将非常感激.我相信这里潜藏着巨大的科学,我想要它.
提前致谢!
如何判断可执行文件是否为.NET应用程序?
我不想安装Visual Studio.但如果我必须,我会.命令行程序是首选.
请解释一下sql中的元组是什么意思?谢谢..
我想打开许多包含单词exam的pdf文件.我的Mac终端使用Bash.
单词考试随机出现在名称中:有时在初学者,有时在midlle,有时在名称的末尾.
如何在终端中打开包含"考试"一词的文件?
我有一个名为TET.EXE的工具,它是PDFlib系列的产品,用于提取特定文本的坐标.在Perl脚本中使用这些坐标,我们可以提取所需的文本.这是一个手动进程来运行.EXE,然后将协调给Perl,所以任何人都可以建议我让整个过程动手.
我的意思是Perl脚本本身应运行.EXE并获取所需的坐标并提取文本.在linux中使用哪些命令来运行这个perl脚本?请,我需要你的建议如下.
提前致谢.
我正在尝试让这个函数工作,这对请求参数url然后发送callback一个函数的responseText .
它似乎只能到达readyState 1(感谢Firebug命令).
这里是:
function Request(url, callback){
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else{
return false;
}
httpRequest.onreadystatechange = function(){
console.log(httpRequest.readyState);
if (httpRequest.readyState == 4) {
callback(httpRequest.responseText);
}
};
console.log(httpRequest, url);
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
Run Code Online (Sandbox Code Playgroud) .net ×2
ajax ×1
asp.net-mvc ×1
bash ×1
c# ×1
database ×1
definition ×1
drupal ×1
executable ×1
getjson ×1
gwt ×1
http-post ×1
javascript ×1
jit ×1
jquery ×1
optimization ×1
pdf ×1
pdflib ×1
perl ×1
post ×1
rdbms ×1
readystate ×1
sql ×1
storage ×1
terminology ×1
tuples ×1