我有一个我正在尝试制作的plot(),但我不希望将x值用作轴标签...我想要一个不同的字符向量,我想用作标签,在标准中方式:使用尽可能多的数量,丢弃其他数据等.我应该通过plot()来实现这一目标?
例如,考虑一下
d <- data.frame(x=1:5,y=10:15,x.names=c('a','b','c','d','e'))
Run Code Online (Sandbox Code Playgroud)
在barplot中,我会通过barplot(height=d$y,names.arg=d$x.names),但在这种情况下,实际的x值很重要.所以我想要一个类似的模拟plot(x=d$x,y=d$y,type='l',names.arg=d$x.names),但这不起作用.
我有一个基本的查询,从6秒到1秒只需将一个连接更改LEFT JOIN为LEFT HASH JOIN"LEFT LOOP JOIN".任何人都可以解释为什么这会导致性能如此大幅度增加以及为什么SQL的优化器不能自己解决它?
这大致是SQL的样子:
SELECT
a.[ID]
FROM
[TableA] a
LEFT HASH JOIN
[TableB] b
ON b.[ID] = a.[TableB_ID]
JOIN
[TableC] c
ON c.[ID] = a.[TableC_ID]
WHERE
a.[SomeDate] IS NULL AND
a.[SomeStatus] IN ('X', 'Y', 'Z') AND
c.[SomethingElse] = 'ABC'
Run Code Online (Sandbox Code Playgroud)
表A和B在所有ID字段上都有数百万条记录和索引.使用SQL Server 2005.
编辑:一位同事提出了LEFT LOOP JOIN,它似乎让它更快...... SQL不是我的优势之一,所以我试图理解这些"暗示"是如何帮助的.
我目前正在开发一个使用a的ASP.NET应用程序,MasterPage我想测量我的应用程序webform的加载时间并将该信息显示给客户端.
我当前的策略涉及使用Application_BeginRequest事件关联回调(在Global.asax我的网站解决方案的文件中),开始测量服务器端进程所花费的时间(如下所示)
protected void Application_BeginRequest(Object sender, EventArgs e) {
Context.Items.Add("Request_Start_Time", DateTime.Now);
}
Run Code Online (Sandbox Code Playgroud)
并计算webform OnPreRender事件关联回调的经过时间,将其打印在占位符元素上(如下所示)
protected override void OnPreRender(EventArgs e) {
base.OnPreRender(e);
TimeSpan tsDuration = DateTime.Now.Subtract((DateTime)Context.Items["Request_Start_Time"]);
ExecutionTime.InnerHtml = "<em>Server-side processing duration: " + tsDuration.TotalMilliseconds + " miliseconds.</em>";
}
Run Code Online (Sandbox Code Playgroud)
这是衡量装载时间的最佳方法吗?是否有更"优雅"的方式来实现这一目标?
提前感谢您的时间和合作.
使用来自维基百科的这个例子,其中DrawSquare()调用DrawLine(),
![]()
(请注意,此图表底部有高地址,顶部有低地址.)
任何人都可以解释我什么ebp,并esp在这方面?
从我看到的,我会说堆栈指针总是指向堆栈的顶部,而指针指向当前函数的开头?或者是什么?
编辑:我的意思是在Windows程序的上下文中
edit2:eip工作怎么样?
edit3:我有来自MSVC++的以下代码:
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
hInstance= dword ptr 8
hPrevInstance= dword ptr 0Ch
lpCmdLine= dword ptr 10h
nShowCmd= dword ptr 14h
Run Code Online (Sandbox Code Playgroud)
所有这些似乎都是dwords,因此每个都占用4个字节.所以我可以看到从hInstance到4个字节的var_4之间存在差距.这些是什么?我认为它是返回地址,可以在维基百科的图片中看到?
(编者注:从迈克尔的答案中删除了长篇引文,该答案不属于该问题,但编辑后续问题):
这是因为函数调用的流程是:
* Push parameters (hInstance, etc.)
* Call function, which pushes return address
* Push ebp
* Allocate space for locals
Run Code Online (Sandbox Code Playgroud)
我的问题(最后,我希望!)现在是,从我想要调用到prolog结尾的函数的参数弹出的瞬间发生了什么?我想知道ebp,esp是如何在那些时刻发展的(我已经理解了prolog是如何工作的,我只是想知道在我将参数推到堆栈之后和prolog之前发生了什么).
我有一个Python项目,其中我使用了许多非代码文件.目前这些都是图像,但我将来可能会使用其他类型的文件.什么是存储和引用这些文件的好方案?
我考虑在主目录中创建一个文件夹"resources",但是有一个问题; 有些图像是从我项目的子包中使用的.以这种方式存储这些图像会导致耦合,这是一个缺点.
另外,我需要一种方法来访问这些文件,这些文件与我当前的目录无关.
给定C++函数f(X x),其中x是类型X的变量,类型Y的变量y,C++编译器将对y执行的所有自动/隐式转换是什么,以便语句"f(y) ;" 是合法代码(没有错误,没有警告)?
例如:
传递派生和功能获取基础& - 确定传递基础&功能派生& - 没有投射传递不能正常功能需要长时间 - 确定,创建一个临时长传递int和函数需要很长时间& - 不行,参考临时
注意内置类型与类相比如何有一些怪癖:一个Derived可以传递给函数接受一个Base(虽然它被切片),并且一个int可以传递给函数花费很长时间,但你不能传递一个int&to一个功能需要很长时间!!
什么是总是"正常"的完整案例列表(不需要使用任何演员来做)?
它是什么:我有一个C++脚本绑定库,它允许您绑定C++代码,它将在运行时基于脚本表达式调用C++函数.由于表达式是在运行时计算的,因此必须提前预期可能需要在表达式中使用的源类型和函数参数类型的所有合法组合,并在库中进行预编译,以便它们在运行时可用.如果我错过了一个合法的组合,一些合理的表达式将不适用于运行时表达式; 如果我意外地生成一个不合法的C++组合,我的库就不会编译.
编辑(缩小问题):
谢谢,你的所有答案实际上都非常有用.我知道答案很复杂,但听起来我只是看到了冰山一角.
让我稍微改一下这个问题然后限制它的范围:我将让用户指定一个"BaseClasses"列表和一个"UserDefinedConversions"列表.对于Bases,我将生成包括引用和指针转换在内的所有内容.但是我可以从UserDefined Conversions列表安全地做什么情况(const/reference/pointer)?(用户将提供裸类型,我将在模板中使用*,&,const等进行装饰.)
我正在学习Python,而我在使用这段简单的代码时遇到了麻烦:
a = raw_input('Enter a number: ')
if a > 0:
print 'Positive'
elif a == 0:
print 'Null'
elif a < 0:
print 'Negative'
Run Code Online (Sandbox Code Playgroud)
它的效果很好,除了它总是打印'正',无论我输入正数还是负数或零.我猜这是一个简单的解决方案,但我找不到它;-)
提前致谢
我正在用C#开发一个服务器.该服务器将充当备份服务的数据服务器:客户端将连续发送数据,大量数据,特别是在同一个tcp通道中发送最多五个文件的数据块.我会慢慢地向服务器发送数据,我不想杀死客户带宽,因此我不需要加速最大数据发送,因此,我可以使用单个tcp通道来处理所有事情.
这样说,实际上服务器使用BeginReceive方法从客户端获取数据,在Windows上,这意味着IOCP.我的问题是:BeginReceive将如何在linux/freebsd trough mono上执行?在Windows上,我已经阅读了很多东西,表现非常好,但是这个软件,服务器部分,将在linux或freebsd上运行单声道,我不知道这些方法是如何实现的!
更多,尝试减少(Begin | End)接收方法的Async State对象的继续分配我保留一个用于tcp连接,在BeginReceive回调中我复制数据然后再使用它(当然我不清除数据)因为我知道通过EndReceive返回值多少读取).缓冲区设置为8kb,所以我最大限度地复制8kb的数据,它不应该杀死resoruces.
我的目标是最多可以达到400/500的连接数.它不是那么多,但同时,服务器(机器)将通过LVM + Linux软件Raid镜像和使用clamav进行防病毒检查,通过自己的文件系统(首先在C#中使用保险丝开发,后来在C中开发)来处理文件软件必须尽可能轻!
编辑:我忘了说机器将(可能)是英特尔酷睿2双核2.66+ GHz(3 MB L2 - FSB 1066 MHz),2 GB内存,SO使用64位.
单声道是使用epoll(libevent)还是kqueue(在freebsd上)?我应该做一些特定的事情来尝试最大化表现?我可以做些什么来不杀死接收数据包的资源吗?
使用lapply和朋友编写的代码通常在眼睛上更容易,而且比循环更容易Rish.我和下一个人一样喜欢lapply,但是当出现问题时如何调试呢?例如:
> ## a list composed of numeric elements
> x <- as.list(-2:2)
> ## turn one of the elements into characters
> x[[2]] <- "what?!?"
>
> ## using sapply
> sapply(x, function(x) 1/x)
Error in 1/x : non-numeric argument to binary operator
Run Code Online (Sandbox Code Playgroud)
我使用了for循环:
> y <- rep(NA, length(x))
> for (i in 1:length(x)) {
+ y[i] <- 1/x[[i]]
+ }
Error in 1/x[[i]] : non-numeric argument to binary operator
Run Code Online (Sandbox Code Playgroud)
但我会知道错误发生在哪里:
> i
[1] 2
Run Code Online (Sandbox Code Playgroud)
使用lapply/sapply时我该怎么办?
有人请回顾一下这段代码并告诉我为什么for循环会变得无限吗?我需要一双新鲜的眼睛.谢谢!
var routeData = [{"id":1,"c1_id":43,"c2_id":56,"cost":20,"c1_x":658,"c1_y":68,"c2_x":568,"c2_y":149,"owned":false},{"id":2,"c1_id":27,"c2_id":56,"cost":25,"c1_x":571,"c1_y":10,"c2_x":568,"c2_y":149,"owned":false},{"id":3,"c1_id":39,"c2_id":56,"cost":20,"c1_x":510,"c1_y":53,"c2_x":568,"c2_y":149,"owned":false},{"id":4,"c1_id":56,"c2_id":8,"cost":18,"c1_x":568,"c1_y":149,"c2_x":495,"c2_y":202,"owned":false},{"id":5,"c1_id":56,"c2_id":49,"cost":14,"c1_x":568,"c1_y":149,"c2_x":605,"c2_y":217,"owned":false},{"id":6,"c1_id":49,"c2_id":4,"cost":14,"c1_x":605,"c1_y":217,"c2_x":572,"c2_y":282,"owned":false},{"id":7,"c1_id":8,"c2_id":10,"cost":11,"c1_x":495,"c1_y":202,"c2_x":448,"c2_y":250,"owned":false},{"id":8,"c1_id":4,"c2_id":48,"cost":10,"c1_x":572,"c1_y":282,"c2_x":504,"c2_y":293,"owned":false},{"id":9,"c1_id":48,"c2_id":10,"cost":12,"c1_x":504,"c1_y":293,"c2_x":448,"c2_y":250,"owned":false},{"id":10,"c1_id":10,"c2_id":31,"cost":17,"c1_x":448,"c1_y":250,"c2_x":450,"c2_y":370,"owned":false},{"id":11,"c1_id":48,"c2_id":33,"cost":16,"c1_x":504,"c1_y":293,"c2_x":530,"c2_y":373,"owned":false},{"id":12,"c1_id":10,"c2_id":35,"cost":14,"c1_x":448,"c1_y":250,"c2_x":372,"c2_y":250,"owned":false},{"id":13,"c1_id":33,"c2_id":47,"cost":17,"c1_x":530,"c1_y":373,"c2_x":479,"c2_y":431,"owned":false},{"id":14,"c1_id":33,"c2_id":31,"cost":15,"c1_x":530,"c1_y":373,"c2_x":450,"c2_y":370,"owned":false},{"id":15,"c1_id":47,"c2_id":57,"cost":9,"c1_x":479,"c1_y":431,"c2_x":479,"c2_y":466,"owned":false},{"id":16,"c1_id":57,"c2_id":60,"cost":12,"c1_x":479,"c1_y":466,"c2_x":484,"c2_y":527,"owned":false},{"id":17,"c1_id":60,"c2_id":17,"cost":12,"c1_x":484,"c1_y":527,"c2_x":521,"c2_y":511,"owned":false},{"id":18,"c1_id":17,"c2_id":58,"cost":13,"c1_x":521,"c1_y":511,"c2_x":598,"c2_y":527,"owned":false},{"id":19,"c1_id":58,"c2_id":36,"cost":10,"c1_x":598,"c1_y":527,"c2_x":650,"c2_y":584,"owned":false},{"id":20,"c1_id":57,"c2_id":7,"cost":16,"c1_x":479,"c1_y":466,"c2_x":430,"c2_y":432,"owned":false},{"id":21,"c1_id":57,"c2_id":54,"cost":14,"c1_x":479,"c1_y":466,"c2_x":430,"c2_y":462,"owned":false},{"id":22,"c1_id":31,"c2_id":59,"cost":16,"c1_x":450,"c1_y":370,"c2_x":350,"c2_y":344,"owned":false},{"id":23,"c1_id":35,"c2_id":59,"cost":14,"c1_x":372,"c1_y":250,"c2_x":350,"c2_y":344,"owned":false},{"id":24,"c1_id":59,"c2_id":29,"cost":19,"c1_x":350,"c1_y":344,"c2_x":260,"c2_y":314,"owned":false},{"id":25,"c1_id":59,"c2_id":12,"cost":12,"c1_x":350,"c1_y":344,"c2_x":299,"c2_y":395,"owned":false},{"id":26,"c1_id":12,"c2_id":2,"cost":6,"c1_x":299,"c1_y":395,"c2_x":290,"c2_y":400,"owned":false},{"id":27,"c1_id":2,"c2_id":22,"cost":10,"c1_x":290,"c1_y":400,"c2_x":255,"c2_y":412,"owned":false},{"id":28,"c1_id":22,"c2_id":29,"cost":16,"c1_x":255,"c1_y":412,"c2_x":260,"c2_y":314,"owned":false},{"id":29,"c1_id":29,"c2_id":14,"cost":14,"c1_x":260,"c1_y":314,"c2_x":232,"c2_y":257,"owned":false},{"id":30,"c1_id":29,"c2_id":9,"cost":10,"c1_x":260,"c1_y":314,"c2_x":209,"c2_y":300,"owned":false},{"id":31,"c1_id":9,"c2_id":32,"cost":8,"c1_x":209,"c1_y":300,"c2_x":192,"c2_y":308,"owned":false},{"id":32,"c1_id":32,"c2_id":16,"cost":12,"c1_x":192,"c1_y":308,"c2_x":170,"c2_y":225,"owned":false},{"id":33,"c1_id":16,"c2_id":15,"cost":10,"c1_x":170,"c1_y":225,"c2_x":195,"c2_y":166,"owned":false},{"id":34,"c1_id":32,"c2_id":37,"cost":11,"c1_x":192,"c1_y":308,"c2_x":155,"c2_y":315,"owned":true},{"id":35,"c1_id":37,"c2_id":19,"cost":9,"c1_x":155,"c1_y":315,"c2_x":101,"c2_y":285,"owned":false},{"id":36,"c1_id":19,"c2_id":1,"cost":12,"c1_x":101,"c1_y":285,"c2_x":70,"c2_y":330,"owned":false},{"id":37,"c1_id":19,"c2_id":5,"cost":12,"c1_x":101,"c1_y":285,"c2_x":131,"c2_y":243,"owned":false},{"id":38,"c1_id":22,"c2_id":41,"cost":12,"c1_x":255,"c1_y":412,"c2_x":304,"c2_y":461,"owned":true},{"id":39,"c1_id":41,"c2_id":18,"cost":12,"c1_x":304,"c1_y":461,"c2_x":350,"c2_y":499,"owned":true},{"id":40,"c1_id":18,"c2_id":45,"cost":8,"c1_x":350,"c1_y":499,"c2_x":370,"c2_y":504,"owned":false},{"id":41,"c1_id":45,"c2_id":54,"cost":13,"c1_x":370,"c1_y":504,"c2_x":430,"c2_y":462,"owned":false},{"id":42,"c1_id":54,"c2_id":34,"cost":14,"c1_x":430,"c1_y":462,"c2_x":400,"c2_y":532,"owned":false},{"id":43,"c1_id":34,"c2_id":51,"cost":19,"c1_x":400,"c1_y":532,"c2_x":408,"c2_y":623,"owned":false},{"id":44,"c1_id":41,"c2_id":26,"cost":16,"c1_x":304,"c1_y":461,"c2_x":300,"c2_y":554,"owned":true},{"id":45,"c1_id":26,"c2_id":55,"cost":11,"c1_x":300,"c1_y":554,"c2_x":270,"c2_y":573,"owned":false},{"id":46,"c1_id":26,"c2_id":40,"cost":12,"c1_x":300,"c1_y":554,"c2_x":350,"c2_y":585,"owned":false},{"id":47,"c1_id":40,"c2_id":51,"cost":13,"c1_x":350,"c1_y":585,"c2_x":408,"c2_y":623,"owned":false},{"id":48,"c1_id":60,"c2_id":53,"cost":17,"c1_x":484,"c1_y":527,"c2_x":470,"c2_y":610,"owned":false},{"id":49,"c1_id":53,"c2_id":51,"cost":11,"c1_x":470,"c1_y":610,"c2_x":408,"c2_y":623,"owned":false},{"id":50,"c1_id":53,"c2_id":42,"cost":13,"c1_x":470,"c1_y":610,"c2_x":540,"c2_y":659,"owned":false},{"id":51,"c1_id":42,"c2_id":6,"cost":10,"c1_x":540,"c1_y":659,"c2_x":510,"c2_y":705,"owned":false},{"id":52,"c1_id":6,"c2_id":53,"cost":16,"c1_x":510,"c1_y":705,"c2_x":470,"c2_y":610,"owned":true},{"id":53,"c1_id":6,"c2_id":13,"cost":13,"c1_x":510,"c1_y":705,"c2_x":433,"c2_y":673,"owned":false},{"id":54,"c1_id":53,"c2_id":13,"cost":15,"c1_x":470,"c1_y":610,"c2_x":433,"c2_y":673,"owned":false},{"id":55,"c1_id":13,"c2_id":51,"cost":15,"c1_x":433,"c1_y":673,"c2_x":408,"c2_y":623,"owned":false},{"id":56,"c1_id":51,"c2_id":25,"cost":16,"c1_x":408,"c1_y":623,"c2_x":338,"c2_y":693,"owned":false},{"id":57,"c1_id":25,"c2_id":28,"cost":11,"c1_x":338,"c1_y":693,"c2_x":298,"c2_y":675,"owned":false},{"id":58,"c1_id":28,"c2_id":50,"cost":8,"c1_x":298,"c1_y":675,"c2_x":282,"c2_y":710,"owned":false},{"id":59,"c1_id":50,"c2_id":23,"cost":12,"c1_x":282,"c1_y":710,"c2_x":210,"c2_y":699,"owned":false},{"id":60,"c1_id":40,"c2_id":52,"cost":11,"c1_x":350,"c1_y":585,"c2_x":314,"c2_y":639,"owned":false},{"id":61,"c1_id":52,"c2_id":28,"cost":10,"c1_x":314,"c1_y":639,"c2_x":298,"c2_y":675,"owned":false},{"id":62,"c1_id":41,"c2_id":11,"cost":12,"c1_x":304,"c1_y":461,"c2_x":232,"c2_y":490,"owned":true},{"id":63,"c1_id":11,"c2_id":21,"cost":9,"c1_x":232,"c1_y":490,"c2_x":230,"c2_y":513,"owned":true},{"id":64,"c1_id":55,"c2_id":21,"cost":15,"c1_x":270,"c1_y":573,"c2_x":230,"c2_y":513,"owned":true},{"id":65,"c1_id":55,"c2_id":46,"cost":9,"c1_x":270,"c1_y":573,"c2_x":240,"c2_y":596,"owned":false},{"id":66,"c1_id":46,"c2_id":24,"cost":19,"c1_x":240,"c1_y":596,"c2_x":170,"c2_y":560,"owned":false},{"id":67,"c1_id":21,"c2_id":3,"cost":11,"c1_x":230,"c1_y":513,"c2_x":150,"c2_y":528,"owned":true},{"id":68,"c1_id":3,"c2_id":24,"cost":13,"c1_x":150,"c1_y":528,"c2_x":170,"c2_y":560,"owned":false},{"id":69,"c1_id":24,"c2_id":20,"cost":12,"c1_x":170,"c1_y":560,"c2_x":112,"c2_y":567,"owned":false},{"id":70,"c1_id":20,"c2_id":38,"cost":12,"c1_x":112,"c1_y":567,"c2_x":38,"c2_y":553,"owned":true},{"id":71,"c1_id":24,"c2_id":44,"cost":22,"c1_x":170,"c1_y":560,"c2_x":61,"c2_y":661,"owned":false},{"id":72,"c1_id":38,"c2_id":44,"cost":16,"c1_x":38,"c1_y":553,"c2_x":61,"c2_y":661,"owned":true},{"id":73,"c1_id":59,"c2_id":30,"cost":16,"c1_x":350,"c1_y":344,"c2_x":340,"c2_y":425,"owned":false},{"id":74,"c1_id":30,"c2_id":41,"cost":12,"c1_x":340,"c1_y":425,"c2_x":304,"c2_y":461,"owned":false},{"id":75,"c1_id":30,"c2_id":18,"cost":12,"c1_x":340,"c1_y":425,"c2_x":350,"c2_y":499,"owned":true}];
var trainData = [{"id":2,"type":"STANDARD","game_player_id":2,"game_id":1,"route_id":18,"origin_city_id":58,"dest_city_id":17,"track_unit":3,"direction":"_","line":"RED","status":"ENROUTE","goods":[{"train_id":2,"goods_id":31,"name":"Furniture"},{"train_id":2,"goods_id":7,"name":"Chocolate"}]},{"id":3,"type":"STANDARD","game_player_id":3,"game_id":1,"route_id":30,"origin_city_id":9,"dest_city_id":29,"track_unit":2,"direction":"_","line":"RED","status":"ENROUTE","goods":[{"train_id":3,"goods_id":19,"name":"Marble"}]},{"id":4,"type":"STANDARD","game_player_id":4,"game_id":1,"route_id":5,"origin_city_id":49,"dest_city_id":56,"track_unit":2,"direction":"_","line":"RED","status":"ENROUTE","goods":[]},{"id":5,"type":"STANDARD","game_player_id":5,"game_id":1,"route_id":1,"origin_city_id":56,"dest_city_id":43,"track_unit":0,"direction":"_","line":"RED","status":"ARRIVED","goods":[]},{"id":15,"type":"STANDARD","game_player_id":1,"game_id":1,"route_id":67,"origin_city_id":21,"dest_city_id":3,"track_unit":8,"direction":"+","line":"RED","status":"ARRIVED","goods":[{"train_id":15,"goods_id":29,"name":"Timber"}]}];
var routeCount = [routeData.length];
var train = [];
var trackColor = "#888";
for(var i = 0; i < routeData.length; i++) {
var trainCount = 0;
train = [];
routeCount[i] = [];
routeCount[i]["route_id"] = routeData[i]["id"];
trackColor = routeData[i]["owned"] ? "#555" : "#888";
for(var j = 0; j < trainData.length; j++) {
if(trainData[j]["route_id"] == i) {
new Dialog().showMessage("test", j+":route match on "+i);
train[trainCount] = trainData[j];
trainCount++;
}
}
if(train[0]) { new Dialog().showMessage("train", i+":train="+train.toSource()); …Run Code Online (Sandbox Code Playgroud) c++ ×2
python ×2
r ×2
asp.net ×1
assembly ×1
c ×1
c# ×1
decoupling ×1
distutils ×1
javascript ×1
join ×1
json ×1
mono ×1
optimization ×1
plot ×1
resources ×1
setuptools ×1
sql ×1
sql-server ×1
x86 ×1