我在Perl中编写了一个文件解析器,因此不得不循环遍历文件.文件由固定长度的记录,我想作出这样的分析给定记录一个单独的函数,并调用该函数在一个循环.但是,对于大文件,最终结果变得缓慢,我的猜测是我不应该使用外部函数.所以我在循环中使用和不使用函数调用进行了一些虚拟测试:
[一个]
foreach (1 .. 10000000) {
$a = &get_string();
}
sub get_string {
return sprintf("%s\n", 'abc');
}
Run Code Online (Sandbox Code Playgroud)
[B]
foreach (1 .. 10000000) {
$a = sprintf "%s\n", 'abc';
}
Run Code Online (Sandbox Code Playgroud)
测量表明,代码运行比我事先知道代码中的本来运行速度变慢代码B.慢约3-4次,但我还是很惊讶,差别那么大.还试图用Python和Java运行类似的测试.在Python代码中的当量为除B慢约20%和Java代码被以相同的速度乳宁或多或少(如预期).将函数从sprintf更改为其他内容并未显示任何显着差异.
有没有办法帮助Perl更快地运行这样的循环?我在这里做了一些完全错误的事情,还是Perl的功能是函数调用是这样的开销?
什么是&函数名前意味着什么?
这是否意味着$result通过引用而不是值返回?如果是,那么它是否正确?我记得你不能返回对局部变量的引用,因为一旦函数退出它就会消失.
function &query($sql) {
// ...
$result = mysql_query($sql);
return $result;
}
Run Code Online (Sandbox Code Playgroud)
此外,在实践中使用这种语法的位置是什么?
我有以下(大大简化)模型,使用will_paginate
class Search < ActiveRecord::Base
attr_reader :articles
def after_initialize
@articles = Article.paginate_by_name name, :page => 1
end
end
Run Code Online (Sandbox Code Playgroud)
我的show动作中的控制器代码是
@search = Search.new(params[:search])
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但是请注意我将页码硬编码为1,问题是将params [:page]值传递给after_initialize方法,有人能建议一个优雅的方法吗?
谢谢
你知道如何在Eclipse中按下F3一个方法会带你到它的声明吗?我有一个方法是接口的一部分; 点击F3这个自然会带我到声明界面.
显然,有一个实现此接口的对象,这是实际实现该方法的地方.我想,当我按下时F3,跳转到实现,而不是接口声明.我知道在编译时可能不知道实现,所以有没有办法让Eclipse向我展示实现接口的所有类,以便我可以选择要查看的实现方法?现在当发生这种情况时,我只是手动搜索这个以找到实现的方法.
如果我使用
DatePart("m",Now())'输出将为7
但我的要求是显示"07"而不是"7"
有没有直接的方法来实现这一点,或者我应该编写自定义代码前缀为"0"零?
要排序的数组大约有一百万个字符串,其中每个字符串的长度最多可达一百万个字符.
我正在寻找GPU的排序算法的任何实现.
我有一个大小约1MB的数据块,我需要构造后缀数组.现在你可以看到如何在真正少量的内存中拥有一百万个字符串.
由于我自己并不是一个很好的想法来自己搜索,我想问你:
是否有一些项目,技术,w/e,使您能够构建一个非常苗条的"浏览器".只是一些CI和一个定制的"起始页".
我正在考虑类似于Webkit引擎(和接口)的Valve/Steam用于它的客户端商店页面.
我应该在什么方向搜索类似的东西?如何开始实现类似的东西?
问题的答案:
我们需要这样做以提供类似"Kiosk"应用程序(用于触摸屏)并可发送给我们的客户.以"全屏"运行浏览器是一种临时解决方案.
从平台开始:Windows现在已经足够了,但Mac/Linux不会受到影响.
到目前为止,棱镜看起来不错,但缺乏"可装运"的部分,例如,我认为无法包装它.
当我查看Opera Dragonfly中的"网络"选项卡时,我没有看到POSTEd参数或RESPONSE内容.这是我看到的:
Raw Response
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
Date: Thu, 15 Jul 2010 12:43:19 GMT
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Content-Type: text/html; charset=utf-8
Content-Length: 22320
Run Code Online (Sandbox Code Playgroud)
在Dragonfly中,有没有办法检查发布到服务器的参数和服务器的实际响应?
我在任何地方都找不到这个问题的答案,但这似乎是一个典型的问题:我在Objective-C中有一个"NSDate时间戳",看起来像"2010-07-14 16:30:41 +0200".java时间戳只是一个长整数(例如:"976712400000").
所以,我的问题是:什么是与Java时间戳等效的Objective-c?
在此先感谢您的帮助.
是否有用于为Python开发桌面数据库应用程序(一些带有CRUD屏幕的屏幕)的框架?我正在寻找类似于Windows Forms的东西,能够将TextField,Combos和其他UI隐喻与连接到关系数据库(如MySQL,SQLServer,Oracle或PostgreSQL)的数据集相关联.谢谢!
asp-classic ×1
browser ×1
database ×1
datetime ×1
desktop ×1
eclipse ×1
formatting ×1
frameworks ×1
function ×1
gpgpu ×1
gpu ×1
interface ×1
iphone ×1
local ×1
model ×1
nsdate ×1
objective-c ×1
opera ×1
performance ×1
perl ×1
php ×1
polymorphism ×1
post ×1
python ×1
ruby ×1
search ×1
sorting ×1
string ×1
timestamp ×1
vbscript ×1