Removing some functionality from custommakefile support
dukjuahn at gmail.com
Sun Jul 22 06:04:05 UTC 2007
2007/7/21, Andreas Pakulat <apaku at gmx.de>:
> I'm "pissed off" enough now to discuss this: I'd like to remove the
> automatic updating of custommakefile projects. There's a dirwatcher in
> place that watches all subdirectories of a project for changes. Each
> time a change happens there are certain things done
> a) for each source file in that dir a stat is done to check for its
> existence (using QFileInfo::exists()), if it doesn't exist its
> afterwards removed from the filelist and also from the blacklist
No. rather than doing stat for each source file, stat is done only for
the changed directory (the directory that contains added/deleted file)
itself. Thus although 10 files are created/deleted in certain parent
directory, existance check is done only for once, and fileCreated()
signal is emitted only once.
> b) files that are not in the filelist and not in the blacklist, but fit
> into the wildcards defined as project files are added to an internal
> list. Also new dirs are added to the dirwatcher (which needs another
> stat to find out wether the path is actually a dir or not).
Are you saying kdevelop 3.4?
> These two things make the Kdevelop ui hang as soon a file is changed.
> The amount of hanging depends on how many files are changed. Using the
> just created qmake_parser_experiment branch:
> adding 10 files to the source dir causes a hang of a couple of seconds
> each run of kdev-pg (which alters files in the builddir, which is inside
> the project dir) causes a similar hang for a few seconds.
> I've noticed similar problems when running kdevelop on kdev4 sources.
> Also while KDevelop hangs I see quite large amounts of CPU power spent
> waiting for I/O (using top and block_dump). We even have one or two
> bugreports about this.
> I'd like to remove this dirwatching and the logic that updates the
> filelist. This has the drawback of having to completely re-populate a
> filelist if one doesn't want to manually add new files (think of adding
> various files in different dirs). Currently a "Add New Files To Project"
> option exists which uses the list built during the watching. Also a
> cleaning of the stored filelist is then only done during project
> Are there objections against removing this, including the menu entry (I
> think removing user-visible strings is ok)?
I'm not sure whether you are talking kdev4 or kdev3.4
More information about the KDevelop-devel