我想要的是开始在我的代码中的某个地方计算时间,然后获得通过的时间,以测量执行少量功能所花费的时间.我认为我使用的是timeit模块错误,但文档对我来说只是让人困惑.
import timeit
start = timeit.timeit()
print("hello")
end = timeit.timeit()
print(end - start)
Run Code Online (Sandbox Code Playgroud) 我有一个Web服务,它接收JSON格式的数据,处理数据,然后将结果返回给请求者.
我想使用测量请求,响应和总时间cURL
.
我的示例请求如下:
curl -X POST -d @file server:port
Run Code Online (Sandbox Code Playgroud)
我目前使用time
Linux中的命令来测量它:
time curl -X POST -d @file server:port
Run Code Online (Sandbox Code Playgroud)
时间命令只测量总时间 - 这不是我想要的.
有没有办法测量请求和响应时间cURL
?
我有一个观点TableLayout, TableRow and TextView
.我希望它看起来像一个网格.我需要得到这个网格的高度和宽度.这些方法getHeight()
和getWidth()
总是返回0.这发生在我和动态也格式化网格时我使用XML版本.
如何检索视图的尺寸?
这是我在Debug中用来检查结果的测试程序:
import android.app.Activity;
import android.os.Bundle;
import android.widget.TableLayout;
import android.widget.TextView;
public class appwig extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maindemo); //<- includes the grid called "board"
int vh = 0;
int vw = 0;
//Test-1 used the xml layout (which is displayed on the screen):
TableLayout tl = (TableLayout) findViewById(R.id.board);
tl = (TableLayout) findViewById(R.id.board);
vh = tl.getHeight(); //<- getHeight returned 0, Why?
vw = tl.getWidth(); //<- …
Run Code Online (Sandbox Code Playgroud) 所以在Java中,我们可以做如何测量函数执行所花费的时间
但它是如何在python中完成的?要测量代码行之间的时间开始和结束时间?这样做的东西:
import some_time_library
starttime = some_time_library.some_module()
code_tobe_measured()
endtime = some_time_library.some_module()
time_taken = endtime - starttime
Run Code Online (Sandbox Code Playgroud) 我需要计算2个字符串之间的相似度.那究竟是什么意思呢?让我用一个例子来解释一下:
hospital
haspita
现在我的目标是确定修改错误单词以获得真实单词所需的字符数.在这个例子中,我需要修改2个字母.那么百分比是多少?我总是把真正的词长度.因此它变为2/8 = 25%所以这两个给定的字符串DSM是75%.
如何以性能为关键考虑因素来实现这一目标?
在我的应用程序中,我在View的onMeasure()覆盖之一上有一个无限循环.从我的onMeasure中的断点开始调试源代码,我能够一直跟踪堆栈跟踪到PhoneWindow $ DecorView的measure()(我的View Hierarchy中最顶级的类),它由ViewRoot调用.performTraversals().现在,如果我继续踩过来,我最终会通过Looper.loop()类中的消息再次调用PhoneWindow $ DecorView的measure().我猜是有些东西排队了一条需要重新测量的消息,比如无效.
我的问题是,什么触发了一个度量调用需要在View上发生?
根据我对布局/测量/绘制过程的理解,这只会在特定视图上调用invalidate()方法时发生,并且会逐渐减少并执行该视图无效的布局/测量/绘制过程以及所有它的孩子.我会假设我的视图层次结构中的最顶层视图无效.
但是,我已经明确地对每一个无效的调用设置了一个断点,并且没有以某种无限的方式调用invalidate.所以我认为不是这样的.是否有其他方法可以触发测量通过?内部可以触发这个吗?在看到无限无效之后,我有点想法了.
我想测量一段代码的执行情况,我想知道最好的方法是什么?
选项1:
DateTime StartTime = DateTime.Now;
//Code
TimeSpan ts = DateTime.Now.Subtract(StartTime);
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine(elapsedTime, "RunTime");
Run Code Online (Sandbox Code Playgroud)
选项2:使用System.Diagnostics;
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
//Code
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine(elapsedTime, "RunTime");
Run Code Online (Sandbox Code Playgroud)
这不仅仅是基准测试,它实际上是应用程序的一部分.函数执行的时间是相关数据.然而,它不需要是原子的或超精确的.
哪个选项更适合生产代码,还是其他人使用不同的东西,也许更好?
请在F#上发布用于显示时间的代码.我注意到你可以使用#time指令从F#interactive测量它,但我不知道如何从FSI执行程序
谢谢
我必须测量一个View
用于间隔其他的.我用这个代码:
ViewGroup view = ...;
view.setPadding(10, 0, 10, 0);
int wrapContent = RelativeLayout.LayoutParams.WRAP_CONTENT;
int specWidth = MeasureSpec.makeMeasureSpec(wrapContent, MeasureSpec.AT_MOST);
view.measure(specWidth, specWidth);
int questionWidth = view.getMeasuredWidth();
Run Code Online (Sandbox Code Playgroud)
这在Android 4.3仿真器上按预期工作.
然而,在三星Galaxy XCover 2(S7710)Android 4.1.2手机上返回的测量宽度是16777214 ...我尝试了一切,掩盖View.MEASURED_SIZE_MASK
,但没有任何帮助.
你能提供一些帮助吗?提前致谢!
我需要找到任何使用Kinect的人在面对镜头时的胸部前部尺寸.我目前的解决方案是:
当MultiFrameSource到达时获取颜色(以显示ui中的主体)主体(获取关节)和bodyIndex帧.
使用以下方法将BodyIndexFrame复制到byte [] _bodyData:
bodyIndexFrame.CopyFrameDataToArray(_bodyData);
Run Code Online (Sandbox Code Playgroud)我得到了Joint对象:spineShoulder和spineMid.我认为胸部总是在这些点之间.
我通过使用将两个关节转换为CameraSpacePoint(x,y,z)并从CameraSpacePoint转换为DepthSpacePoint(x,y)
_sensor.CoordinateMapper.MapCameraPointToDepthSpace(jointPosition);
Run Code Online (Sandbox Code Playgroud)我仍然保留对spineShoulder的z值的引用.
第二个假设=> 从spineShoulderY开始到spineMidY我试图找到播放器区域中最宽的点.为了做到这一点,我将尝试找到spineShoulderX和找到的第一个不属于玩家的左边区域之间的最长段,以及发现不属于玩家的spineShoulderX和第一个右侧区域之间的最长段.找到的两个x段必须位于相同的y坐标中.
/***************
* Returns the distance between 2 points
*/
private static int getDistanceToMid(int pointX, int midX)
{
if (midX > pointX)
{
return (midX - pointX);
}
else if (pointX > midX)
{
return (pointX - midX);
}
else
{
return 0;
}
}
/*********
* Loops through the bodyData array
* It will look for the longest x distance from midX to the last left …
Run Code Online (Sandbox Code Playgroud)