Svelte «оцените сценарий» время кажется выше, по сравнению с адом, преакт - PullRequest
7 голосов
/ 04 ноября 2019

Я пытаюсь выбрать библиотеку для своего проекта, которая обеспечивает привязку данных и функции управления DOM . Сравнивая несколько библиотек, я получил Inferno и Svelte .

Я заметил, что время выполнения сценария Svelte выше, чем у других библиотек (см. Прикрепленное изображение) enter image description here.

В примере я отрисовал таблицу 100 x 15 (всего 1500 ячеек). хотя время рендеринга сокращается на несколько миллисекунд, но время выполнения сценария в ад составляет половину от этого. enter image description here

Время резко увеличивается с количеством элементов, например. для 15000 ячеек svelte сценария время оценки составляет 2000 мсек, а в качестве ада взято 680 мс.

код Svelte:

<style>
table,td,tr {
  border: 1px solid black;
}
</style>
<script>
import { officedatabase } from '../../../data_generator/sampleGridData/initialloaddata.js';
</script>
<table>
  {#each officedatabase as row}
    <tr>
     {#each row as cell}
      <td>{cell}</td>
     {/each}
    </tr>
  {/each}
</table>

Пример кода Inferno:

import { Component } from 'inferno';
import { officedatabase } from './initialloaddata.js';
export default class Grid extends Component {
  state = {
    data: officedatabase
  };
  render () {
    let data = this.state.data,
      rows = data.map((row)=> {
        return (
        <tr class='row'>
          {row.map((ele)=>{
            return <td style='border: 1px solid black;'>{ele}</td>;
          })}
          </tr>
        );
      });
    return (
      <div>
        <table style='border: 1px solid black;'>
          {rows}
        </table>
      </div>
    );
  }
}

Почему для Svelte это время оценки скриптов велико?

1 Ответ

2 голосов
/ 10 ноября 2019

Короткий ответ заключается в том, что мы просто еще не проделали особенно хорошую работу по оптимизации больших списков, в то время как Inferno (которая посвящена микрооптимизации и использованию глубоких знаний авторов о том, как работают движки JS) имеет,Улучшение в списке TODO!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...