问题标签 [timing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
16046 浏览

python - 动态模块创建

我想从字典中动态创建一个模块,我想知道添加一个元素sys.modules是否真的是最好的方法。例如

我在这方面的直接目标是能够为时序测试执行提供上下文:

似乎还有其他方法可以做到这一点,因为 Timer 构造函数接受对象以及字符串。不过,我仍然有兴趣学习如何做到这一点,因为 a) 它还有其他潜在的应用;b)我不确定如何在 Timer 构造函数中使用对象;在某些情况下,这样做可能被证明不如这种方法合适。

编辑/启示/PHOOEYS/EUREKAE:

  1. 我已经意识到与运行时序测试相关的示例代码实际上不起作用,因为import *仅在模块级别起作用,并且执行该语句的上下文是模块中函数的上下文testit。换句话说,执行该代码时使用的全局字典是 of 的字典__main__,因为那是我在交互式 shell 中编写代码时所在的位置。因此,弄清楚这一点的理由有点拙劣,但这仍然是一个有效的问题。

  2. 我发现在第一组示例中运行的代码具有不良影响,即新创建的模块代码执行的命名空间是声明它的模块的命名空间,而不是 它自己的模块。这很奇怪,可能会导致各种意想不到的响尾蛇粗略。所以我很确定这不是这种事情的本意,如果这实际上是 Guido 所照耀的事情。

  3. 从不在 python 的包含路径中的文件动态加载模块的类似但微妙不同的情况很容易使用imp.load_source('NewModuleName', 'path/to/module/module_to_load.py'). 这确实将模块加载到sys.modules. 但是,这并不能真正回答我的问题,因为实际上,如果您在没有文件系统的嵌入式平台上运行 python怎么办?

我目前正在与一个相当大的信息过载情况作斗争,所以我可能会弄错,但模块中似乎没有任何东西imp能够做到这一点。

但是,从本质上讲,此时的问题是如何为对象设置全局(即模块)上下文。也许我应该更具体地问这个?在更大的范围内,如何让 Python 在将对象硬塞到给定模块中时做到这一点?

0 投票
1 回答
247 浏览

iphone - 可能的 iphone 动画计时/渲染错误?

我已经在 iphone 应用程序上工作了几个星期。现在我遇到了一个我不知道如何解决的动画问题。也许你可以帮忙。这是细节(有点长,请耐心等待):

基本上我想要达到的效果是,当用户点击一个按钮时,会弹出一个加载视图,隐藏整个屏幕;然后应用程序会进行大量繁重的计算,这需要几秒钟。计算完成后,soem 结果视图(类似于棋盘上的棋子)会在加载视图下呈现。渲染完所有结果视图后,我使用动画动画来移除加载视图并将结果视图显示给用户。这是我所做的:

  1. 当用户单击按钮时,运行以下代码:

    [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1.0]; [UIView setAnimationBeginsFromCurrentState:YES]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(loadingViewInserted:finished:context:)]; // 使用一个非常高的索引号,所以它总是在顶部 [self.view insertSubview:loadingViewController.view atIndex:1000];

    /li>
  2. 在“loadingViewInserted”函数中,它调用另一个函数来完成繁重的计算工作。

  3. 计算完成后,许多结果视图(如棋盘上的棋子)会在加载视图下呈现。

    /li>
  4. 添加所有结果视图后,将调用以下动画来删除加载视图:

    /li>

通过这样做,大多数时候(可能 90%)它完全符合我的要求。但是,有时我会看到一些奇怪的结果:加载视图首先按预期显示,然后在它消失之前,一些假设在加载视图下方的结果视图突然出现在加载视图的顶部;其中一些是部分渲染的。然后加载视图卷曲起来,一切看起来又正常了。奇怪的情况只持续了不到一秒钟,但已经糟糕到把 UI 搞砸了。

