Performance.now () время выполнения на разных платформах - PullRequest
1 голос
/ 08 июня 2019

Я тестирую производительность по времени библиотеки шифрования на основе местоположения, которую я написал в Typescript, используя webcryptoapi.Я хотел увидеть разницу во времени для разных платформ, таких как MacO и Android.Для этого я использую свой Macbook Pro (2017) и планшетный компьютер Samsung galaxy s2 android.

Для тестирования библиотеки я создал простую страницу HTML с некоторой областью текстового поля, кнопкой шифрования и кнопкой дешифрования.При нажатии кнопки происходит шифрование.Ниже, как видно из функции performance.now () , я вычисляю разницу во времени и записываю ее на консоль.Однако я понял, что время шифрования на планшете всегда меньше, чем на компьютере MacBook Pro.По логике, ноутбуки не прочнее планшетов?Или это связано со скоростью вызовов API?Я не понимаю, почему планшет всегда быстрее, хотя это менее мощное устройство.Заранее спасибо.

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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...