-
Notifications
You must be signed in to change notification settings - Fork 11
Description
This module has serious performance issues when used with an array of checkboxes numbering in the thousands. I found that calling jQuery().shiftcheckbox() on approximately 2200 checkboxes would hang my browser for around 1.1-1.4 seconds, sometimes longer.
I found that this was happening due to the "select all" functionality. I produced a build with this functionality ripped out, and found that this time was reduced to about 0.3-0.4 seconds. You can find this build here: https://github.com/djmattyg007/pictorials/blob/master/assets/js/vendor/jquery.shiftcheckbox.js
My belief is that it's due to calling not() on large collections of jQuery objects, as this would no doubt be an expensive process. This was happening multiple times even when the "select all" functionality is not in used.
I hope you find this information useful in creating a more performant plugin with "select all" functionality.