Answers can be found in ML menu and
this thread - the FPS override submenu displays both the time required for one line (microseconds), and the time required to read one frame (milliseconds and percentage of frame duration, which is 1/fps).
Of course, 50 fps overridden to 25 can have lower rolling shutter (depending of options from menu), but image quality will suffer, since there will be fewer lines read out from the sensor (that's why you'll have to stretch the image).
To minimize the rolling shutter, reduce the timer A value manually until other numbers are no longer changing (todo: I should probably include a preset for that).
This gives:
25 fps, Canon default: timer A 480: 20 µs/line
=> 25.8ms at 1290 lines, or 21.6ms at 1080 lines
25 fps, with FPS override enabled and timer A reduced to 398: 16.6 µs/line
=> 21.4ms at 1290 lines, 17.9ms at 1080 lines
25 fps overridden from 50, timer A reduced to 410 (to try lower values, one has to edit the source): 17.1 µs/line
=> 11.5ms at 672 lines, or 1120 after desqueezing (5:3)
=> 11.08 ms at 1080 lines after desqueezing
=> 13.24 ms at a hypothetical 1290 lines (normalized so you can compare)
25 fps overridden from 50 with 3x3 crop_rec, timer A reduced to 410
=> nothing to gain (exercise for the reader).
So, you are able to cut the rolling shutter in half (actually a 48.7% decrease from Canon default, at the expense of some image quality). Whether that actually makes a difference in practice, I don't know.
(BTW, noticed a roundoff error in the menu - 16.5 should be really 16.6, 20.0 is correct and so on; the numbers above are corrected)
To get even lower rolling shutter, one may experiment with
adtg_gui - there may be other registers to tweak. You can start by understanding the registers tweaked by crop_rec (crop_rec_4k branch) and fiddling from there - one might be able to
reduce the horizontal resolution to get a lower rolling shutter.
TODO: I'm going to document the crop_rec registers better, maybe that's helpful.