Raytracer in Python
summary
Aleksey compares performance of a Rust raytracer (rendering a 200×400 image in 13.37 seconds on his laptop) with implementations written in Python. He explains techniques and approaches used to speed up a Python raytracer to try to approach the Rust performance, focusing on practical optimizations and tools for Python.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 1:51Speaker background
- 5:47Python for raytracing
- 7:17How raytracing works
- 9:03Drawing spheres and intersections
- 12:17Adding reflections
- 14:47Matte surfaces and randomness
- 16:16Image smoothing
- 17:45Ray antialiasing
- 18:27First pure Python version
- 19:57Python vs Rust speed
- 21:46Debugging a bug
- 22:28NumPy optimization
- 24:35Code vectorization
- 26:34Vectorized implementation
- 28:43Optimization results
- 29:28Numba attempt
- 30:35Summary
- 31:20Language combination
- 32:24Future possibilities
- 33:06Learning recommendations
- 33:46Thanks and closing
- 34:08Q&A
related talks
33mHow I built a Ray Tracer in Pure Python
31mCan Rust make Python shine?
05mLightning Talk: Programming is Fun in Cpp!
12mRay-tracing and special relativity: Rendering objects near the speed of light!
24mArtisanal Rendering: Make Your Own Computer Art!
36mPolishing Python: Preventing Performance Corrosion with Rust
34mBuilding a raytracing engine with JavaScript
19mMaking Python 100x faster with less than 100 lines of Rust
