这是关于MATLAB如何用非常不同的时间来绘制相同的东西 - 以及为什么.
我在3D空间中生成了10000个点:
X = rand(10000, 1);
Y = rand(10000, 1);
Z = rand(10000, 1);
Run Code Online (Sandbox Code Playgroud)
然后我用四种不同的方法之一来绘制这个,创建一个如下的情节:

我关闭了所有数字并清除了每次运行之间的工作空间,以确保公平.
使用scatter3进行批量绘图:
>> tic; scatter3(X, Y, Z); drawnow; toc
Elapsed time is 0.815450 seconds.
Run Code Online (Sandbox Code Playgroud)
使用scatter3进行单独绘图:
>> tic; hold on;
for i = 1:10000
scatter3(X(i), Y(i), Z(i), 'b');
end
hold off; drawnow; toc
Elapsed time is 51.469547 seconds.
Run Code Online (Sandbox Code Playgroud)
使用plot3批量绘图:
>> tic; plot3(X, Y, Z, 'o'); drawnow; toc
Elapsed time is 0.153480 seconds.
Run Code Online (Sandbox Code Playgroud)
使用plot3进行个人绘图:
>> tic; hold on
for i = 1:10000
plot3(X(i), Y(i), Z(i), …Run Code Online (Sandbox Code Playgroud) 我有一个程序使用SleepWin32 API调用使一个线程等待一段特定的时间.
简而言之,它通过发送预存在内存中的图像来模拟相机.我Sleep用来模拟帧速率 -Sleep(1000 / fps)
这在我的开发系统(Intel i5(第1代),Win7 64)中运行良好,但是当我在另一个系统(Intel i7-2600 - SandyBridge)上运行它时,睡眠时间完全不同且不准确.
例如,
Sleep(16)睡觉时32ms
Sleep(3)睡觉16ms
在过去,我认为在Windows中有最小的睡眠时间,15ms但我没有在我的开发系统上得到这个限制.
有任何想法吗?
另外,有没有更好的方法来实现我的模拟器的帧速率?
这是一个检查Sleep()函数功能的示例pgm.这是一个演示,因为我在我的app开发中使用了这个sleep()和clock()函数.
// TestTicks.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<iomanip>
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
int i, i2;
i = clock();
//std::cout<<" \nTime before Sleep() : "<<i;
Sleep(30000);
i2 = clock();
//std::cout<<" \nTime After Sleep() : "<<i2;
std::cout<<"\n Diff : "<<i2 -i;
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我在睡眠功能之前和之后使用clock()来计算时间.由于iam使用sleep(30000),时间差异至少为30000.
我已多次运行此prgm.打印输出为30000,30001,30002.这些都可以.但有时我得到像29999和29997这样的值.这怎么可能,因为我把30000睡眠时钟().
请告诉我原因.
我有一个与电话程序接口的功能,并呼叫人.我想知道,有一种方法可以用来呼叫人们一段时间吗?
我想运行一个循环:
while(flag = 0){
call(people);
if(<ten minutes have passed>){
flag = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
我正在尝试使用GA用户计时来跟踪我们网站中ajax事件的持续时间.我有一个集中的ajaxCall函数,它封装了jQuery ajax调用方法.这似乎是一个理想的调用时间,因为几乎所有的ajax调用都通过这种方法.
我遇到的问题是GA似乎没有记录定时命中.
这是我用于我的ajaxCall方法的代码:
function ajaxCall(url, data, fnSuccess, dataType, fnFailure)
{
if (!fnFailure)
{
fnFailure = function(jqXhr)
{
var lastDitchHtml = window.getCriticalErrorDialog("An error occurred during the ajax call.");
window.showCeebox(lastDitchHtml, 120, 350);
};
}
var a = $('<a>', { href : url })[0];
var startTime = getTimestampMilliseconds();
$.ajax({
cache : false,
async : false,
url : url,
type : 'POST',
dataType : dataType,
data : data,
success : fnSuccess,
error : fnFailure
});
var endTime = getTimestampMilliseconds();
var duration = endTime …Run Code Online (Sandbox Code Playgroud) 魔术命令%timeit非常适合以交互方式测量代码执行时间.但是,我想得到结果,%timeit以便绘制结果.timeit.timeit允许这样做,但没有迭代次数的自动缩放和结果的规范化%timeit.
是否有一个内置函数可以计算一段代码,它还会自动调整它执行的迭代次数,并返回一个标准化结果?
我终于弄明白这一点,想分享知识并节省一些时间,所以请看下面的答案.但是,我仍然需要Linux的答案,所以如果你知道,请回答,因为我的答案中的代码仅适用于Windows.
更新:我也想到了Linux,包括前Python 3.3(例如:Raspberry Pi),我在下面的答案中发布了我的新模块/代码.
我原来的问题:如何在Python中获得毫秒和微秒分辨率的时间戳?我也喜欢类似Arduino的延迟和delayMicroseconds()函数.
几个月前,这个问题被标记为这个问题的副本.看这里:
它说,"这个问题在这里已有答案." 不幸的是,这不是真的.几年前我在问这个问题之前就读过这些答案了,他们没有回答我的问题,也没有满足我的需要.它们和我的问题一样不适用,因为它是最黑的回答,因为它依赖于time模块,因为它依赖于模块,因为它不具有任何类型的保证分辨率,因此它是不可思议的错误:
请重新打开我的问题.它不是重复的.它没有其他问题的事先答案.链接已经包含答案的问题依赖于time模块,甚至表明它的解决方案已经到处都是.最热门的答案是使用16毫秒的答案引用Windows分辨率,这比我在此提供的答案(0.5 美分分辨率)差32000倍.同样,我需要1 ms和1 us(或类似)分辨率,而不是16000 us分辨率.因此,它不是重复的.
谢谢你的时间.:)
我正在为一部分具有低延迟要求的程序编写一些时序代码.
看看std :: chrono库中可用的内容,我发现编写可移植的定时代码有点困难.
system_clock没用,因为它不稳定,其余两个时钟都有问题.
high_resolution_clock在所有平台上都不一定稳定.
steady_clock不一定支持细粒度分辨率时间段(例如:纳秒)
为了我的目的,有一个稳定的时钟是最重要的要求,我可以通过微秒粒度来解决.
我的问题是,如果有人想要在不同的h/w体系结构和操作系统上运行的时间代码 - 什么是最好的选择?
我认为我的程序正在跳过JSON调用的结果.是否可以在此处创建闭包函数或使程序等待JSON调用返回?
function username_not_duplicate(username) {
var function_name = "get_username";
var parameters = [username];
var url = "/get_functions.php?function_name=" + function_name + "¶meters=" + parameters;
$.getJSON(url, function(user_name) {
if (user_name == true) {
return true;
}
});
return false;
}
Run Code Online (Sandbox Code Playgroud) 我最近开始更详细地探索 Javascript 以及它如何在浏览器中执行。具体来说就是setTimeout函数。
我的理解是调用setTimeout(foo,x)
将传递一个句柄到 foo 以在 x 毫秒后执行。这个时间安排的可靠性如何?显然,如果另一个长时间运行的脚本在 x 毫秒后仍在执行,那么浏览器将无法调用 foo,但我可以绝对确定该脚本setTimeout(foo,101)将始终在 x 毫秒后执行setTimeout(foo,100)吗?
timing ×10
c++ ×3
javascript ×2
python ×2
benchmarking ×1
c++11 ×1
clock ×1
delay ×1
jquery ×1
json ×1
matlab ×1
milliseconds ×1
plot ×1
scatter-plot ×1
settimeout ×1
sleep ×1
timestamp ×1
winapi ×1