Skip to main content
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
Showing results for 
Search instead for 
Did you mean: 
Not applicable

32 bit outperforming 64 bit by factor of 2-3

I have been doing some benchmarking between the 32 and 64 bit versions of QV, and have found a significant discrepancy in performance for a Pivot Table calc times, which I think may force us to use the 32 bit server if a better solution cannot be found. I am running QV 9 SR3 Build 7440

I suspect that we're doing something funky that most other QV users aren't doing (i.e. large expressions with conditional logic containing set expressions. Interestingly I've separately tested with two different expressions: one dealing with averages (i.e. floating point operations) and the second with only counts and sums (i.e. integer operations).

I should also point out that until SR3 came out, this code didn't work at all in the 64 bit version, so I wonder if my suboptimal performance is related to this patched bug.

I've pasted the Pivot Table dimension definitions below (the first 5 dimensions are primary [i.e. rows], and the 6th dimension is secondary [i.e. columns]).

If anyone has any ideas I'm all ears


=if($(CurOrgLevel) >= 2, ORG1_MemberName2)
=if($(CurOrgLevel) >= 3, ORG1_MemberName3)
=if($(CurOrgLevel) >= 4, ORG1_MemberName4)
=if($(CurOrgLevel) >= 5, ORG1_MemberName5)


CurOrgLevel = 2
PdRollupField = PD1_PeriodName2
PdResp1 = {<SG1_path=,ORG1_path=,ORG1_level={1},ORG1_MemberName1={'Acme Co'}>}
PdResp2 = {<SG1_path=,ORG1_path=,ORG1_level={1},ORG1_MemberName2={'Montana','Idaho','Nevada'}>}
PdResp3 =
PdResp4 =
PdResp5 =

Current Selections:

SG1_path = 'Question 1'
PD1_path = 96 of 296
ORG1_path = NOT 'Acme Co'

Chart Expression:

If(dimensionality()=5 AND $(CurOrgLevel) >= 5,
count($(PdResp5) distinct FT_ResponseId)
if(dimensionality()=4 AND $(CurOrgLevel) >= 4,
sum($(PdResp4) aggr(count($(PdResp4) distinct FT_ResponseId), ORG1_MemberName4, $(PdRollupField)))
if(dimensionality()=3 AND $(CurOrgLevel) >= 3,
sum($(PdResp3) aggr(count($(PdResp3) distinct FT_ResponseId), ORG1_MemberName3, $(PdRollupField)))
if(dimensionality()=2 AND $(CurOrgLevel) >= 2,
sum($(PdResp2) aggr(count($(PdResp2) distinct FT_ResponseId), ORG1_MemberName2, $(PdRollupField)))
if (dimensionality()=1 AND $(CurOrgLevel) >= 1,
sum($(PdResp1) aggr(count($(PdResp1) distinct FT_ResponseId), ORG1_MemberName2, $(PdRollupField)))

0 Replies