我尝试了各种不同的方法来解决这个问题(使用另一个线程删除加载视图,使加载视图不透明),但它们都不起作用。唯一稍微好一点的是,我先隐藏所有结果视图;在最后一个动画完成后,在其回调中,取消隐藏所有结果视图。但这失去了当卷曲加载视图时,结果已经存在的好效果。

在这一点上,我真的认为这是iphone(我用OS 3.0编译它)操作系统中的一个错误。或者也许你可以指出我做错了什么(或者可以做不同的事情)。

(感谢您完成这篇长篇文章,:-))

0 投票
5 回答
9855 浏览

php - 如何运行较长的 PHP 脚本并通过 HTTP 不断向浏览器发送更新?

如何运行较长的 PHP 脚本并通过 HTTP 不断向浏览器发送更新?

与输出缓冲有关,但我不知道具体如何。

0 投票
3 回答
1319 浏览

asp.net - ASP.net VB 定时器

我希望能够在 ASP.net (VBscript) 中计算页面加载时间。将 Trace="true" 添加到页面指令很好,但我需要实际为事件计时并将其存储在变量中。

在 ASP 中,使用 Timer 对象很容易,但在 .net 中,我在 Google 上找不到任何东西。

我需要一些类似的东西:

干杯!

0 投票
4 回答
1396 浏览

performance - Web 应用程序的适当页面处理时间是多少?

我正在开发一个 web 应用程序,它已经到了我拥有大部分必要功能的地步,我开始担心执行速度。所以我四处寻找信息,我发现了很多关于通过缩小 CSS/JS、设置缓存控制标头、为静态文件使用单独的域、压缩输出等来减少页面加载时间的方法(以及基本的服务器 - memcached 等辅助技术)。但是假设我已经优化了这一切,我关心的是我的 Web 应用程序实际生成页面需要多长时间,即没有缓存命中的纯服务器端处理时间。显然,减少时间的技巧将取决于我使用的语言和底层库,但合理的目标是多少?为了比较,我

我坚持使用一点代码来测量处理时间(或者至少是我编写的代码中发生的部分时间),我通常看到的值在 50-150ms 范围内,这似乎相当高。我很想知道我应该在多大程度上专注于降低它,或者我对这个应用程序的整个方法是否太慢,我应该放弃它并尝试一些更简单的东西。(基于 Firebug 的 Net 选项卡,考虑到我在同一台计算机上同时使用客户端和服务器进行测试,我未测量的处理部分通常增加不到 5 毫秒。)

仅供参考,我在 Python 中工作,使用 Werkzeug 和 SQLAlchemy/Elixir。我知道那些不是最有效的技术,但我真的只关心足够快,而不是尽可能快。

编辑:澄清一下,我上面引用的 50-150 毫秒是纯服务器端处理时间,用于 HTML 页面本身。正如用户所见,页面加载所需的实际时间至少高出200 毫秒(因此,总共 250-350 毫秒),因为 CSS/JS/图像的访问时间(尽管我知道可以通过正确使用缓存和Expires标头、精灵等,这是我将在不久的将来做的事情)。除此之外,网络延迟会增加更多时间,因此我们可能会谈论 500 毫秒的总客户端加载时间。

更好的是,这里是 Firebug 的 Net 选项卡中的一个典型示例的屏幕截图: 从 Firebug 加载时间 我要询问的是顶部的 74 毫秒。

0 投票
3 回答
231 浏览

python - python中的计时功能没有给出准确的结果

我已经开发了一个签密方案,我想测试模幂运算所花费的时间。我正在使用以下代码进行签密部分

对于 unsigncryption 部分,我正在计算这行代码所花费的时间

问题是使用相同的值,我从两个计时函数得到的结果是不同的。

