Speed up sorting of dir entries when sorted by date
authorRobin Burchell <robin+qt@viroteck.net>
Wed, 15 Aug 2012 11:37:15 +0000 (13:37 +0200)
committerQt by Nokia <qt-info@nokia.com>
Mon, 20 Aug 2012 14:02:03 +0000 (16:02 +0200)
commitb9ef4a9c3047228ec007ac81ff0a304f8cc274b7
treeb1507f251df23ed0b8f455c48cf011e702df4520
parentf3fea329fdd4abbc2f2eec0098d0d5aae1c8cc86
Speed up sorting of dir entries when sorted by date

QDateTime will attempt to convert unknown types of date to UTC time, which isn't
exactly a fast process. As we don't care about local timezones in the process of
sorting (as this is purely for ordering, not display to the end user), we can
force the dates to use UTC time, avoiding the unnecessary local timezone lookup.

This also adds a benchmark covering this case.

Benchmark results, Qt 5:
 - before: 11, 489ms
 - after: 273ms

Qt 4.8:
 - before: 20, 848ms
 - after: 278ms

Change-Id: I87fa6260e820b5b172d3306ff395dafe767c33ff
Reported-by: Thomas Perl <m@thp.io>
Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/io/qdir.cpp
tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp