<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: searching to get full cpu usage during reload in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421410#M156943</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your loop will most definetely not be parallelized.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should into a way to do the same through scripting, joining tables, etc. instead of looping through all rows.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 May 2013 12:33:12 GMT</pubDate>
    <dc:creator>danielrozental</dc:creator>
    <dc:date>2013-05-03T12:33:12Z</dc:date>
    <item>
      <title>searching to get full cpu usage during reload</title>
      <link>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421407#M156940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am searching any tip to reduce reload time maximising CPU usage:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have built a complex script that calculates payroll data, based on an activity table.&lt;/P&gt;&lt;P&gt;We have aproximately 9000 rows in the activity table, and loop within a for/next script doing a peek of the field values of each row, row by row.&lt;/P&gt;&lt;P&gt;For each source row, we calculate a target row, wrote with an autogenerate command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The script lasts some 30 minutes. The peek function is what seems to be time consumming (if we replace the autogenerate function by a simple trace on the log, no change in the delay).&lt;/P&gt;&lt;P&gt;We have run the same logic on excel/vba, and it goes through the 9000 lines in a few minutes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Testing this process on a dualcore processor (hyperthreading desactivated), we only reach a 50% CPU usage during the for/next phase.&lt;/P&gt;&lt;P&gt;Any tip on how to make more efficient CPU usage to accelerate the loop?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 May 2013 16:10:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421407#M156940</guid>
      <dc:creator />
      <dc:date>2013-05-02T16:10:22Z</dc:date>
    </item>
    <item>
      <title>Re: searching to get full cpu usage during reload</title>
      <link>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421408#M156941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you use Peek you're probably doing an order by also, sorting isn't an operation that can be parallelized.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also make sure you read this tips &lt;A _jive_internal="true" class="loading" href="https://community.qlik.com/docs/DOC-3503"&gt;http://community.qlik.com/docs/DOC-3503&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can also post your code and see if anyone has an idea to optimize it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 May 2013 20:34:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421408#M156941</guid>
      <dc:creator>danielrozental</dc:creator>
      <dc:date>2013-05-02T20:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: searching to get full cpu usage during reload</title>
      <link>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421409#M156942</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your tips.&lt;/P&gt;&lt;P&gt;My code as the structure above.&lt;/P&gt;&lt;P&gt;I don't see any special function in my loop. Just playing with field values, + a couple of variable storing previous row info, etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The performance tests we made are the following:&lt;/P&gt;&lt;P&gt;-TEST1: run loop script on virtualized production server (VMware). 1h15&lt;/P&gt;&lt;P&gt;-TEST2: run loop script on a laptop (i3 double core), moving full environment on laptop, using hyperthreading. 37 min&lt;/P&gt;&lt;P&gt;-TEST3: run loop script on laptop, full environment on laptop, desactivating hyperthreading. 38 min&lt;/P&gt;&lt;P&gt;-TEST4: run loop script on laptop, using server environment (qvw, qvd stored in server). 1h15&lt;/P&gt;&lt;P&gt; having log activated or not does not impact performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&amp;gt; my virtualized server is currently less efficient that a i3 Laptop&lt;/P&gt;&lt;P&gt;-&amp;gt; I don't understand what makes the process slower if ran on the laptop from qvw stored in the server. &lt;/P&gt;&lt;P&gt;Isn't QlikView supposed to work in ram, so that once the qvw is in ram and source qvd loaded,&lt;/P&gt;&lt;P&gt;the process should only work locally, resulting Test4 in similar performance than Test2 or Test3?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My loop process have an average CPU usage of 25%&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for any help!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;---------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;------------------Code structure-----------------------------------&lt;/P&gt;&lt;P&gt;Sub WriteTargetRow (Field1,Field2,...,Field12)&lt;/P&gt;&lt;P&gt;TargetTable:&lt;/P&gt;&lt;P&gt;LOAD &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(Field1)'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; as TargetField1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(Field12)'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; as TargetField12&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTOGENERATE 1;&lt;/P&gt;&lt;P&gt;END Sub;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR vRowNb = 0 to $(vNbOfRowInSourceTable)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vField1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = Text(Peek('Field1',vRowNb ,'Sourcetable'))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vField12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = Text(Peek('Field12',vRowNb ,'Sourcetable'))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF vField1 = Text('HeureFerieNT') THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vTargetField2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'HNF';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vTargetField3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = '$(vField3)'; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL WriteTargetRow ('$(vTargetField1)','$(vTargetField2)',.....'$(vTargetField12)')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; other similar tests on SourceFields values in indented IF /ELSE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vRowNb=vRowNb + 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NEXT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 12:15:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421409#M156942</guid>
      <dc:creator />
      <dc:date>2013-05-03T12:15:07Z</dc:date>
    </item>
    <item>
      <title>Re: searching to get full cpu usage during reload</title>
      <link>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421410#M156943</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your loop will most definetely not be parallelized.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should into a way to do the same through scripting, joining tables, etc. instead of looping through all rows.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 12:33:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421410#M156943</guid>
      <dc:creator>danielrozental</dc:creator>
      <dc:date>2013-05-03T12:33:12Z</dc:date>
    </item>
    <item>
      <title>Re: searching to get full cpu usage during reload</title>
      <link>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421411#M156944</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/plain.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I guess I won't be able to set the script without a peek logic.&lt;/P&gt;&lt;P&gt;I might focus on administrating my process so that it can be executed partially to give more flexibility to the main user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case, i also have interest in getting a dedicated small server with few cpu, but fast ones, to run my reloads.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any idea on how to explain performance difference between my tests 3 and 4?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 12:40:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421411#M156944</guid>
      <dc:creator />
      <dc:date>2013-05-03T12:40:29Z</dc:date>
    </item>
    <item>
      <title>Re: searching to get full cpu usage during reload</title>
      <link>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421412#M156945</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you're reading and writing information through the network you will lose time transferring the data in and out. Or you might have network setup issue where a network card is set to 100 and not 1000 mbps or something like that. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 12:48:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/searching-to-get-full-cpu-usage-during-reload/m-p/421412#M156945</guid>
      <dc:creator>danielrozental</dc:creator>
      <dc:date>2013-05-03T12:48:26Z</dc:date>
    </item>
  </channel>
</rss>