这些值应该相同,因为在两端应用相同的函数并具有相同的参数。另一件重要的事情是,在 unsigncryption 部分,增加了一个步骤,但所花费的时间仍然少于 signcryption 部分。我不明白出了什么问题我已经测试了近 35 次,结果大部分时间都不同:(

请指教我哪里出错了?

0 投票
1 回答
1789 浏览

tcp - 在通过套接字发送消息之前延迟 - 这有什么帮助?

我有一个第三方软件应用程序的 tcpip 套接字接口。我已经为几个客户站点实现了这个接口,没有问题。最新的客户,虽然......问题。我们已经打开了两端应用程序的日志记录,并且还在 PC 上安装了 Wireshark 以记录原始 tcpip 流量。这样,我们已经证明我的服务器应用程序成功发送了消息,PC 收到了消息,但客户端应用程序看不到它。(这是一个完全间歇性的问题,这就是为什么要进行故障排除如此痛苦的原因。)

套接字细节非常简单:一个套接字处理服务器和 PC 之间的两种方式的通信。消息是纯 ascii 文本且相当短(不是 XML)。服务器通过发送第一条消息来启动通信,然后客户端用几条消息进行响应。在应用程序运行时,套接字始终保持打开状态。客户端应用程序旨在使最终用户一次只能处理一个案例,从而防止发生消息冲突。他们设置了某种轮询,他们的应用程序“休眠”,直到它看到来自服务器的启动消息。

第三方供应商建议我在向他们发送启动消息之前添加几秒钟的延迟。我看不出这有什么帮助。如果客户端正在“休眠”,只是轮询套接字等待消息,那么在第一条消息之前添加延迟有什么帮助?这并不是说我们发送了两条消息,而第二条却丢失了。它正在丢失第一条消息。所以我不明白如果我们现在或两秒后发送该消息有什么关系。

我问过他们,他们没有给我详细信息。他们可能不想向我透露他们编码中的一些专有细节,这是公平的。所以我在这里问是因为我一直在学习有关套接字编程的新东西。也许你们可以了解轮询 tcpip 套接字如何受到消息时间的影响?

0 投票
1 回答
6522 浏览

jquery - jQuery - 在 document.ready 之前运行一个函数......但不要太早

我有一个页面,其中包含一个 div,当页面加载时必须通过 JS 调整其大小。为了做到这一点,我给它一个 760px 的“默认宽度”,然后运行以下代码:

但是,页面可能需要一段时间才能加载,因为#listdiv 包含大量图像。因此,只有在所有内容完成加载后,div 才会扩展以填充正确的宽度。我不能把它从$(document).ready函数中取出,否则会出错,说 document.body 是未定义的。

有没有办法#list在所有内容加载之前调整 div 的大小?

编辑
请参阅:http
://www.google.com/images?q=whatever 他们已经成功地实现了我想要做的事情。该列表在页面加载时立即正确调整大小,然后被填充。您可以通过调整窗口大小并观察元素平滑移动来告诉他们通过 JS 调整所有内容的大小。可悲的是,谷歌的 JS 并不是世界上最容易阅读的sigh

0 投票
2 回答
507 浏览

python - 在 Twisted 中的每个刻度运行一个函数

我正在使用扭曲的框架,我需要跟踪自事件开始以来已经过去了多少时间,并在经过一定时间后执行操作。

在我看来,最好的方法是检查反应堆的每个滴答声的时间戳。如果这是最好的方法,我该怎么做?如果不是,有什么更好的方法?

0 投票
3 回答
2029 浏览

python - 我的功能需要负时间才能完成。到底发生了什么?

我提出这个问题主要是出于好奇。我编写了一些代码,这些代码正在做一些非常耗时的工作。因此,在执行我的主力函数之前,我将它包含在对 time.clock() 的几次调用中。它看起来像这样:

这工作得很好。我的函数正确返回并t2 - t1给了我972.29大约 16 分钟的结果。

但是,当我将代码更改为此

我的函数仍然返回正常,但结果t2 - t1是:

我很好奇是什么实现细节导致了这种情况。None 和负数都让我感到困惑。它与签名类型有关吗?这如何解释None