1 From 202ffa522668087cc133026febf21a7de8963218 Mon Sep 17 00:00:00 2001
2 From: Milian Wolff <mail@milianw.de>
3 Date: Mon, 1 Dec 2014 11:51:04 +0100
4 Subject: [PATCH 17/30] Optimize: Only do one hash lookup to retrieve value
7 Compilers do not merge the call to contains() and the successive
8 value() lookup. Using iterators thus saves us one QHash lookup.
10 server/src/storage/entities.xsl | 6 +++---
11 1 file changed, 3 insertions(+), 3 deletions(-)
13 diff --git a/server/src/storage/entities.xsl b/server/src/storage/entities.xsl
14 index a397544..9471293 100644
15 --- a/server/src/storage/entities.xsl
16 +++ b/server/src/storage/entities.xsl
17 @@ -168,9 +168,9 @@ set<xsl:value-of select="$methodName"/>( <xsl:call-template name="argument"/> )
18 <xsl:if test="$cache != ''">
19 if ( Private::cacheEnabled ) {
20 QMutexLocker lock(&Private::cacheMutex);
21 - if ( Private::<xsl:value-of select="$cache"/>.contains( <xsl:value-of select="$key"/> ) ) {
22 - const <xsl:value-of select="$className"/> tmp = Private::<xsl:value-of select="$cache"/>.value( <xsl:value-of select="$key"/> );
24 + QHash<<xsl:value-of select="column[@name = $key]/@type"/>, <xsl:value-of select="$className"/>>::const_iterator it = Private::<xsl:value-of select="$cache"/>.constFind(<xsl:value-of select="$key"/>);
25 + if ( it != Private::<xsl:value-of select="$cache"/>.constEnd() ) {