Sorry to drop another mail. Actually I have a deadline tomorrow (I am done
with benchmarking other frameworks just Virtuoso is left) Is there some way
out by which I may find the query execution time excluding the compilation
time using version 6 of virtuoso?


On Tue, Nov 26, 2013 at 11:21 AM, Rose Beck <rosebeck...@gmail.com> wrote:

> Ok. Is it possible to obtain the query execution time excluding the
> compilation time using version 6 of virtuoso?
>
> I think there is an execution time which virtuoso returns on normal query
> execution. Can I obtain the query execution time by subtracting compilation
> time from the execution time which virtuoso returns on normal query
> execution?
>
>
> On Tue, Nov 26, 2013 at 11:31 AM, Hugh Williams 
> <hwilli...@openlinksw.com>wrote:
>
>> Hi Rose,
>>
>> Actually the explain() function execution time is the compilation time
>> for the query as it does not actually run the query, just compile it ...
>>
>> http://docs.openlinksw.com/virtuoso/fn_explain.html
>>
>>   Best Regards
>> Hugh Williams
>> Professional Services
>> OpenLink Software, Inc.      //              http://www.openlinksw.com/
>> Weblog   -- http://www.openlinksw.com/blogs/
>> LinkedIn -- http://www.linkedin.com/company/openlink-software/
>> Twitter  -- http://twitter.com/OpenLink
>> Google+  -- http://plus.google.com/100570109519069333827/
>> Facebook -- http://www.facebook.com/OpenLinkSoftware
>> Universal Data Access, Integration, and Management Technology Providers
>>
>> On 26 Nov 2013, at 05:25, Rose Beck <rosebeck...@gmail.com> wrote:
>>
>> I mean is the time returned by explain() the query execution time
>> excluding the compilation time?
>>
>>
>>
>> On Tue, Nov 26, 2013 at 10:54 AM, Rose Beck <rosebeck...@gmail.com>wrote:
>>
>>> Sorry my bad.
>>> explain() does return a time. Is the time which is returned by explain
>>> the query execution time?
>>>
>>> SQL> explain('sparql select * where{?a ?b ?c}');
>>> REPORT
>>> VARCHAR
>>>
>>> _______________________________________________________________________________
>>>
>>> {
>>> from DB.DBA.RDF_QUAD by RDF_QUAD_POGS    2.1e+08 rows
>>> Key RDF_QUAD_POGS  ASC ($23 "s_1_2_t0.S", $22 "s_1_2_t0.P", $21
>>> "s_1_2_t0.O")
>>>
>>>
>>>
>>> After code:
>>>       0: $26 "a" := Call __id2in ($23 "s_1_2_t0.S")
>>>       5: $27 "b" := Call __id2in ($22 "s_1_2_t0.P")
>>>       10: $28 "c" := Call __ro2sq ($21 "s_1_2_t0.O")
>>>       15: BReturn 0
>>> Select ($26 "a", $27 "b", $28 "c", <$25 "<DB.DBA.RDF_QUAD s_1_2_t0>"
>>> spec 5>)
>>> }
>>>
>>> 13 Rows. -- 1 msec.
>>>
>>> Since the dataset contains a lot of rows therefore I am a bit confused?
>>>
>>>
>>> On Tue, Nov 26, 2013 at 11:00 AM, Hugh Williams <
>>> hwilli...@openlinksw.com> wrote:
>>>
>>>> Hi Rose,
>>>>
>>>> I don't see any single quotes around the query in the explain function
>>>> call ?
>>>>
>>>>   Best Regards
>>>> Hugh Williams
>>>> Professional Services
>>>> OpenLink Software, Inc.      //              http://www.openlinksw.com/
>>>> Weblog   -- http://www.openlinksw.com/blogs/
>>>> LinkedIn -- http://www.linkedin.com/company/openlink-software/
>>>> Twitter  -- http://twitter.com/OpenLink
>>>> Google+  -- http://plus.google.com/100570109519069333827/
>>>> Facebook -- http://www.facebook.com/OpenLinkSoftware
>>>> Universal Data Access, Integration, and Management Technology Providers
>>>>
>>>> On 26 Nov 2013, at 05:11, Rose Beck <rosebeck...@gmail.com> wrote:
>>>>
>>>> I tried to use explain() with SPARQL but its giving me the following
>>>> error. Also does explain return the query execution time(which does not
>>>> include the compilation time).
>>>>
>>>> SQL> explain (sparql select * where{?a ?b ?c});
>>>>
>>>> *** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1:
>>>> syntax error at 'sparql' before 'SELECT'
>>>> at line 3 of Top-Level:
>>>> explain (sparql select * where{?a ?b ?c})
>>>> SQL> sparql explain(select * where{?a ?b ?c});
>>>>
>>>> *** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1:
>>>> SP030: SPARQL compiler, line 1: syntax error at 'explain' before '('
>>>> at line 4 of Top-Level:
>>>> sparql explain(select * where{?a ?b ?c})
>>>> SQL> explain (select * where{?a ?b ?c});
>>>>
>>>> *** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1:
>>>> syntax error at 'select' before '*'
>>>> at line 5 of Top-Level:
>>>> explain (select * where{?a ?b ?c})
>>>>
>>>>
>>>>
>>>> On Tue, Nov 26, 2013 at 10:47 AM, Hugh Williams <
>>>> hwilli...@openlinksw.com> wrote:
>>>>
>>>>> Hi Rose,
>>>>>
>>>>> You can use the explain() function to obtain a query plan with v6 but
>>>>> it will not include the compilation time, see:
>>>>>
>>>>> http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#perfdiagqueryplans
>>>>>
>>>>>   Best Regards
>>>>> Hugh Williams
>>>>> Professional Services
>>>>> OpenLink Software, Inc.      //
>>>>> http://www.openlinksw.com/
>>>>> Weblog   -- http://www.openlinksw.com/blogs/
>>>>> LinkedIn -- http://www.linkedin.com/company/openlink-software/
>>>>> Twitter  -- http://twitter.com/OpenLink
>>>>> Google+  -- http://plus.google.com/100570109519069333827/
>>>>> Facebook -- http://www.facebook.com/OpenLinkSoftware
>>>>> Universal Data Access, Integration, and Management Technology Providers
>>>>>
>>>>> On 26 Nov 2013, at 01:55, Rose Beck <rosebeck...@gmail.com> wrote:
>>>>>
>>>>> Actually I do  not have admin privileges on the server which I am
>>>>> using, so wont be able to upgrade to version 7. Therefore it will be 
>>>>> really
>>>>> great if there is a method by which I may do profiling  with virtuoso
>>>>> version 6.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Nov 25, 2013 at 5:33 PM, Rose Beck <rosebeck...@gmail.com>wrote:
>>>>>
>>>>>> Thanks a lot for helping again.
>>>>>>
>>>>>> Is there some way out by which I may do profiling with V6?
>>>>>>
>>>>>>
>>>>>> On Mon, Nov 25, 2013 at 5:41 PM, Hugh Williams <
>>>>>> hwilli...@openlinksw.com> wrote:
>>>>>>
>>>>>>> Hi Rose,
>>>>>>>
>>>>>>> As you are runing v6 the profile function will not work it requires
>>>>>>> v7+ ...
>>>>>>>
>>>>>>> The following shows simpler output with the compilation time being
>>>>>>> stated at the end:
>>>>>>>
>>>>>>> SQL> profile ('sparql select count(*) where {?s ?p ?o}');
>>>>>>> result
>>>>>>> LONG VARCHAR
>>>>>>>
>>>>>>> _______________________________________________________________________________
>>>>>>>
>>>>>>> 287536
>>>>>>>
>>>>>>> {
>>>>>>> time      0.11% fanout         1 input         1 rows
>>>>>>> time      0.08% fanout         1 input         1 rows
>>>>>>> { fork
>>>>>>> time     1e+02% fanout         0 input         1 rows
>>>>>>> RDF_QUAD   2.9e+05 rows()
>>>>>>>
>>>>>>>
>>>>>>> After code:
>>>>>>>       0:  sum callret-0 1 set no set_ctr
>>>>>>>       5: BReturn 0
>>>>>>> }
>>>>>>> time     0.046% fanout         0 input         1 rows
>>>>>>> Select (callret-0)
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>>  4 msec 77% cpu,         1 rnd    287210 seq         0% same seg
>>>>>>>     0% same pg
>>>>>>> Compilation: 1 msec 0 reads         0% read 0 messages         0% clw
>>>>>>>
>>>>>>> 4 Rows. -- 132 msec.
>>>>>>> SQL>
>>>>>>>
>>>>>>> So compilation is 1ms and execution is 132msec
>>>>>>>
>>>>>>>   Best Regards
>>>>>>> Hugh Williams
>>>>>>> Professional Services
>>>>>>> OpenLink Software, Inc.      //
>>>>>>> http://www.openlinksw.com/
>>>>>>> Weblog   -- http://www.openlinksw.com/blogs/
>>>>>>> LinkedIn -- http://www.linkedin.com/company/openlink-software/
>>>>>>> Twitter  -- http://twitter.com/OpenLink
>>>>>>> Google+  -- http://plus.google.com/100570109519069333827/
>>>>>>> Facebook -- http://www.facebook.com/OpenLinkSoftware
>>>>>>> Universal Data Access, Integration, and Management Technology
>>>>>>> Providers
>>>>>>>
>>>>>>> On 25 Nov 2013, at 11:19, Rose Beck <rosebeck...@gmail.com> wrote:
>>>>>>>
>>>>>>> Dear Hugh,
>>>>>>>
>>>>>>> Thanks a lot for the help.
>>>>>>> I am using virtuoso version: Version 6.1.8-dev.3127-pthreads as of
>>>>>>> Aug 10 2013
>>>>>>> Also I am unable to find the compilation and query execution time
>>>>>>> from the example result set given below. Can you please help me a bit 
>>>>>>> with
>>>>>>> this.
>>>>>>>
>>>>>>> {
>>>>>>> -- In the below excerpt some lines are omitted. Comments are inline.
>>>>>>>
>>>>>>>
>>>>>>> time   1.3e-06% fanout         1          1 rows in
>>>>>>>
>>>>>>> s# 98 cluster outer seq start, set no <V $40 set_ctr in>
>>>>>>> save ctx:()
>>>>>>>
>>>>>>> -- the section inside the fork is executed to the end
>>>>>>> -- before the section after the fork is started.
>>>>>>> s# 161 Fork 42
>>>>>>> {
>>>>>>> wait time   0.00012% of exec real time, fanout         0
>>>>>>>
>>>>>>> -- The below introduces the 2 stage DFG which does most of the work.
>>>>>>> s# 108   { Cluster location fragment 51 0 unordered
>>>>>>>    Params: ()
>>>>>>> Output: ()
>>>>>>>
>>>>>>> -- First partitioning step. Each of the 32 slices gets the
>>>>>>> -- identical plan to execute, this is a flood for all is this
>>>>>>> -- first step does not specify a partitioning key value.
>>>>>>>
>>>>>>> time     8e-05% fanout         0          0 rows in
>>>>>>> s# 115 Stage 1: Params: (<V $112 set_ctr in>)
>>>>>>>
>>>>>>> -- This is the initial table scan. The operator is executed
>>>>>>> -- 32 times, once for each slice of data.
>>>>>>>
>>>>>>> time      0.33% fanout   3.1e+06         32 rows in
>>>>>>> s# 121 from DB.DBA.ct_c by ct_c    1.7e+08 rows
>>>>>>> Key ct_c  ASC  (<V $28 a.k2 in>)
>>>>>>>  [copies params]
>>>>>>> vector param casts: <V $40 set_ctr in>-> <V $112 set_ctr in>
>>>>>>>
>>>>>>> -- This is the second partitioning step, each of the rows of
>>>>>>> -- output of the previous is sent to the slice corresponding to K2.
>>>>>>>
>>>>>>> time        31% fanout       0.9      2e+08 rows in
>>>>>>> s# 131 Stage 2: Params: (<v $134 q_a.k2 S136 in>, <V $138 set_ctr in>)
>>>>>>>
>>>>>>> -- This is the 2nd index lookup, by a.k2 = b.k1 There are two
>>>>>>> -- parameters given in the vector param cast section, the first
>>>>>>> -- is a.k2 and the second is the set number. This is constant
>>>>>>> -- since the query is run on a single row of input but if the
>>>>>>> -- query were run on multiple rows of input this would specify
>>>>>>> -- which row of input the a.k2 comes from so that this would be
>>>>>>> -- aggregated in the right place. Many aggregates can be produced
>>>>>>> -- in a single invocation with multiple rows of input.
>>>>>>>
>>>>>>> time        68% fanout         0      2e+08 rows in
>>>>>>> s# 144 from DB.DBA.ct_c by ct_c  unq         1 rows
>>>>>>> Key ct_c  ASC  ()
>>>>>>>  inlined  k1 = <v $134 q_a.k2 S136 in>
>>>>>>> vector param casts: <V $28 a.k2 in>-> <v $134 q_a.k2 S136 in>, <r $112 
>>>>>>> set_ctr via  S121>-> <V $138 set_ctr in>
>>>>>>>
>>>>>>>
>>>>>>> -- This is the aggregation.
>>>>>>>
>>>>>>> After code:
>>>>>>>       0:  sum <V $43 count i> 1 set no <r $138 set_ctr via  S144>
>>>>>>>       5: BReturn 0
>>>>>>>
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>> -- The below returns the aggregate to the client. The combining of
>>>>>>> -- aggregates from different slices is implicit in the for operator
>>>>>>> -- whenever this ends with a cluster location fragment.
>>>>>>>
>>>>>>> time   5.4e-07% fanout         0          1 rows in
>>>>>>> s# 164 Select (<V $43 count i>)
>>>>>>>   set no: <V $40 set_ctr in>
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Nov 25, 2013 at 4:42 PM, Rose Beck <rosebeck...@gmail.com>wrote:
>>>>>>>
>>>>>>>> Dear Hugh,
>>>>>>>>
>>>>>>>> Thanks a lot for the help. I tried to profile using profile but I
>>>>>>>> am getting the following errors:
>>>>>>>> SQL> profile('sparql select ?a?b?c where{?a ?b ?c}');
>>>>>>>>
>>>>>>>> *** Error 42001: [Virtuoso Driver][Virtuoso Server]SR185: Undefined
>>>>>>>> procedure DB.DBA.profile.
>>>>>>>> at line 9 of Top-Level:
>>>>>>>> profile('sparql select ?a?b?c where{?a ?b ?c}')
>>>>>>>> SQL> sparql profile('select ?a?b?c where{?a ?b ?c}');
>>>>>>>>
>>>>>>>> *** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1:
>>>>>>>> SP030: SPARQL compiler, line 1: syntax error at 'profile' before '('
>>>>>>>> at line 10 of Top-Level:
>>>>>>>> sparql profile('select ?a?b?c where{?a ?b ?c}')
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Nov 25, 2013 at 4:35 PM, Hugh Williams <
>>>>>>>> hwilli...@openlinksw.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Rose,
>>>>>>>>>
>>>>>>>>> With Virtuoso 7 you can obtain the compilation (query plan) and
>>>>>>>>> query execution time of a query using the "profile" function as 
>>>>>>>>> detailed at:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#readingqueryprofile
>>>>>>>>>
>>>>>>>>> You can also enable general query logging and profiling using the
>>>>>>>>> "prof_enable" function as detailed at:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#querylogging
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   Best Regards
>>>>>>>>> Hugh Williams
>>>>>>>>> Professional Services
>>>>>>>>> OpenLink Software, Inc.      //
>>>>>>>>> http://www.openlinksw.com/
>>>>>>>>> Weblog   -- http://www.openlinksw.com/blogs/
>>>>>>>>> LinkedIn -- http://www.linkedin.com/company/openlink-software/
>>>>>>>>> Twitter  -- http://twitter.com/OpenLink
>>>>>>>>> Google+  -- http://plus.google.com/100570109519069333827/
>>>>>>>>> Facebook -- http://www.facebook.com/OpenLinkSoftware
>>>>>>>>> Universal Data Access, Integration, and Management Technology
>>>>>>>>> Providers
>>>>>>>>>
>>>>>>>>> On 25 Nov 2013, at 09:15, Rose Beck <rosebeck...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> After executing SPARQL queries in virtuoso using:
>>>>>>>>> 1. ./isql 1111 dba dba
>>>>>>>>> 2. And then firing the SPARQL query
>>>>>>>>>
>>>>>>>>> After this virtuoso returns the query execution time. So does the
>>>>>>>>> returned time include the plan generation time. If yes, is it 
>>>>>>>>> possible to
>>>>>>>>> find:
>>>>>>>>>  (plan generation time) and (time to retrieve the results after
>>>>>>>>> the plan has already been generated by Virtuoso)?
>>>>>>>>>
>>>>>>>>> I need to know these query times as I am benchmarking Virtuoso
>>>>>>>>> against postgreSQL. With postgresql I am able to separately retrieve 
>>>>>>>>> the
>>>>>>>>> query execution time after the plan has been generated by postgresql 
>>>>>>>>> using
>>>>>>>>> \timing. It would be great if Virtuoso could  also give me the time it
>>>>>>>>> takes to retrieve the results after the plan has been generated 
>>>>>>>>> separately
>>>>>>>>> as that would help me take a one to one comparison.
>>>>>>>>>
>>>>>>>>> I'll be really grateful to you for the guidance.
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>> Shape the Mobile Experience: Free Subscription
>>>>>>>>> Software experts and developers: Be at the forefront of tech
>>>>>>>>> innovation.
>>>>>>>>> Intel(R) Software Adrenaline delivers strategic insight and
>>>>>>>>> game-changing
>>>>>>>>> conversations that shape the rapidly evolving mobile landscape.
>>>>>>>>> Sign up now.
>>>>>>>>>
>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk_______________________________________________
>>>>>>>>> Virtuoso-users mailing list
>>>>>>>>> Virtuoso-users@lists.sourceforge.net
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Shape the Mobile Experience: Free Subscription
>>>>> Software experts and developers: Be at the forefront of tech
>>>>> innovation.
>>>>> Intel(R) Software Adrenaline delivers strategic insight and
>>>>> game-changing
>>>>> conversations that shape the rapidly evolving mobile landscape. Sign
>>>>> up now.
>>>>>
>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk_______________________________________________
>>>>> Virtuoso-users mailing list
>>>>> Virtuoso-users@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>> ------------------------------------------------------------------------------
>> Shape the Mobile Experience: Free Subscription
>> Software experts and developers: Be at the forefront of tech innovation.
>> Intel(R) Software Adrenaline delivers strategic insight and game-changing
>> conversations that shape the rapidly evolving mobile landscape. Sign up
>> now.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk_______________________________________________
>> Virtuoso-users mailing list
>> Virtuoso-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>
>>
>>
>
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to