Version: 3.9.96 (beta6) (using KDE 4.3.3)
OS: Linux (i686) release 18.104.22.168-0.1-desktop
Installed from: openSUSE RPMs
When pressing the "reformat source" in the menu, the editor freezes for a brief moment.
for the record, I actually expected some kind of progress feedback or threading so it doesn't look like kdevelop is broken.
That doesn't make any sense. Reformatting formats the file you're currently working on, so blocking you from any input is quite fine. (Even though its more a side-effect of waiting for the external process to complete)
Pardon me, would you consider reopening this? I fully understand the editor component shouldn't be updated while running the reformatter. Completely locking up kdevelop for 5 seconds however, makes it look really broken.
*** Bug 217801 has been marked as a duplicate of this bug. ***
Apparently I underestimated what "moment" means, as the duplicate 217801 indicates this is along the lines of multiple seconds when astyle on the cli needs far less time.
I can see that too, kdevsvnplugin.cpp takes around 4-5 seconds here inside KDevelop to reformat with linux style. Whats noticeable is that reverting the change with Ctrl+Z takes about the same amount of time. So this might be a kate-issue... I'll try this too at home once I've finished the formatter-rewrite.
definitely a kate issue, but it's only hit in kdevelop due to it's extensive usage of moving ranges / smart ranges. I'm currently trying to optimize what ever I can find and I think I already achieved a few dozen percents. But it's still far too slow...
SVN commit 1193672 by cullmann:
opt: use faster QHash for cache that has a ptr as key
This makes reformat source in KDevelop a bit faster
M +1 -1 katetextblock.cpp
M +1 -1 katetextblock.h
WebSVN link: http://websvn.kde.org/?view=rev&revision=1193672
SVN commit 1193674 by cullmann:
make TextRange::checkValidity faster by not doing and obsolete conversions
M +3 -3 katetextrange.cpp
WebSVN link: http://websvn.kde.org/?view=rev&revision=1193674
SVN commit 1193676 by cullmann:
provide fast TextCursor::setPosition(const TextCursor& position), esp. for TextRange::checkValidity()
M +13 -0 katetextcursor.cpp
M +7 -0 katetextcursor.h
WebSVN link: http://websvn.kde.org/?view=rev&revision=1193676
SVN commit 1196613 by cullmann:
merge milians latest performance tweaks
doc.clear() invalidates ranges
M +60 -62 document/katedocument.cpp
M +43 -6 tests/katedocument_test.cpp
M +72 -2 tests/movingrange_test.cpp
WebSVN link: http://websvn.kde.org/?view=rev&revision=1196613