У меня есть один довольно большой массив в виджете javascript, который я пишу, и я хочу узнать, будет ли более эффективным с точки зрения ресурсов браузера оставить его как один массив или разбить его на несколько меньших массивов? Может ли кто-нибудь рекомендовать метод тестирования различий?Как измерить время загрузки большого массива?
ответ
вы всегда можете использовать console.time('timerName')
и console.timeEnd('timerName')
установить таймер и выяснить время, прошедшее между двумя точками вашего яваскрипта кода, а затем сравнить результаты:
console.time('BigArray');
var arr1 = [];
for(var i=0; i<200000; i++){
arr1.push('test');
}
console.timeEnd('BigArray');
console.time('SeveralArrays');
for(var i=0; i<200000; i++){
var arr2 = ['test'];
}
console.timeEnd('SeveralArrays');
выход будет что-то например:
BigArray: 123ms
SeveralArrays: 456ms
Может использовать firefox или chrome для создания console.log (new Date.toString()) до и после различных методов, которые вы пытаетесь сравнить. Я не думаю, что разбить рутину сократит время.
Простое разделение массивов не улучшит скорость обработки.
Я предлагаю использовать веб-работников. Они разгружают задачу в отдельный поток, который может ускорить работу, если вы разделите задачу на куски. Тем не менее, это зависит от того, сколько ядер доступно.
Это также предотвратит зависание пользовательского интерфейса, если вы обрабатываете действительно огромные наборы данных. Очень полезно с точки зрения UX.
Я использовал Paralell.js раньше, и мне это нравится. Он обеспечивает резерв для браузеров, которые не поддерживают веб-работников.
- 1. Как измерить время загрузки program.exe?
- 2. Как измерить время загрузки страницы?
- 3. Как измерить время загрузки приложения?
- 4. Как измерить время загрузки в Angular2?
- 5. Как измерить время загрузки страницы в Phoenix
- 6. Как измерить время загрузки запроса AJAX и отобразить панель загрузки?
- 7. Как измерить время загрузки/задержки загрузки Python в AppEngine
- 8. Как измерить время отклика и время загрузки веб-страницы?
- 9. Измерить время загрузки страницы/обработки рубина
- 10. Как измерить время вычисления
- 11. Как измерить время работы сервлета?
- 12. Как измерить время загрузки веб-страницы на мобильном устройстве?
- 13. Как измерить время загрузки страницы с помощью Selenium
- 14. Как измерить время загрузки в watir-webdriver для firefox
- 15. Есть ли окончательный способ измерить время рисования?
- 16. Как измерить время посещения пользователя
- 17. Как измерить время запуска JVM?
- 18. Как измерить время рендеринга представления?
- 19. C# как измерить прошедшее время?
- 20. Как измерить время отклика сети?
- 21. Как измерить время в Linux?
- 22. Как измерить время вычисления Excel
- 23. Как измерить время в Android?
- 24. Как измерить время ожидания потока?
- 25. Как измерить время в C?
- 26. Как измерить время между нажатиями?
- 27. Как измерить время отклика планшета?
- 28. Как измерить время рисования UIImageView?
- 29. Как измерить время выполнения сборки?
- 30. Как измерить время разработки разработчика
Играйте с http://jsperf.com/ Один большой массив против множества небольших массивов по-прежнему равен одинаковому количеству загружаемые данные. :) – epascarello
вы можете регистрировать временную метку до и после загрузки массива и видеть разницу – Shadow