Module: Pod
- Defined in:
- lib/cocoapods-podgenerate/benchmark/profiler.rb,
lib/cocoapods-podgenerate.rb,
lib/cocoapods-podgenerate/command.rb,
lib/cocoapods-podgenerate/parallel/thread_pool.rb,
lib/cocoapods-podgenerate/patches/project_patch.rb,
lib/cocoapods-podgenerate/patches/analyzer_patch.rb,
lib/cocoapods-podgenerate/patches/installer_patch.rb,
lib/cocoapods-podgenerate/parallel/batch_processor.rb,
lib/cocoapods-podgenerate/patches/cache_analyzer_patch.rb,
lib/cocoapods-podgenerate/patches/project_writer_patch.rb,
lib/cocoapods-podgenerate/patches/user_integrator_patch.rb,
lib/cocoapods-podgenerate/patches/multi_project_generator_patch.rb
Overview
- cocoapods-podgenerate
-
Monkey-patches Pod::Project to cache pod_group lookups. Original implementation does O(n) linear scan for every pod_group call:
pod_groups.find { |group| group.name == pod_name }With 200+ pods and pod_group called 3-5 times per pod, this is 600-1000 linear scans of a 200-element array = ~120k-200k iterations.
Fix: cache groups in a Hash for O(1) lookup. Invalidate on add_pod_group.
Reference: CocoaPods source — lib/cocoapods/project.rb
Defined Under Namespace
Modules: PodGenerate Classes: Command