我试图理解为什么我构建的grep比系统附带的grep慢得多,并试图找到系统附带的grep使用的编译器选项.
操作系统版本:CentOS版本5.3(最终)grep系统:
Version: grep (GNU grep) 2.5.1 Size: 88896 bytes ldd output: libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003991800000) libc.so.6 => /lib64/libc.so.6 (0x0000003985a00000) /lib64/ld-linux-x86-64.so.2 (0x0000003984a00000)
grep由我建造:
Version: 2.5.1 Size: 256437 bytes ldd output: libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003991800000) libc.so.6 => /lib64/libc.so.6 (0x0000003985a00000) /lib64/ld-linux-x86-64.so.2 (0x0000003984a00000)
在大型列表文本文件上运行正则表达式搜索时,系统grep(330 msecs)的性能比我构建的grep(22430 msecs)快得多.
以下是我以前的时间命令..
% time src/grep ".*asa.*" large_list.txt > /dev/null real 0m22.430s user 0m22.291s sys 0m0.080s
要么
% time bin/grep ".*asa.*" large_list.txt > /dev/null real 0m0.331s user 0m0.236s sys 0m0.081s
系统grep显然正在使用一些可提供巨大性能差异的优化选项.
有些人可以帮我解决系统grep可能构建的选项吗?
这是我构建时其中一个源文件的编译选项..
gcc -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl …
我正在尝试使用在该类中void run( string method )运行方法的方法.例如:
class Foo {
public:
void run( string method ) {
// this method calls method *method* from this class
}
void bar() {
printf( "Function bar\n" );
}
void foo2() {
printf( "Function foo2\n" );
}
}
Foo foo;
int main( void ) {
foo.run( "bar" );
foo.run( "foo2" );
}
Run Code Online (Sandbox Code Playgroud)
这将打印:
Function bar
Function foo2
Run Code Online (Sandbox Code Playgroud)
谢谢!:)
我试图了解块大小的影响和选择DCT压缩系数的最佳策略.基本上我想问一下我在这里写的内容:
让我们假设最原始的压缩.制作图像块.在每个博客上执行DCT并清零一些系数.
根据我的理解,块越小越好.较小的块意味着像素更相关,因此DCT光谱中的能量更"紧凑".在快速变化的图像(高频)中应该更加强调.
假设我们将一定百分比的系数归零,那么什么会产生最佳图像质量,小块或大块?假设我们保持10%,25%,50%,75%,你会说这是不同百分比的不同答案吗?
另一个问题是如何选择不受影响的系数.我要说我必须根据地点而不是能源做出决定.你会从左上角拿一个方格吗?我已经在DCT频谱中平均了很多块,并得出结论最好的是从左上角取三角形.你怎么看?
希望我们能够进行有效的讨论.
有一种简单的方法可以在JavaScript中制作游戏循环吗?就像是...
onTimerTick() {
// update game state
}
Run Code Online (Sandbox Code Playgroud) 我正在为我的应用程序添加自定义按钮/键盘.到目前为止,我有一个UIImageView子类,其中包含一个动画,可以从屏幕底部滑动,然后在用户不再需要时向下滑动.但是,我无法将UIButtons添加到此UIImageView中.
由于这是UIView的子类,我试图通过initWithFrame:方法向我的视图添加按钮.(slideDown方法是添加的动画)
在我的UIImageView子类中,我添加了一个UIButton ivar对象:
-(id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame: frame]) {
UIButton *button = [UIButton buttonWithType: UIButtonTypeRoundedRect];
button.frame = CGRectMake(16.0, 20.0, 50.0, 50.0);
[button setTitle: @"Go" forState: UIControlStateNormal];
[button addTarget: self action: @selector(slideDown) forControlEvents: UIControlEventTouchUpInside];
self.button1 = button;
[self addSubview: button1];
NSLog(@"Button added");
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
在我的视图控制器中,我在 - (void)viewDidLoad:方法中实例化我的UIIMageView子类,如下所示:
-(void)viewDidLoad {
//other objects init'ed
ButtonPad *customPad = [[ButtonPad alloc] initWithImage: [UIImage imageNamed: @"ButtonPad.png"]];
customPad.frame = CGRectMake(0.0, 480.0, 320.0, 300.0);
self.buttonPad = customPad;
[self.view addSubview: buttonPad];
[customPad release]; …Run Code Online (Sandbox Code Playgroud) 下面是合同开发人员为我写的一个大规模存储过程,我觉得我正在挑选开发人员,但这很糟糕.您可以看到哪些主要问题?
CREATE PROCEDURE [dbo].[usp_SHS_XXXX]
(
@request_identifier varchar(255),
@category_guids varchar(4000),
@url varchar(500),
@section_id int,
@NoOfDaysToRank int = 45,
@SaleRankWeight decimal(18,2) = 1.0,
@QuantityRankWeight decimal(18,2) = 1.0,
@NewItemWeight decimal(18,2) = 0.2
)
AS
BEGIN
SET NOCOUNT ON
declare @tblCatAttrFilteredPhysicalItems table
(
[request_identifier] [uniqueidentifier] NULL,
[item_guid] [uniqueidentifier] NULL,
[item_cd] [varchar](25) NULL,
[master_guid] [uniqueidentifier] NULL,
[item_type_id] [int] NULL,
[item_description_title] [varchar](100) NULL,
[item_description_short] [varchar](255) NULL,
[item_description] [varchar](3000) NULL,
[item_retail_price] [decimal](18, 2) NULL,
[item_sale_price] [decimal](18, 2) NULL,
[item_backorderable] [int] NULL,
[item_discontinued] [int] NULL,
[item_available] [int] NULL, …Run Code Online (Sandbox Code Playgroud) ai up,看看这个愚蠢的代码.我想传递字符串或数组并返回数据.这段代码确实有效,但很糟糕.您会建议什么作为删除重复并尽可能优化它的最佳方法?谢谢 :)
var getData = function (dataFile) {
var ajaxResponse = [],
loop,
i;
if(dataFile instanceof Array) {
loop = dataFile.length;
for(i = 0; i < loop; i++) {
$.ajax({
url: dataFile[i],
type: "post",
async: false,
dataType: "json",
success: function (data) {
ajaxResponse[i] = data;
}
});
}
}
else {
$.ajax({
url: dataFile,
type: "post",
async: false,
dataType: "json",
success: function (data) {
ajaxResponse = data;
}
});
}
return ajaxResponse;
}
Run Code Online (Sandbox Code Playgroud)
谢谢大家,我要考虑一下.如果我愿意,我可以将所有参数作为数组传递但是这会在其他地方引起我的问题.Basicaly我需要以与它们相同的方式获得返回值,即单个值或数组.要求的数据完全不同.我可以改变它,但不得不调查从长远来看哪种方式会更好.
这只是为了一般知识:
如果我有两个,让我们说,List,我想用相同的foreach循环迭代,我们能做到吗?
编辑
只是为了澄清,我想这样做:
List<String> listA = new List<string> { "string", "string" };
List<String> listB = new List<string> { "string", "string" };
for(int i = 0; i < listA.Count; i++)
listB[i] = listA[i];
Run Code Online (Sandbox Code Playgroud)
但是有一个foreach =)
javascript ×2
c# ×1
c++ ×1
class ×1
cocoa-touch ×1
compression ×1
dct ×1
game-loop ×1
gcc ×1
grep ×1
gwt ×1
iphone ×1
methods ×1
ruby ×1
scala ×1
sorting ×1
sql ×1
uibutton ×1
uiimageview ×1
uiview ×1