Evan W. Patton
e1e94271c4
Implement Blockly.Events.filter in linear time ( #1205 )
...
* Implement Blockly.Events.filter in linear time
For large App Inventor projects (order 1k+ blocks, 100+ top-level
blocks), the O(n^2) behavior of Blockly.Event.filter was causing
performance issues when rearranging blocks or pasting from the
backpack. This commit provides a linear merge implementation using a
key that uniquely identifies a block so that multiple events targeting
the same block are merged. This change benefits from O(1) amortized
lookup using an object as a key-value store.
* Add event filter unit tests and fix logic bugs
* Update Blockly.Events.filter unit tests
2017-08-18 14:18:47 -07:00
..
2017-05-05 12:42:53 -07:00
2017-06-08 15:44:43 -07:00
2017-05-24 13:38:46 -07:00
2017-08-14 15:34:44 -07:00
2017-07-20 16:47:37 -07:00
2017-05-05 12:42:53 -07:00
2017-03-03 13:22:50 -08:00
2017-04-21 14:57:54 -07:00
2017-06-08 15:44:43 -07:00
2016-05-25 15:35:11 -07:00
2017-06-08 15:44:43 -07:00
2017-05-15 10:56:56 -07:00
2017-08-03 12:35:14 -07:00
2017-08-15 13:20:51 -07:00
2017-08-18 14:16:46 -07:00
2017-08-18 14:18:47 -07:00
2017-08-04 11:34:33 -07:00
2017-04-14 12:17:09 -07:00
2017-06-08 15:44:43 -07:00
2017-06-08 15:44:43 -07:00
2017-01-03 14:09:41 -08:00
2017-08-14 16:09:27 -07:00
2017-07-31 09:07:41 -07:00
2016-11-15 13:54:33 -08:00
2017-02-03 14:01:18 -08:00
2017-06-08 15:44:43 -07:00
2017-07-20 16:47:37 -07:00
2017-06-08 15:44:43 -07:00
2017-08-03 12:35:14 -07:00
2017-05-05 12:42:53 -07:00
2017-05-05 12:42:53 -07:00
2017-07-19 11:30:08 -07:00
2017-07-19 11:30:08 -07:00
2016-12-09 22:10:36 -08:00
2017-08-03 12:35:14 -07:00
2017-05-24 16:14:24 -07:00
2017-05-05 12:42:53 -07:00
2017-05-24 16:14:24 -07:00
2017-04-19 14:38:22 -07:00
2015-12-07 16:40:45 +01:00
2017-06-08 15:44:43 -07:00
2015-07-02 19:59:32 -07:00
2016-10-13 20:18:44 -07:00
2017-07-28 12:02:14 -07:00
2017-05-05 12:42:53 -07:00
2017-05-05 12:42:53 -07:00
2017-06-08 13:36:11 -07:00
2017-05-05 12:42:53 -07:00
2017-05-05 12:42:53 -07:00
2017-07-31 09:07:41 -07:00
2017-08-08 11:16:49 -07:00
2017-08-03 12:35:14 -07:00
2017-06-09 14:42:14 -07:00
2017-08-18 11:18:49 -07:00
2016-11-15 13:54:33 -08:00
2017-02-01 09:10:35 -08:00
2017-05-22 16:58:31 -07:00
2017-08-15 13:20:51 -07:00
2017-05-05 12:42:53 -07:00
2017-08-03 12:35:14 -07:00
2017-06-20 13:15:28 -07:00
2017-07-31 09:07:41 -07:00
2017-07-31 09:07:41 -07:00