On Saturday 14 Sep 2013 03:04:45 John Layt wrote: > * Rather strangely timeSpec() is 30% slower despite now only returning the > member directly instead of having to do a switch based on the member, a few > other calls are equally confusing.
Ah, stupid me, I was including the creation in the timings, remove that and they're the same or faster. Here's some revised numbers for just the functions themselves, as before 3650 different dates per iteration: Action Base Msecs % create(): 0.299 0.418 40 isNull(): 0.082 0.103 26 isValid(): 0.087 0.152 75 date(): 0.060 0.290 383 time(): 0.060 0.292 387 offsetFromUtc(): 6.929 8.242 19 toMSecsSinceEpoch(): 6.256 8.201 31 toMSecsSinceEpoch1950(): 7.065 3.262 -54 toMSecsSinceEpoch2050(): 8.143 9.983 23 setDate(): 0.449 0.814 81 setTime(): 0.428 0.812 90 setMSecsSinceEpoch(): 6.512 3.971 -39 addDays(): 0.456 0.828 82 addMonths(): 1.598 1.989 24 addYears(): 1.574 1.965 25 addMSecs(): 12.600 9.766 -22 toTimeSpec(): 6.642 8.647 30 toOffsetFromUtc(): 6.983 8.691 24 daysTo(): 0.117 0.603 415 msecsTo(): 12.850 16.660 30 equivalentDiffSpec(): 6.290 8.089 29 lessThanDiffSpec(): 6.288 8.054 28 currentDateTime(): 1.110 0.315 -72 fromMSecsSinceEpoch(): 6.083 2.462 -60 As I said, I'm testing a speed-up for toMSecsSinceEpoch() which makes it faster than the old version, which feeds through to most of the other slower functions. I'll also have a look at date() and time() for improvements which will also improve things like daysTo(), but they will always be slower now. One other note, these are only after the msecs change, adding in the "missing hour" fix has a marginal effect except on toValid() which balloons out to 8.576 as it has to check the tz now. John. _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
