zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #01195
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
Matthias Brantner has proposed merging lp:~matthias-brantner/zorba/bug-fixing into lp:zorba.
Requested reviews:
Markos Zaharioudakis (markos-za)
For more details, see:
https://code.launchpad.net/~matthias-brantner/zorba/bug-fixing/+merge/79732
Caching the default collator in the static context. This gives approx. 40% performance improvements when called from TypedValueCompareIterator::openImpl because resolving the URI every time is very expensive.
--
https://code.launchpad.net/~matthias-brantner/zorba/bug-fixing/+merge/79732
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'src/context/static_context.cpp'
--- src/context/static_context.cpp 2011-09-30 08:08:13 +0000
+++ src/context/static_context.cpp 2011-10-18 19:15:29 +0000
@@ -483,6 +483,7 @@
theDocumentMap(NULL),
theCollationMap(NULL),
theDefaultCollation(NULL),
+ theCachedDefaultCollator(NULL),
theOptionMap(NULL),
theAuditEvent(&zorba::audit::NOP_EVENT_IMPL),
#ifndef ZORBA_NO_FULL_TEXT
@@ -530,6 +531,7 @@
theDocumentMap(NULL),
theCollationMap(NULL),
theDefaultCollation(NULL),
+ theCachedDefaultCollator(NULL),
theOptionMap(NULL),
theAuditEvent(&zorba::audit::NOP_EVENT_IMPL),
#ifndef ZORBA_NO_FULL_TEXT
@@ -582,6 +584,7 @@
theDocumentMap(NULL),
theCollationMap(NULL),
theDefaultCollation(NULL),
+ theCachedDefaultCollator(NULL),
theOptionMap(NULL),
theAuditEvent(&zorba::audit::NOP_EVENT_IMPL),
#ifndef ZORBA_NO_FULL_TEXT
@@ -3088,8 +3091,12 @@
********************************************************************************/
XQPCollator* static_context::get_default_collator(const QueryLoc& loc) const
{
- const std::string& default_collation = get_default_collation(loc);
- return get_collator(default_collation, loc);
+ if (!theCachedDefaultCollator)
+ {
+ const std::string& default_collation = get_default_collation(loc);
+ theCachedDefaultCollator = get_collator(default_collation, loc);
+ }
+ return theCachedDefaultCollator;
}
=== modified file 'src/context/static_context.h'
--- src/context/static_context.h 2011-09-30 08:08:13 +0000
+++ src/context/static_context.h 2011-10-18 19:15:29 +0000
@@ -553,6 +553,7 @@
CollationMap * theCollationMap;
std::string * theDefaultCollation;
+ mutable XQPCollator * theCachedDefaultCollator;
OptionMap * theOptionMap;
Follow ups
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: noreply, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Matthias Brantner, 2011-10-18
-
Re: [Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Matthias Brantner, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
Re: [Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Matthias Brantner, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
Re: [Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Zorba Build Bot, 2011-10-18
-
[Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Matthias Brantner, 2011-10-18
-
Re: [Merge] lp:~matthias-brantner/zorba/bug-fixing into lp:zorba
From: Markos Zaharioudakis, 2011-10-18