algoo / preview-generator

generates previews of files with cache management
https://pypi.org/project/preview-generator/
MIT License
228 stars 50 forks source link

[MetaTicket] Improve preview-generator performances #186

Open inkhey opened 4 years ago

inkhey commented 4 years ago

About

Preview generator code as many performances issues, especially with big spreedsheat file. Here are some proposal to fix this

Proposals :

About point 4 : big spreedsheet.

inkhey commented 4 years ago

For Libreoffice lock(6), until we do decide to use a server-based mecanism (see https://github.com/algoo/preview-generator/issues/77), there is a balance between allowing multiple parallel libreoffice and avoiding creating too much config data : libreoffice require to set env dir for running and create data in this place, if 2 process try to use same env at the same time, it mean like opening multiple file with same libreoffice instance, preview generator cannot deal correctly with this.

I do see 2 different solution for safe mecanism here:

Edited: solution choosen by #187 is one libreoffice instance per cache_dir.

inkhey commented 4 years ago

About point 3, i created a poc: https://github.com/algoo/preview-generator/commit/6179621f97ed6971e102dd1984fc77739c36a440

Idea is to use always our own method based on modern subprocess.run method everywhere instead of check_call and check ouput old method. This way we can adjust with default limitation for all subprocess used.

What's need clarification: