GithubHelp home page GithubHelp logo

bryntum / grid-performance Goto Github PK

View Code? Open in Web Editor NEW
17.0 4.0 9.0 479 KB

Performance comparison for JavaScript data grid components

License: MIT License

JavaScript 86.81% HTML 5.73% CSS 7.47%
data-grid performance extjs bryntum dhtmlx ag-grid devextreme

grid-performance's Introduction

JavaScript data grid performance comparison

A performance comparison of seven popular JavaScript data grid components. Measures the initial rendering time and scroll performance for the following data grids:

To set each grid up, please see the README.md files in the corresponding folders.

Methodology

To make comparison as fair as possible the following actions were taken:

  • All grids have additional features (such as grouping, sorting) turned off.
  • The same dataset consisting of an array of 10,000 JSON objects is used throughout.
  • Grids was configured with the same set of columns, with custom cell renderers matching each other as close as possible. Measurements where taken once for a grid with locked/fixed/pinned columns and once without.
  • All use the same size on their container: 1280 x 1024 px.
  • Scrollbars where turned on.

Measurements where taken using the same approach and same code for the different grids:

  • Timer for initial rendering started after page and data has loaded, before grid instance is created and populated with the data. Timer stopped when grid is completely rendered, which for some grids is a sync operation while others requires listening for an event.
  • Scroll FPS measured by using a JS frame counter and changing scroll programmatically. Time taken to reach a predefined scroll distance was measured and used to calculate an average FPS value.

Results

All measurements taken on a 2016 MacBook Pro 13-inch (2 GHz Intel Core i5, 8GB RAM).

Grid L: Initial rendering L: Average FPS U: Initial rendering U: Average FPS
Ag-grid 219 ms 53 fps 210 ms 57 fps
Bryntum 112 ms 59 fps 104 ms 60 fps
DevExtreme 256 ms 29 fps 216 ms 38 fps
DHTMLX 62 ms 19 fps 55 ms 25 fps
ExtJS Modern 358 ms 54 fps 281 ms 59 fps
ExtJS Classic 211 ms 44 fps 179 ms 44 fps
Componentator Not supported Not supported 1122 ms 31 fps
Webix 32 ms 59 fps* 34 ms 60 fps*

L = With locked/pinned/fixed columns, U = Without

  • Webix does not use native scrolling, it scrolls one row at the time which makes it easier for the browser to keep up. As opposed to others where a flick scroll might jump tens or hundreds of rows at the time. Upside, no whiteouts. Downside, cannot flick scroll to go faster.

The full set of results can be viewed in this Google Sheet

grid-performance's People

Contributors

isglass avatar matsbryntse avatar mkozhukh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

grid-performance's Issues

Add Tabulator results

Hi

I came looking for the performance of Tabulator. I can see its added in #3 . But I don't see the results in the README. Could you add? Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.