acoustic-carpenter-78188
12/14/2025, 11:31 AMBEFORE: Any change rebuilds everything
┌─────────────────────────────────────┐
│ ALL packages together │
└─────────────────────────────────────┘
AFTER: Heavy deps cached separately
┌─────────────────────────────────────┐
│ Heavy: torch, tensorflow (cached) │ ← Rarely changes
├─────────────────────────────────────┤
│ Other: pandas, httpx, etc. │ ← Changes more often
├─────────────────────────────────────┤
│ PythonWheels (bottom layer) │ ← Compiled once, cached
└─────────────────────────────────────┘
## Key Changes
• image_builder.py: Added _optimize_image_layers() method
• Heavy deps list: tensorflow, torch, scikit-learn, etc.
• New flag: optimize_layers=True (enabled by default, can disable)
• 3 benchmark examples showing 32-36× speedup
• PythonWheels → Separate bottom layer for faster builds
## Files Changed
• src/flyte/_internal/imagebuild/image_builder.py
• src/flyte/_image.py
• tests/flyte/test_image.py
• examples/image_layer_optimize/ (3 new benchmark files)
Total: 6 files modified
## Screenshots
[Screenshot 2025-12-30 at 17 57 18](https://private-user-images.githubusercontent.com/115371007/530956688-daf66e9a-d854-4386-97cb-4f73636d10fb.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjcwOTI4ODUsIm5iZiI6MTc2NzA5MjU4NSwicGF0aCI6Ii8xMTUzNzEwMDcvNTMwOTU2Njg4LWRhZjY2ZTlhLWQ4NTQtNDM4Ni05N2NiLTRmNzM2MzZkMTBmYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMjMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTIzMFQxMTAzMDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lM2E3ZmUyMTQ5NDQ4YTljYTgxYjU2OThhNjg5ZWI1OTA3YmE2NDc2M2Y0ZDdmNzQ1YzFmM2Q3NzFlNTM0NTk5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.muSYCIdSvWFhFL_KF8ElkrtF5OJrBsBrwtvpV9yg0Z4) [Screenshot 2025-12-30 at 18 13 42](https://private-user-images.githubusercontent.com/115371007/530956696-ecec7e5f-2d87-431c-b757-235e99ec45b5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjcwOTI4ODUsIm5iZiI6MTc2NzA5MjU4NSwicGF0aCI6Ii8xMTUzNzEwMDcvNTMwOTU2Njk2LWVjZWM3ZTVmLTJkODctNDMxYy1iNzU3LTIzNWU5OWVjNDViNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMjMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTIzMFQxMTAzMDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZGZkMWNjNmMxYWUyNzc1YzM5OTk2YzI5MjQ1ZDUyYmUxYjNjZjhiM2Q0YWNhMzdiNjQyYjhiMWE3OGUwMGVlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.aLOQQGwtBVNUxoK8JPFwcUay2pvs2ZavZ4n-pBTArJU)
Replaces #422 with cleaner git history
flyteorg/flyte-sdkacoustic-carpenter-78188
12/14/2025, 11:31 AMacoustic-carpenter-78188
12/24/2025, 6:25 AM