On 04/05/2011 1:38 PM, Enrico Forestieri wrote:
On Wed, May 04, 2011 at 06:58:33PM +0200, Vincent van Ravesteijn wrote:


I think that more attention should be put in the memory footprint. I have
the impression that LyX is becoming a bloatware.


Apart from which features are (un)necessary, can you say where you think
that we should look first to improve on the subject ? Do you think existing
features can be made simpler, or do you think that there are mistakes in the
code, or something else ?

Again, I am not going to point the finger against something in particular.
I would like that major attention be paid to the increasead bloat with
respect to the benefits that come from a particular feature.

As it is clear that I was against the export in thread/qprocess features,
I will take this as an example. When I export or preview something in LyX,
I simply wait (only for some seconds!) the end of the operation. So, the
fact that I can still tinker with the keyboard has no value. I gained
nothing from this, but there's something that I lost? A lot!
- Much time spent in debugging/fixing related bugs
- An increased memory footprint due to cloning etc.
- Missing ability to use batch files on native Windows
- Missing ability to use a chain of converters through pipes
- Missing ability to kill converters if they got stalled. You have to
   wait for a timeout and cannot kill them because they are in a thread
   of your same process.
- Memory fragmentation caused by converters that now don't run as separate
   processes anymore.

In conclusion, those features are simply bloatware to me. No advantages,
a lot of disadvantages. Was the export in thread really *needed*? No!
Was qprocess really *needed*? No for all platforms, except (maybe!) Windows
where the command line is frowned upon. But could have it be implemented
in a saner way, not so harmful for the other platforms? Certainly yes, but
there was that cool qprocess thingie in Qt, how to resist?


I like the feature a lot. I think a lot is gained. What is lost can be worked on.

I have been using 1.6.x branch to do my command-line tasks. Is this serious that 2.0 command-line uses threads to export? This part doesn't sound like a good idea indeed.

--
Julien

Reply via email to