В вашей функции просмотра много чего происходит.
Вы загружаете данные из API
Вы преобразуете json в строку, а затем в фрейм данных.
Вы выводите фрейм данных в html
Затем вы отправляете все это обратно в браузер
Когда вы учитываете только сетевую задержку от ожидания внешнего API до ожидания его передачи обратно клиенту, это может быть значительной частью ожидания. Также учтите, что 35 000 строк при рендеринге в HTML могут составлять 40-50 МБ, что занимает приличное количество времени для перемещения в сетевой ситуации даже для быстрых соединений.
Если вы создаете очень простые * Страница 1040 * HTML со следующими данными, дублированными 35 000 раз, вы получаете веб-страницу размером 5 МБ, которая считается большой для страницы HTML.
<tr>
<td>Hi</td>
<td>Sample Data</td>
</tr>
Представьте, сколько будет больше, если бы каждая строка вашего фрейма данных содержала гораздо больше данных?
Есть много вариантов ускорения, но вот основные принципы:
- Не хотите, чтобы функция просмотра полагалась на внешний API, если вы можете этого избежать
- Возможно, вы хотите разбить большие наборы данных на страницы
- Отправить данные обратно в браузер в менее громоздких форматах, чем HTML (JSON или даже CSV) и позволяют клиенту его анализировать. Это уменьшает сетевую задержку перемещения большого файла.