Есть HTML-страничка весом 4,5 МБ, состоит из HTML-таблицы в 2000 строк.
Исходник HTML рендерится за 250 мс (данные согласно curl).
JavaScript в самом конце страницы исполняется только через 4 секунды после начала загрузки страницы.
Другого JavaScript'а в коде нет, CSS, шрифтов, иных внешних ресурсов нет.
Как уменьшить эти 4 секунды до миллисекунд?
Достаточно ли заменить TABLE на DIVы c display "table-cell" или "flex-box"? В принципе, если это ускорит домо-строение, могу задать высоту каждой ячейки.
Можно, конечно, подгружать таблицу постепенно JavaScript'ом, но пока что JS хотелось бы избежать, оптимизировать именно браузерный рендеринг.
Во первых зайти в Web Developer Tools в браузере. Например для Firefox это в меню "Web Developer/Network"
И посмотреть а что именно тормозит. Если тормозит именно загрузка - то проверить, а отдает ли сервер сжатые данные (если nginx, то включен ли gzip on).
Лучшее решение всегда это пост загрузка (вывод) данных. Просто каркас давайте пользователю, а потом при полной загрузке уже, подгружайте контент. Это не особо сложно.