Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Performance.now()在不同平台上的执行时间_Javascript_Typescript_Performance_Performance Testing - Fatal编程技术网

Javascript Performance.now()在不同平台上的执行时间

Javascript Performance.now()在不同平台上的执行时间,javascript,typescript,performance,performance-testing,Javascript,Typescript,Performance,Performance Testing,我正在测试我使用webcryptoapi在Typescript中编写的基于位置的加密库的时间性能。我想看看MacOs和android等不同平台的时差。为此,我使用了我的MacBookPro(2017)和三星galaxy s2安卓平板电脑 为了测试库,我创建了一个简单的HTML页面,其中包含一些文本框区域、加密按钮和解密按钮。单击按钮时,将进行加密。下面是从性能中可以看到的。Now()函数计算时间差并将其记录到控制台上。然而,我意识到平板电脑上的加密时间总是比MacBookPro电脑小。从逻辑上讲

我正在测试我使用webcryptoapi在Typescript中编写的基于位置的加密库的时间性能。我想看看MacOs和android等不同平台的时差。为此,我使用了我的MacBookPro(2017)和三星galaxy s2安卓平板电脑

为了测试库,我创建了一个简单的HTML页面,其中包含一些文本框区域、加密按钮和解密按钮。单击按钮时,将进行加密。下面是从性能中可以看到的。Now()函数计算时间差并将其记录到控制台上。然而,我意识到平板电脑上的加密时间总是比MacBookPro电脑小。从逻辑上讲,笔记本电脑不是比平板电脑更强大吗?还是与API调用速度有关?我不明白为什么平板电脑总是更快,即使它是一个功能较弱的设备。提前谢谢


您是否在平板电脑和桌面上都使用Safari?请注意,一些JavaScript引擎具有
性能。now()
来缓解幽灵等问题。我相信Firefox的SpiderMonkey仍然如此;Chrome的V8不适用于某些操作系统,也适用于其他操作系统,这取决于他们是否可以在操作系统上使用其他幽灵缓解措施。我不知道苹果的JavaScriptCore做什么。(旁注:在iOS上,由于苹果对应用程序的限制,目前所有浏览器都必须使用JavaScriptCore,而不是它们通常使用的引擎。)我在平板电脑和macbook pro上都使用了chrome浏览器进行测试。平板电脑总是有点快。然后我在mac上打开了firefox,仍然在平板电脑上使用chrome浏览器。平板电脑每次都能打败你。我的意思是它的速度很快,但我需要一个硕士论文的理由。这就是我被绊住的地方,因为我不明白原因。请注意,尽管你在平板电脑上使用的是Chrome,但如果是iOS设备,你不是在使用谷歌的V8,而是在使用苹果的JavaScriptCore。(
性能。现在
是主机提供的功能,因此iOS Chrome和iOS Safari可能有所不同,但是…)感谢大家的提醒,但正如我之前在第一篇文章中所说,平板电脑是安卓平板电脑(三星galaxy tab s2)Doh。我没有仔细阅读,如果你将iOS平板电脑与Mac OS桌面进行比较,我认为你使用的是iOS平板电脑。你在平板电脑和桌面上都使用Safari了吗?请注意,一些JavaScript引擎具有
性能。now()
来缓解幽灵等问题。我相信Firefox的SpiderMonkey仍然如此;Chrome的V8不适用于某些操作系统,也适用于其他操作系统,这取决于他们是否可以在操作系统上使用其他幽灵缓解措施。我不知道苹果的JavaScriptCore做什么。(旁注:在iOS上,由于苹果对应用程序的限制,目前所有浏览器都必须使用JavaScriptCore,而不是它们通常使用的引擎。)我在平板电脑和macbook pro上都使用了chrome浏览器进行测试。平板电脑总是有点快。然后我在mac上打开了firefox,仍然在平板电脑上使用chrome浏览器。平板电脑每次都能打败你。我的意思是它的速度很快,但我需要一个硕士论文的理由。这就是我被绊住的地方,因为我不明白原因。请注意,尽管你在平板电脑上使用的是Chrome,但如果是iOS设备,你不是在使用谷歌的V8,而是在使用苹果的JavaScriptCore。(
性能。现在
是主机提供的功能,因此iOS Chrome和iOS Safari可能有所不同,但是…)感谢大家的提醒,但正如我之前在第一篇文章中所说,平板电脑是安卓平板电脑(三星galaxy tab s2)Doh。我没有仔细阅读,如果你将iOS平板电脑与Mac OS台式机进行比较,我认为你使用的是iOS平板电脑。
public async encrypt(transformedLocation: Int32Array, message: String, toleranceDistance: number) {
    let context = this
    try {
        let keyDerivationStartTime = performance.now();
        let key = await this.deriveKey(transformedLocation)
        let keyDerivationFinishTime = performance.now();
        let keyhash = await this.calculateKeyHash(key)
        let plaintTextBytes = DataConvertionCalculations.stringToByteArray(message)
        let encryptionStartTime = performance.now();
        let encryptedMessage = await this.encryptMessage(key, plaintTextBytes)
        let encryptionFinishTime = performance.now();
        let result = new ResultHolder(encryptedMessage, keyhash, toleranceDistance, context.salt, context.ivBytes)
        let wholeTime= performance.now();
        console.log("Key derivation time:" + (keyDerivationFinishTime-keyDerivationStartTime))
        console.log("Encryption operation time:" + (encryptionFinishTime-encryptionStartTime))
        console.log("Whole encryption operation took:" + (wholeTime-keyDerivationStartTime))
        return result
    } catch (err) {
        return err
    }
}