[prev in list] [next in list] [prev in thread] [next in thread] 

List:       konsole-devel
Subject:    Re: [Konsole-devel] Review Request: patch to reduce memory usage
From:       mick22 () gmx ! at
Date:       2009-06-08 20:31:10
Message-ID: 20090608203110.18913.27411 () localhost
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/802/
-----------------------------------------------------------

(Updated 2009-06-08 13:31:10.024105)


Review request for Konsole.


Summary (updated)
-------

Here's a patch that drastically reduces mem usage when a fixed size history is
used:
- new history storage type "HistoryTypeQList"  (QList-based) set as replacement for \
                HistoryTypeBuffer
- compact storage for history lines

History lines are stored as an array of chars when possible (i.e. when
color and rendition flag of all characters in the line are equal). 2 bytes per \
character + overhead

When not (easily) possible, it falls back to the current way of storing history lines \
(array of QVector<Character>). 11 bytes per character + overhead

Memory usage has been cut down from about 171MB to 55MB for a konsole process
with 5 tabs, 30000 lines scrollback, 65 chars per line.

Update:
As suggested in https://bugs.kde.org/show_bug.cgi?id=176974#c20, a formatting array \
has been introduced in v2 of the patch. The CompactHistoryLine class can now handle \
single- and multi-color history lines. This replaces v1 of the patch where 2 separate \
classes were used.


This addresses bug 176974.
    https://bugs.kde.org/show_bug.cgi?id=176974


Diffs
-----

  trunk/KDE/kdebase/apps/konsole/src/History.h 978945 
  trunk/KDE/kdebase/apps/konsole/src/History.cpp 978945 
  trunk/KDE/kdebase/apps/konsole/src/SessionController.cpp 978945 
  trunk/KDE/kdebase/apps/konsole/src/SessionManager.cpp 978945 

Diff: http://reviewboard.kde.org/r/802/diff


Testing
-------

reasonably tested 


Thanks,

mick22

_______________________________________________
konsole-devel mailing list
konsole-devel@kde.org
https://mail.kde.org/mailman/listinfo/konsole-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic