'lightweight' QDir::isAbsolutePath replacement ?
Ralf Habacker
ralf.habacker at freenet.de
Fri Mar 7 22:18:48 GMT 2008
Lubos Lunak schrieb:
> On Thursday 06 of March 2008, Aaron J. Seigo wrote:
>
>> On Thursday 06 March 2008, Ralf Habacker wrote:
>>
>>> The only static method Qt provides to handle this platform independent
>>> is QDir::isAbsolutePath(). Unfortunally this method seems to be very
>>> time expensive because it creates a temporary QDir instance.
>>>
>> just to support this point, when doing some profiling and optimization for
>> icon loading leading up to 4.0, this was at the very top of the profile in
>> the KIconLoader! just changing that to a "by hand" check knocked off a huge
>> chunk of the execution time (i forget the exact #s, i blogged about it
>> though; by the end it was something like a 5x speed up over all, though,
>> and this was a big part of that)
>>
>> so if we could have something light weight in kdelibs that would be great.
>>
>
> As much as I grumble about and generally hate qt-bugs@, I disagree. If
> QDir::isAbsolutePath() path has a performance problem, fix it, send the patch
> to TT and put it to qt-copy/patches. That's one of the reasons it's there.
>
Thiago has announced that qt4.5 will have some optimations in this area
- but this will probably in 2009 - this is to late for kde 4.1 and would
the optimations will reach the requirements Aaron has stated ?
QFileInfo needs three additional classed QFileInfoPrivate, QFSFileEngine
and QFSFileEnginePrivate. I doubt that there will be a solution possible
as fast as the suggestions I made extending QFSFileEngine and/or
QFileInfo with static methods.
But - now the main question - is anyone from the trolltech devs here who
can ensure that such a patch would be accepted ?
If yes, then making a related patch and sending to TT will be the best
option.
If not, a kdelibs located implementation will be the next best option,
maybe replaced later by a qt based implementation.
Any comments ?
Ralf
More information about the kde-core-devel
mailing list