plotly / Kaleido

Fast static image export for web-based visualization libraries with zero dependencies
Other
363 stars 36 forks source link

Optimizing setting scope properties like mathjax #99

Open AbdealiLoKo opened 3 years ago

AbdealiLoKo commented 3 years ago

I found out after hours of debugging, that my write_image() in plotly had become significant slower. I realized that this was happening because I had added: pio.kaleido.scope.mathjax = with_mathjax at some point inside a for loop

after a bunch of debugging, I found: https://github.com/plotly/Kaleido/blob/v0.1.0/repos/kaleido/py/kaleido/scopes/plotly.py#L150

i.e. every time this property is set, the plotly server gets shutdown. Which was causing my code to run about 10x slower. It would be great if we could set this up so that the shutdown is only triggered if required

jonmmease commented 3 years ago

Thanks for bringing this up @AbdealiJK,

Yeah, I think we could just check whether the new value is a change and only restart if the url changed.

AbdealiLoKo commented 3 years ago

Created a quick PR for this: https://github.com/plotly/Kaleido/pull/100