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

Major performance boost. Fix #126 #444

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open

Major performance boost. Fix #126 #444

wants to merge 45 commits into from

Conversation

wyuenho
Copy link
Contributor

@wyuenho wyuenho commented Feb 15, 2014

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

monzou commented Mar 6, 2014

Hi @wyuenho

When do you plan to merge this work ?

@wyuenho
Copy link
Contributor Author

wyuenho commented Mar 6, 2014

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

monzou commented Mar 6, 2014

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

@santomegonzalo
Copy link

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

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

@aaronchi
Copy link

any update on this?

@sairam
Copy link

sairam commented Nov 26, 2014

@wyuenho - Can this be merged?

@vesper8
Copy link

vesper8 commented Jan 26, 2015

@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
Copy link

jrolfs commented Feb 10, 2015

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

@Pleochism
Copy link
Contributor

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

@dhazel
Copy link

dhazel commented Jun 1, 2015

+1

@solognt
Copy link

solognt commented Jun 8, 2015

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

@kgodey
Copy link

kgodey commented Jul 17, 2015

+1

2 similar comments
@khani3s
Copy link

khani3s commented Sep 28, 2015

+1

@sc0ttman
Copy link

sc0ttman commented Oct 1, 2015

+1

@PaRoxUs
Copy link

PaRoxUs commented Oct 3, 2015

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

@dderen
Copy link

dderen commented Oct 31, 2015

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

@fromthemills
Copy link

+1

2 similar comments
@lklepner
Copy link

lklepner commented Dec 8, 2015

+1

@paopay
Copy link

paopay commented Jan 8, 2016

+1

@nwestland
Copy link

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

@wyuenho
Copy link
Contributor Author

wyuenho commented Jun 7, 2016

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

Gronan commented Feb 15, 2017

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