Skip to content

Comments

[Nav3] ViewFactory -> RenderFactory#483

Open
alexanderbezverhni wants to merge 3 commits intomasterfrom
bezverhni/nav3_pt4
Open

[Nav3] ViewFactory -> RenderFactory#483
alexanderbezverhni wants to merge 3 commits intomasterfrom
bezverhni/nav3_pt4

Conversation

@alexanderbezverhni
Copy link
Collaborator

@alexanderbezverhni alexanderbezverhni commented Jan 12, 2026

[Nav3] ViewFactory -> RenderFactory - preparations for supporting Compose Nav3 routes that don't need Android View creation.

inheritance_refactoring

@alexanderbezverhni alexanderbezverhni self-assigned this Jan 12, 2026
@carrotkite
Copy link

carrotkite commented Jan 12, 2026

📊 Benchmark Comparison Report

Summary

  • Regressions: 0 ✅
  • Improvements: 20 🎉
  • Unchanged: 5

🎉 Performance Improvements

Benchmark Baseline Current Change
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure1 0.485 ± 0.009 us/op 0.335 ± 0.004 us/op -30.8% 🟢
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure100 0.491 ± 0.005 us/op 0.357 ± 0.011 us/op -27.4% 🟢
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure10000 0.492 ± 0.007 us/op 0.363 ± 0.006 us/op -26.3% 🟢
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure100Effects 10.706 ± 0.051 us/op 8.09 ± 0.205 us/op -24.4% 🟢
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=1) 0.853 ± 0.035 us/op 0.666 ± 0.046 us/op -21.9% 🟢
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=50) 17.959 ± 1.182 us/op 14.257 ± 0.482 us/op -20.6% 🟢
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=10) 15.992 ± 0.249 us/op 12.732 ± 0.086 us/op -20.4% 🟢
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=25) 16.207 ± 0.057 us/op 13.024 ± 0.101 us/op -19.6% 🟢
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=10) 15.608 ± 0.103 us/op 12.554 ± 0.038 us/op -19.6% 🟢
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=100) 17.379 ± 0.094 us/op 13.99 ± 0.087 us/op -19.5% 🟢
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=1) 15.46 ± 0.136 us/op 12.461 ± 0.078 us/op -19.4% 🟢
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=1) 15.423 ± 0.138 us/op 12.434 ± 0.074 us/op -19.4% 🟢
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=0) 15.275 ± 0.142 us/op 12.34 ± 0.052 us/op -19.2% 🟢
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=25) 15.778 ± 0.188 us/op 12.756 ± 0.131 us/op -19.2% 🟢
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=20) 16.107 ± 0.111 us/op 13.037 ± 0.052 us/op -19.1% 🟢
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=100) 18.463 ± 0.127 us/op 15.023 ± 0.108 us/op -18.6% 🟢
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=1) 0.867 ± 0.055 us/op 0.723 ± 0.056 us/op -16.6% 🟢
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=25) 3.922 ± 0.153 us/op 3.329 ± 0.043 us/op -15.1% 🟢
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=100) 13.277 ± 0.327 us/op 11.738 ± 0.165 us/op -11.6% 🟢
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=100) 18.915 ± 0.298 us/op 16.788 ± 0.375 us/op -11.2% 🟢
No significant changes (5 benchmarks)
Benchmark Baseline Current Change
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=25) 5.007 ± 0.102 us/op 4.57 ± 0.262 us/op -8.7%
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=10) 2.953 ± 0.52 us/op 2.272 ± 0.339 us/op -23.1%
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=50) 11.487 ± 2.37 us/op 8.504 ± 0.887 us/op -26.0%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure10Effects 0.755 ± 0.016 us/op 0.697 ± 0.029 us/op -7.7%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure1Effect 0.055 ± 0.003 us/op 0.05 ± 0.0 us/op -7.5%

Regression threshold: ±10% with non-overlapping confidence intervals

Generated by 🚫 Danger

@alexanderbezverhni alexanderbezverhni changed the title ViewFactory -> RenderFactory [Nav3] ViewFactory -> RenderFactory Jan 12, 2026
@carrotkite
Copy link

4 Warnings
⚠️ No coverage data found for com/instacart/formula/android/ViewFactory
⚠️ No coverage data found for com/instacart/formula/android/Feature
⚠️ No coverage data found for com/instacart/formula/android/RenderFactory
⚠️ No coverage data found for com/instacart/formula/android/FeatureView

JaCoCo Code Coverage 94.05% ✅

Class Covered Meta Status
com/instacart/formula/android/ViewFactory No coverage data found : -% No coverage data found : -% 🃏
com/instacart/formula/android/LayoutViewFactory 100% 0%
com/instacart/formula/android/RouteEnvironment 100% 0%
com/instacart/formula/android/Feature No coverage data found : -% No coverage data found : -% 🃏
com/instacart/formula/android/FeatureFactory 100% 0%
com/instacart/formula/android/RenderFactory No coverage data found : -% No coverage data found : -% 🃏
com/instacart/formula/android/FeatureView No coverage data found : -% No coverage data found : -% 🃏
com/instacart/formula/android/FormulaFragment 83% 0%
com/instacart/formula/android/ViewInstance 100% 0%
com/instacart/formula/android/NavigationStore 90% 0%
com/instacart/formula/android/views/DelegateLayoutViewFactory 100% 0%

Generated by 🚫 Danger

@alexanderbezverhni alexanderbezverhni marked this pull request as ready for review January 12, 2026 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants