Skip to content
This repository was archived by the owner on Apr 2, 2019. It is now read-only.

Major performance boost. Fix #126#444

Open
wyuenho wants to merge 45 commits into
masterfrom
perf
Open

Major performance boost. Fix #126#444
wyuenho wants to merge 45 commits into
masterfrom
perf

Conversation

@wyuenho

@wyuenho wyuenho commented Feb 15, 2014

Copy link
Copy Markdown
Contributor

This major refactoring for #126 boosts performance by 70% - 75% across browsers by introducing a custom Backgrid.View and having all Backgrid components inherit from it. Backgrid.View closely resembles Backbone.View's semantics with the exception that it isn't backed by jQuery. Sorting and rerendering the first 242 x 6 grid example on backgridjs.com takes 100 - 150ms on my Macbook Pro Retina 2012 with 2.7GHz i7 CPU. Dramatic improvement over 500 - 700ms with the latest release.

This branch has been tested successfully on all desktop browsers: IE8+, lastest versions of Firefox, Safari, Chrome and Opera. IE8 support will be downgraded and a classList shim is required now for IE<10. All tests still pass for IE<10 however once a classList polyfill is in place.

TODO:

Interested parties please help review this code.

@monzou

monzou commented Mar 6, 2014

Copy link
Copy Markdown

Hi @wyuenho

When do you plan to merge this work ?

@wyuenho

wyuenho commented Mar 6, 2014

Copy link
Copy Markdown
Contributor Author

Pending for jashkenas/backbone#3003. So as soon as Backbone makes a move towards 1.2 I'll fix this branch up and merge this.

@monzou

monzou commented Mar 6, 2014

Copy link
Copy Markdown

Ah sorry I've just found your great work on Backbone repository. Thank you !

@santomegonzalo

Copy link
Copy Markdown

Good work! I love this plugin! @wyuenho do you know when you will merge? because i really need this performance... Thanks!

@i-love-code

Copy link
Copy Markdown

@wyuenho It appears jashkenas/backbone#3003 and jashkenas/backbone#3006 were both merged. Do you think we can merge this?

@aaronchi

Copy link
Copy Markdown

any update on this?

@sairam

sairam commented Nov 26, 2014

Copy link
Copy Markdown

@wyuenho - Can this be merged?

@vesper8

vesper8 commented Jan 26, 2015

Copy link
Copy Markdown

@wyuenho it's just now been a full year since the last release... this pull sounds really good.. isn't it time you made a new release :) are you still alive?

@jrolfs

jrolfs commented Feb 10, 2015

Copy link
Copy Markdown

It looks like this needs to be adapted for jashkenas/backbone#3003 which got merged instead of jashkenas/backbone#2959?

@Pleochism

Copy link
Copy Markdown
Contributor

Backbone 1.2 is out with the necessary jQuery-agnostic changes to allow this PR to be merged.

@dhazel

dhazel commented Jun 1, 2015

Copy link
Copy Markdown

+1

@solognt

solognt commented Jun 8, 2015

Copy link
Copy Markdown

We could use this as well. We have some complex backgids that will benefit from this change a lot.

@kgodey

kgodey commented Jul 17, 2015

Copy link
Copy Markdown

+1

2 similar comments
@khani3s

khani3s commented Sep 28, 2015

Copy link
Copy Markdown

+1

@sc0ttman

sc0ttman commented Oct 1, 2015

Copy link
Copy Markdown

+1

@PaRoxUs

PaRoxUs commented Oct 3, 2015

Copy link
Copy Markdown

+1 would be absolutely awesome to finally see this enhancement merged!

@dderen

dderen commented Oct 31, 2015

Copy link
Copy Markdown

+1 Can't wait to see this in master branch!

@fromthemills

Copy link
Copy Markdown

+1

2 similar comments
@lklepner

lklepner commented Dec 8, 2015

Copy link
Copy Markdown

+1

@paopay

paopay commented Jan 8, 2016

Copy link
Copy Markdown

+1

@nwestland

Copy link
Copy Markdown

Any update on this merge? Seems like it could only be a good thing..

@wyuenho

wyuenho commented Jun 7, 2016

Copy link
Copy Markdown
Contributor Author

For those who want to get this merged. I can use some help here.

  1. Backbone 1.1.2 took a year to release, during that time React and Angular rose, lots of momentum was lost there. That said, there are still a lot of Backbone users out there. There are some changes in the view that's different from what was originally extracted from Backgrid.View. Backbone also didn't incorporate the tests extracted from this branch. Both Backgrid.View and the tests need to be cleaned up to support Backbone.View in the 1.3.x line.
  2. Merge with the changes on master, and get rid of the jQuery stuff afterwards. The tests are run on Karma now on master, so testing should be a lot easier.
  3. Update the extensions. TextCell and Select2Cell can't be upgraded as a matter of course, but the rest should be fairly easy since there aren't that many jQuery specific statements left in them ASAIK.

Any help other than +1 will greatly accelerate this effort.

@Gronan

Gronan commented Feb 15, 2017

Copy link
Copy Markdown

+1

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.