我有一个适应度函数,它根据位于4D数组上的数据对int数组上的值进行评分.分析器说这个功能占用了80%的CPU时间(需要数百万次).我似乎无法进一步优化它(如果它甚至可能).这是功能:
unsigned int lookup_array[26][26][26][26]; /* lookup_array is a global variable */
unsigned int get_i_score(unsigned int *input) {
register unsigned int i, score = 0;
for(i = len - 3; i--; )
score += lookup_array[input[i]][input[i + 1]][input[i + 2]][input[i + 3]];
return(score)
}
Run Code Online (Sandbox Code Playgroud)
我试图将阵列扁平化为单一维度,但性能没有改善.这是在IA32 CPU上运行的.任何CPU特定的优化也很有帮助.谢谢
Android开发人员指南中是否有一些内容阻止开发人员提供从应用程序本身 "退出"(停止运行)应用程序的选项?
我喜欢多任务处理但除此之外我不清楚为什么:
这两件事都导致内存使用不断增加,并且您的设备一直在运行时遇到这种性能负担,尽管您可能只希望某些应用程序在某些时间运行.
我错过了什么吗?
如果在Windows系统上安装了程序,我该如何检查Java,例如检查Mozilla Firefox?
假设我有一个函数func(i)为一个整数i创建一个对象,N是一个非负整数.那么创建等于此列表的列表(不是范围)的最快方法是什么
mylist = [func(i) for i in range(N)]
Run Code Online (Sandbox Code Playgroud)
不采用像在C中创建函数的高级方法?我对上面列表理解的主要关注是,我不确定python是否事先知道预分配mylist的范围(N)的长度,因此必须逐步重新分配列表.是这样的情况还是python足够聪明,首先将mylist分配给长度N然后计算它的元素?如果没有,创建mylist的最佳方法是什么?也许这个?
mylist = [None]*N
for i in range(N): mylist[i] = func(i)
Run Code Online (Sandbox Code Playgroud)
重新编辑:从以前的编辑中删除了误导性信息.
我正在创建动态模板化XAML设计,我想从我的C#代码转换为PNG或GIF.
有任何想法吗?
我正在构建一个蜘蛛,它将遍历各个站点并对其进行数据挖掘.
由于我需要单独获取每个页面,这可能需要很长时间(可能是100页).我已经将set_time_limit设置为每页2分钟,但似乎apache会在5分钟后杀死脚本,无论如何.
这通常不是问题,因为这将从cron或类似的东西运行,没有这个时间限制.但是我也希望管理员能够通过HTTP接口手动启动提取.
apache在整个持续时间内保持活动并不重要,我将使用AJAX触发一次获取,并在一段时间内使用AJAX进行检查.
我的问题是如何从PHP脚本中启动提取,而不会在调用它的脚本终止时终止提取.
也许我可以使用system('script.php&'),但我不确定它是否能解决问题.还有其他想法吗?
更新:此问题已过期,但仅供参考.
原始问题
自2002年以来,我一直在使用相同版本的bison ++(1.21-8)和flex ++(2.3.8-7).
我现在不是在寻找LALR(1)或GLR的替代品,只是寻找最新的选择.是否有人知道这些以后的端口比原来的Cygwin不依赖?
在Windows环境中使用C++编译器开发的其他人(除了ANTLR或Boost.spirit)有哪些?如果您有第一手经验,商业选择是可以的.我也需要在Linux上编译.
更新:当我不知道有关工具建议的政策时,问了这个老问题(不确定2010年是否存在政策,但不管......
我更新到Bison 3.0,它具有GLR功能,并已开始尝试.
我最终决定对我的解析器进行任何重写都是递归下降,以改进错误报告并允许在编译器之外的工具中使用,所以现在我将在Bison中完成参考版本.我认为此时转换为不同的PG工具没什么意义.
最近是否更改了HTML版本(例如从ie7到IE8?)我注意到以下更改导致我遇到麻烦 - 我有一个类似于此的代码:
<form method="POST" action="/admin/modify">
<input type="text"/>
<button onclick="dosomething()">Press</button>
</form>
<script type="text/javascript">
function doSomething(){
// doesn't matter what actually
}
</script>
Run Code Online (Sandbox Code Playgroud)
在这段代码中我对我的要求是,通过按下表单内的按钮,我想要的只是执行一些javascript操作,但事实上它也会导致表单被提交,即使我不愿意这样做.
那么 - 这是真的吗?如果是这样,我如何在from中执行一些java脚本actoin但是阻止表单自动提交?
这就是我正在做的事情:
现在,如果我从提取的src文件夹中复制Runtime.java并使用javac.exe进行编译而不进行任何修改,然后将其放入解压缩的rt文件夹中,最后使用jar.exe将所有内容放回到jar文件中,一切都按预期工作.JRE运行良好.
但是,如果我对Runtime.java进行最轻微的更改并将其编译并放入rt.jar,那么只要我尝试启动它,JRE就会崩溃.这是导致无声崩溃的轻微更改的示例:
/** Don't let anyone else instantiate this class */
private Runtime() {
System.out.println("This is a test.");
}
Run Code Online (Sandbox Code Playgroud)
代替:
/** Don't let anyone else instantiate this class */
private Runtime() {}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么这会导致我的JRE崩溃?
提前致谢.
这是我用文本框创建UIAlertView的代码.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Enter A Username Here" message:@"this gets covered!"
delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:@"OK!", nil];
UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12, 45, 260, 25)];
CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0, 60);
[alert setTransform:myTransform];
alert.tag = kAlertSaveScore;
[myTextField setBackgroundColor:[UIColor whiteColor]];
[alert addSubview:myTextField];
[alert show];
[alert release];
[myTextField release];
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何从文本字段中获取值:
- (void) alertView:(UIAlertView *) actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以获得alertview的标准内容,例如actionSheet.tag等,但是我如何获得上面创建的文本字段?