Thời gian 'đánh giá kịch bản' của Svelte đang xuất hiện cao hơn so với địa ngục, preact


8

Tôi đang cố gắng chọn một thư viện cho dự án của mình, nơi cung cấp các tính năng quản lý DOM và ràng buộc dữ liệu . So sánh nhiều thư viện tôi đã kết thúc với Inferno và Svelte .

Tôi nhận thấy thời gian tập lệnh của Svelte cao hơn các thư viện khác (Vui lòng tham khảo hình ảnh đính kèm) nhập mô tả hình ảnh ở đây .

Trong mẫu tôi đã kết xuất một bảng 100 x 15 (tổng số 1500 ô). mặc dù thời gian kết xuất giảm vài mili giây nhưng thời gian thực thi tập lệnh của địa ngục là một nửa.nhập mô tả hình ảnh ở đây

Thời gian tăng mạnh với số lượng phần tử, vd. trong 15000 thời gian đánh giá kịch bản svelte là 2000ms trong đó địa ngục mất 680ms.

Mã mảnh:

<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>

Mã mẫu địa ngục:

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>
    );
  }
}

Tại sao thời gian đánh giá kịch bản này là cao cho Svelte?


1
Tôi cũng nhận thấy điều này trong khi điền dữ liệu lớn nhỏ trong bảng.
Yousuf Iqbal Hashim

Câu trả lời:


3

Câu trả lời ngắn gọn là chúng ta chưa hoàn thành tốt công việc tối ưu hóa các danh sách lớn, trong khi Inferno (tất cả là về tối ưu hóa vi mô và tận dụng kiến ​​thức sâu sắc của tác giả về cách thức hoạt động của các công cụ JS). Cải thiện nó là trong danh sách TODO!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.