How Profilers Can Help Navigate Type Migration
summary
Uses a 16‑benchmark corpus with ~100,000 gradually typed configurations and 1.2M runtime/profile measurements to evaluate 17 migration strategies driven by a statistical profiler, a contract profiler, or none. Finds that switching boundaries to deep types guided by the contract profiler most often reaches performance parity with untyped code; shallow strategies rarely hit parity. Random boundary changes succeed under loose tolerances about half the time. Data and artifacts accompany the study (DOI and Zenodo).
AI-written summary · about
chapters (10)
- 0:00Type migration with profilers
- 1:25Costs of gradual typing
- 3:12Deep vs shallow types
- 4:58Navigating gradual programs
- 7:04Profilers for bottlenecks
- 9:11Type migration strategies
- 11:16Rational programmer experiment
- 11:58Profiler migration results
- 14:24Key takeaways
- 15:47Q&A
related talks
16mTypeCraft: A Lightweight Data Type Profiler with High Resolution
29mSo you’ve decided to do a technical migration
19mProfiling Your Code: 5 Tips to Significantly Boost Performance
27mGradual Typing in Practice
28mMind the gap! Why static typing requires more than just adding annotations
36mNavigating TypeScript Performance for Better Dev Experience
26mAdopting Typescript at Scale
31mProfiler: Profiling Code
