SDL is not faster than carefully chosen Windows DIB section APIs whereby pixel modifications are written directly into the DIB section's pixel data, rather than modifying the window canvas by brute force with the turtle slow SetPixel() API.
[UPD] Examining sdl.dll in a PE explorer, you can notice that SDL imports those DIB section APIs from the Gdi32.dll system library, i.e. its strategy in its MS Windows implementation is built around the DIB functionality I'm talking about. Which means there's nothing that prevents you from doing the exact same things directly in your O2 scripts thus sparing you over 400KB of SDL libraries' footprint both in memory and on your hard disk, and all the overhead of thousands of calls to SDL proxy functions in each frame that you draw on your screen.