Is QEMU too Complex, and What Can we do About It?
summary
QEMU is too complex because accidental complexity piles onto unavoidable domain complexity; the talk quantifies it: 120 command line options implemented in ~3,000 lines, about ten flexible options, and at least four different parsers. Automated refactors use cooksonell to apply semantic patches and a new device-creation API was rolled out as a single patch series successfully. Concrete fixes include a dependency-based board config generator, a mod info mechanism, migration API tradeoffs, and advice to prefer object/QRMP integrations over new global flags.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:18Betteridge's law of headlines
- 0:51Why is complexity a problem?
- 2:39Also essential complexity
- 4:04Complexity of tools
- 5:32Fighting accidental complexity?
- 6:41Signs of accidental complexity
- 7:45A new way to do the same thing
- 10:05Automated conversions with Coccin
- 11:12Incomplete support for features
- 12:29Fear of incomplete transitions?
- 14:27Duplicated logic
- 15:56Case study: command line
- 17:01Flexible options
- 18:45Command options
- 19:36Combo options
- 20:15Shortcut options
- 21:17One-off options
- 22:15Legacy options
- 24:37Summary
related talks
21mNVMe Emulation Performance Optimization
39mOpen-Source QEMU and RTL Co-simulation
20mSpeed Up Creation of a VM With Pass Through GPU
49mEmbedded Linux Size Reduction Techniques
28mUsing Qt Quick with low end devices (eg i.MX6)
01h 02mCreating Performant Qt Quick Apps
15mThe Practice Method to Speed Up 10x Boot-up Time for Guest in Alibaba Cloud
22mQEMU Snaphosts Are So Slow. Really?
