IGListKit/Source
Maxime Ollivier 82a2a2ee18 added experiment to make [IGListAdapter visibleSectionControllers] a bit faster
Summary:
* Issue: [IGListAdapter visibleSectionControllers] calls [UICollectionViewLayout layoutAttributesForElementsInRect:] which can be expensive. And since visibleSectionControllers is called in scrollViewDidScroll, it can add up and take a toll on scroll performance. On an iPhone 7, it's in 2-10% of the main-thread samples (using Time Profiler).
* Fix: IGListDisplayHandler conveniently keeps track of visible IGListSectionControllers, so let's just use that. Now, [IGListAdapter visibleSectionControllers] drops to ~0.3% of samples.

Reviewed By: rnystrom

Differential Revision: D6351474

fbshipit-source-id: 66914db95e08498927bfbceda4d2e9d58cbc7530
2017-11-16 16:07:29 -08:00
..
Common added experiment to make [IGListAdapter visibleSectionControllers] a bit faster 2017-11-16 16:07:29 -08:00
Internal added experiment to make [IGListAdapter visibleSectionControllers] a bit faster 2017-11-16 16:07:29 -08:00
IGListAdapter.h Adds header docs to listener API in IGListAdapter #trivial 2017-11-03 13:41:03 -07:00
IGListAdapter.m added experiment to make [IGListAdapter visibleSectionControllers] a bit faster 2017-11-16 16:07:29 -08:00
IGListAdapterDataSource.h Remove white space 2017-05-27 08:17:59 -07:00
IGListAdapterDelegate.h Remove @param alignment from header docs #trivial 2017-04-18 09:46:18 -07:00
IGListAdapterUpdateListener.h Add update finished announcer API 2017-10-20 08:57:11 -07:00
IGListAdapterUpdater.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListAdapterUpdater.m IGListDiffKit 2017-11-06 17:02:06 -08:00
IGListAdapterUpdaterDelegate.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListBatchContext.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListBindable.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListBindingSectionController.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListBindingSectionController.m Dedupe view models in IGListBindingSectionController 2017-09-20 18:04:11 -07:00
IGListBindingSectionControllerDataSource.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListBindingSectionControllerSelectionDelegate.h Add cell (un)highlight APIs 2017-09-20 08:46:17 -07:00
IGListCollectionContext.h Select an item through IGListCollectionContext 2017-08-04 15:19:56 -07:00
IGListCollectionViewLayout.h Add horizontal scrolling support to IGListCollectionViewLayout 2017-08-07 09:33:30 -07:00
IGListCollectionViewLayout.mm Add horizontal scrolling support to IGListCollectionViewLayout 2017-08-07 09:33:30 -07:00
IGListDisplayDelegate.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListGenericSectionController.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListGenericSectionController.m Add generic type section controller 2017-04-19 12:45:36 -07:00
IGListKit.h Add update finished announcer API 2017-10-20 08:57:11 -07:00
IGListReloadDataUpdater.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListReloadDataUpdater.m Prevent duplicate item deletes and drop reload collisions 2017-04-19 17:17:41 -07:00
IGListScrollDelegate.h IGListAdapter support for scrollViewDidEndDecelerating 2017-08-23 13:30:44 -07:00
IGListSectionController.h Add cell (un)highlight APIs 2017-09-20 08:46:17 -07:00
IGListSectionController.m Add cell (un)highlight APIs 2017-09-20 08:46:17 -07:00
IGListSingleSectionController.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListSingleSectionController.m Remove IGListSectionType 2017-04-19 08:26:30 -07:00
IGListStackedSectionController.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListStackedSectionController.m Add cell (un)highlight APIs 2017-09-20 08:46:17 -07:00
IGListSupplementaryViewSource.h Swift name annotations 2017-05-09 14:31:28 -07:00
IGListUpdatingDelegate.h Update project settings and fix errors 2017-10-26 11:20:55 -07:00
IGListWorkingRangeDelegate.h Swift name annotations 2017-05-09 14:31:28 -07:00
Info.plist Fix binding SC deselection crash and publish 3.1.1 2017-08-31 12:51:10 -07:00