From 5b668d65f998af9a24e11eb3b4aebb1bd404abf2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Thu, 25 Apr 2013 10:53:54 +0200 Subject: [PATCH] temp --- src/ata.ml | 4 +- src/ata.mli | 3 +- src/bitvector.ml | 33 ++++ src/bitvector.mli | 5 + src/eval.ml | 53 +++-- tests/alphabet.xml.summary | 362 +++++++++++++++++----------------- tests/comments00.xml.summary | 10 +- tests/xmark_small.xml.summary | 210 ++++++++++---------- tests/xmark_tiny.xml.summary | 294 --------------------------- 9 files changed, 355 insertions(+), 619 deletions(-) create mode 100644 src/bitvector.ml create mode 100644 src/bitvector.mli delete mode 100644 tests/xmark_tiny.xml.summary diff --git a/src/ata.ml b/src/ata.ml index 8b51a08..01fa639 100644 --- a/src/ata.ml +++ b/src/ata.ml @@ -14,7 +14,7 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) INCLUDE "utils.ml" @@ -202,7 +202,6 @@ type config = { (** optimization infos, not taken into account during hashconsing *) mutable round : int; - mutable unstable_subtree : bool; } module Config = Hcons.Make(struct @@ -244,7 +243,6 @@ let dummy_config = Config.make { sat = StateSet.empty; todo = TransList.nil; summary = dummy_summary; round = 0; - unstable_subtree = true; } diff --git a/src/ata.mli b/src/ata.mli index 56665e2..8a1119e 100644 --- a/src/ata.mli +++ b/src/ata.mli @@ -14,7 +14,7 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) type predicate = @@ -75,7 +75,6 @@ type config = { todo : TransList.t; summary : node_summary; mutable round : int; - mutable unstable_subtree : bool; } module Config : Hcons.S with type data = config diff --git a/src/bitvector.ml b/src/bitvector.ml new file mode 100644 index 0000000..91729df --- /dev/null +++ b/src/bitvector.ml @@ -0,0 +1,33 @@ +type t = { length : int; + bits : string; } + +let create size = + { length = size; + bits = String.make (1 + size / 8) '\000' + } + +let unsafe_get v n = + let i = n / 8 + and j = n mod 8 in + (((Char.code (String.unsafe_get v.bits i)) lsr j) land 1) == 1 + + +let unsafe_set v n (b:bool) = + let x : int = Obj.magic b in + let i = n / 8 + and j = n mod 8 in + let m = 1 lsl j in + let w = Char.code (String.unsafe_get v.bits i) in + let w = (w land lnot m) lor (~-x land m) in + String.unsafe_set v.bits i (Char.unsafe_chr (w land 0xff)) +;; + +let get v n = + if n < 0 || n >= v.length then failwith "Bitvector.get" + else unsafe_get v n +;; + +let set v n b = + if n < 0 || n >= v.length then failwith "Bitvector.set" + else unsafe_set v n b +;; diff --git a/src/bitvector.mli b/src/bitvector.mli new file mode 100644 index 0000000..a385ff3 --- /dev/null +++ b/src/bitvector.mli @@ -0,0 +1,5 @@ +type t + +val create : int -> t +val set : t -> int -> bool -> unit +val get : t -> int -> bool diff --git a/src/eval.ml b/src/eval.ml index 358a7a7..fd52ca1 100644 --- a/src/eval.ml +++ b/src/eval.ml @@ -14,7 +14,7 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) INCLUDE "utils.ml" @@ -38,12 +38,12 @@ END let config = config.Ata.Config.node in let oldi = config.Ata.round in Html.trace (T.preorder tree node) i oldi - "%s
sat: %a
unsat: %a
todo: %around: %i
unstable_subtree: %b
" + "node: %i
%s
sat: %a
unsat: %a
todo: %around: %i
" + ((T.preorder tree node):>int) msg StateSet.print config.Ata.sat StateSet.print config.Ata.unsat - (Ata.TransList.print ~sep:"
") config.Ata.todo oldi config.Ata.unstable_subtree - + (Ata.TransList.print ~sep:"
") config.Ata.todo oldi type cache = StateSet.t Cache.N1.t let get c t n = Cache.N1.find c (T.preorder t n) @@ -60,10 +60,10 @@ END let fc = T.first_child tree node in let ns = T.next_sibling tree node in let tag = T.tag tree node in - let config0 = + let _, config0 = let c = get cache tree node in if c == Cache.N1.dummy cache then - Ata.Config.make + true,Ata.Config.make { c.Ata.Config.node with Ata.todo = Ata.get_trans auto tag auto.Ata.states; summary = Ata.node_summary @@ -78,39 +78,35 @@ END TRACE(html tree node _i config0 "Entering node"); - let ps = get cache tree parent in - let fcs = get cache tree fc in - let nss = get cache tree ns in + let _, ps = get cache tree parent in + let old_unstable_left, fcs = get cache tree fc in + let old_unstable_right, nss = get cache tree ns in let config1 = Ata.eval_trans auto fcs nss ps config0 in TRACE(html tree node _i config1 "Updating transitions"); - if config0 != config1 then set cache tree node config1 _i; - if not Ata.(fcs.Config.node.unstable_subtree) then - Printf.eprintf "Could skip left subtree!%!"; - let unstable_left = Ata.(fcs.Config.node.unstable_subtree) && loop fc in - let fcs1 = get cache tree fc in + if config0 != config1 then set cache tree node (true,config1) _i; + let unstable_left = old_unstable_left && loop fc in + let _, fcs1 = get cache tree fc in let config2 = Ata.eval_trans auto fcs1 nss ps config1 in TRACE(html tree node _i config2 "Updating transitions (after first-child)"); - if config1 != config2 then set cache tree node config2 _i; - if not Ata.(nss.Config.node.unstable_subtree) then - Printf.eprintf "Could skip right subtree!%!"; - let unstable_right = Ata.(nss.Config.node.unstable_subtree) && loop ns in - let nss1 = get cache tree ns in + if config1 != config2 then set cache tree node (true, config2) _i; + let unstable_right = old_unstable_right && loop ns in + let _, nss1 = get cache tree ns in let config3 = Ata.eval_trans auto fcs1 nss1 ps config2 in TRACE(html tree node _i config3 "Updating transitions (after next-sibling)"); - if config2 != config3 then set cache tree node config3 _i; + if config2 != config3 then set cache tree node (true, config3) _i; let unstable = unstable_left || unstable_right || Ata.(TransList.nil != config3.Config.node.todo) in - if Ata.(unstable && not config3.Config.node.unstable_subtree) then - Ata.(config3.Config.node.unstable_subtree <- true); + if Ata.(config3.Config.node.unstable_subtree) && not unstable then + Ata.(config3.Config.node.unstable_subtree <- false); unstable end in @@ -132,13 +128,12 @@ END let eval auto tree node = let cache = Cache.N1.create - Ata.(Config.make { sat = StateSet.empty; - unsat = StateSet.empty; - todo = TransList.nil; - summary = dummy_summary; - round = ~-1; - unstable_subtree = true; - }) + true , Ata.(Config.make { sat = StateSet.empty; + unsat = StateSet.empty; + todo = TransList.nil; + summary = dummy_summary; + round = ~-1 + }) in let redo = ref true in let iter = ref 0 in diff --git a/tests/alphabet.xml.summary b/tests/alphabet.xml.summary index a4af0dc..93c5e64 100644 --- a/tests/alphabet.xml.summary +++ b/tests/alphabet.xml.summary @@ -1,11 +1,11 @@ Query: A1 : //L/* -STATS: parsing xml document: 0.273943ms -STATS: parsing XPath query: 0.031948ms -STATS: compiling XPath query: 0.142813ms +STATS: parsing xml document: 0.548840ms +STATS: parsing XPath query: 0.056982ms +STATS: compiling XPath query: 0.301838ms STATS: Query: /descendant-or-self::node()/child::L/child::* STATS: Automaton: -STATS: evaluating query: 1.357079ms -STATS: serializing results: 1.687050ms +STATS: evaluating query: 143.815994ms +STATS: serializing results: 0.126839ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -13,13 +13,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: A2 : //L/parent::* -STATS: parsing xml document: 0.386000ms -STATS: parsing XPath query: 0.052929ms -STATS: compiling XPath query: 0.163078ms +STATS: parsing xml document: 0.554085ms +STATS: parsing XPath query: 0.067949ms +STATS: compiling XPath query: 0.243902ms STATS: Query: /descendant-or-self::node()/child::L/parent::* STATS: Automaton: -STATS: evaluating query: 2.043962ms -STATS: serializing results: 1.892090ms +STATS: evaluating query: 138.197899ms +STATS: serializing results: 0.321150ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1310 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -27,13 +27,13 @@ STATS: cache4: length: 1464, used: 154, occupation: 0.105191 Diff: ok ------------------------------------------- Query: A3 : //L/descendant::* -STATS: parsing xml document: 0.469923ms -STATS: parsing XPath query: 0.049114ms -STATS: compiling XPath query: 0.212193ms +STATS: parsing xml document: 0.555992ms +STATS: parsing XPath query: 0.060081ms +STATS: compiling XPath query: 0.320196ms STATS: Query: /descendant-or-self::node()/child::L/descendant::* STATS: Automaton: -STATS: evaluating query: 2.212048ms -STATS: serializing results: 1.559973ms +STATS: evaluating query: 139.024973ms +STATS: serializing results: 0.113010ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 918 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -41,13 +41,13 @@ STATS: cache4: length: 1060, used: 142, occupation: 0.133962 Diff: ok ------------------------------------------- Query: A4 : //L/descendant-or-self::* -STATS: parsing xml document: 0.365973ms -STATS: parsing XPath query: 0.047922ms -STATS: compiling XPath query: 0.175953ms +STATS: parsing xml document: 0.549078ms +STATS: parsing XPath query: 0.061989ms +STATS: compiling XPath query: 0.271082ms STATS: Query: /descendant-or-self::node()/child::L/descendant-or-self::* STATS: Automaton: -STATS: evaluating query: 2.229929ms -STATS: serializing results: 1.845121ms +STATS: evaluating query: 135.263920ms +STATS: serializing results: 0.138998ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 918 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -55,13 +55,13 @@ STATS: cache4: length: 1060, used: 142, occupation: 0.133962 Diff: ok ------------------------------------------- Query: A5 : //L/ancestor::* -STATS: parsing xml document: 0.375032ms -STATS: parsing XPath query: 0.045061ms -STATS: compiling XPath query: 0.174046ms +STATS: parsing xml document: 0.556946ms +STATS: parsing XPath query: 0.063181ms +STATS: compiling XPath query: 0.370979ms STATS: Query: /descendant-or-self::node()/child::L/ancestor::* STATS: Automaton: -STATS: evaluating query: 2.063036ms -STATS: serializing results: 2.068996ms +STATS: evaluating query: 136.641979ms +STATS: serializing results: 0.174046ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1320 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -69,13 +69,13 @@ STATS: cache4: length: 1476, used: 156, occupation: 0.105691 Diff: ok ------------------------------------------- Query: A6 : //L/ancestor-or-self::* -STATS: parsing xml document: 0.373840ms -STATS: parsing XPath query: 0.046015ms -STATS: compiling XPath query: 0.215054ms +STATS: parsing xml document: 0.530958ms +STATS: parsing XPath query: 0.047922ms +STATS: compiling XPath query: 0.225067ms STATS: Query: /descendant-or-self::node()/child::L/ancestor-or-self::* STATS: Automaton: -STATS: evaluating query: 2.351999ms -STATS: serializing results: 2.168894ms +STATS: evaluating query: 142.638922ms +STATS: serializing results: 0.296831ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1242 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -83,13 +83,13 @@ STATS: cache4: length: 1397, used: 155, occupation: 0.110952 Diff: ok ------------------------------------------- Query: A7 : //L/following-sibling::* -STATS: parsing xml document: 0.376940ms -STATS: parsing XPath query: 0.045061ms -STATS: compiling XPath query: 0.172138ms +STATS: parsing xml document: 0.547886ms +STATS: parsing XPath query: 0.061989ms +STATS: compiling XPath query: 0.241995ms STATS: Query: /descendant-or-self::node()/child::L/following-sibling::* STATS: Automaton: -STATS: evaluating query: 1.918077ms -STATS: serializing results: 1.551867ms +STATS: evaluating query: 128.535032ms +STATS: serializing results: 0.105858ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1051 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -97,13 +97,13 @@ STATS: cache4: length: 1173, used: 122, occupation: 0.104007 Diff: ok ------------------------------------------- Query: A8 : //L/preceding-sibling::* -STATS: parsing xml document: 0.365973ms -STATS: parsing XPath query: 0.070810ms -STATS: compiling XPath query: 0.162125ms +STATS: parsing xml document: 0.547886ms +STATS: parsing XPath query: 0.072956ms +STATS: compiling XPath query: 0.293016ms STATS: Query: /descendant-or-self::node()/child::L/preceding-sibling::* STATS: Automaton: -STATS: evaluating query: 1.935959ms -STATS: serializing results: 1.722097ms +STATS: evaluating query: 135.153055ms +STATS: serializing results: 0.109911ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1174 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -111,13 +111,13 @@ STATS: cache4: length: 1314, used: 140, occupation: 0.106545 Diff: ok ------------------------------------------- Query: A9 : //L/following::* -STATS: parsing xml document: 0.371933ms -STATS: parsing XPath query: 0.046968ms -STATS: compiling XPath query: 0.277042ms +STATS: parsing xml document: 0.552177ms +STATS: parsing XPath query: 0.063896ms +STATS: compiling XPath query: 0.425100ms STATS: Query: /descendant-or-self::node()/child::L/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::* STATS: Automaton: -STATS: evaluating query: 6.926060ms -STATS: serializing results: 1.893997ms +STATS: evaluating query: 163.617134ms +STATS: serializing results: 0.147104ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 2104 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -125,27 +125,27 @@ STATS: cache4: length: 2334, used: 230, occupation: 0.098543 Diff: ok ------------------------------------------- Query: A10 : //L/preceding::* -STATS: parsing xml document: 0.372887ms -STATS: parsing XPath query: 0.053883ms -STATS: compiling XPath query: 0.284910ms +STATS: parsing xml document: 0.637054ms +STATS: parsing XPath query: 0.074148ms +STATS: compiling XPath query: 0.427008ms STATS: Query: /descendant-or-self::node()/child::L/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::* STATS: Automaton: -STATS: evaluating query: 7.807970ms -STATS: serializing results: 1.873016ms +STATS: evaluating query: 201.319218ms +STATS: serializing results: 0.159025ms STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 942 entries +STATS: automaton 0, cache2: 0 entries, cache6: 941 entries STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1077, used: 135, occupation: 0.125348 +STATS: cache4: length: 1074, used: 133, occupation: 0.123836 Diff: ok ------------------------------------------- Query: A11 : //L/self::* -STATS: parsing xml document: 0.367165ms -STATS: parsing XPath query: 0.047207ms -STATS: compiling XPath query: 0.145912ms +STATS: parsing xml document: 0.553846ms +STATS: parsing XPath query: 0.060081ms +STATS: compiling XPath query: 0.231981ms STATS: Query: /descendant-or-self::node()/child::L/self::* STATS: Automaton: -STATS: evaluating query: 1.688957ms -STATS: serializing results: 1.632929ms +STATS: evaluating query: 131.052017ms +STATS: serializing results: 0.113964ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 837 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -153,13 +153,13 @@ STATS: cache4: length: 946, used: 109, occupation: 0.115222 Diff: ok ------------------------------------------- Query: A12 : //L/@id/parent::* -STATS: parsing xml document: 0.365019ms -STATS: parsing XPath query: 0.062943ms -STATS: compiling XPath query: 0.230074ms +STATS: parsing xml document: 0.632048ms +STATS: parsing XPath query: 0.077009ms +STATS: compiling XPath query: 0.351191ms STATS: Query: /descendant-or-self::node()/child::L/attribute::@id/parent::* STATS: Automaton: -STATS: evaluating query: 2.954006ms -STATS: serializing results: 1.592875ms +STATS: evaluating query: 144.134045ms +STATS: serializing results: 0.113964ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1594 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -167,13 +167,13 @@ STATS: cache4: length: 1750, used: 156, occupation: 0.089143 Diff: ok ------------------------------------------- Query: P1 : //*[L] -STATS: parsing xml document: 0.375032ms -STATS: parsing XPath query: 0.041962ms -STATS: compiling XPath query: 0.159979ms +STATS: parsing xml document: 0.560999ms +STATS: parsing XPath query: 0.059128ms +STATS: compiling XPath query: 0.232935ms STATS: Query: /descendant-or-self::node()/child::*[ child::L ] STATS: Automaton: -STATS: evaluating query: 1.675844ms -STATS: serializing results: 1.981974ms +STATS: evaluating query: 139.696121ms +STATS: serializing results: 0.160933ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1326 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -181,13 +181,13 @@ STATS: cache4: length: 1480, used: 154, occupation: 0.104054 Diff: ok ------------------------------------------- Query: P2 : //*[parent::L] -STATS: parsing xml document: 0.432968ms -STATS: parsing XPath query: 0.052929ms -STATS: compiling XPath query: 0.165939ms +STATS: parsing xml document: 0.554085ms +STATS: parsing XPath query: 0.067949ms +STATS: compiling XPath query: 0.285864ms STATS: Query: /descendant-or-self::node()/child::*[ parent::L ] STATS: Automaton: -STATS: evaluating query: 1.738071ms -STATS: serializing results: 1.655102ms +STATS: evaluating query: 141.451120ms +STATS: serializing results: 0.101805ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -195,13 +195,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: P3 : //*[descendant::L] -STATS: parsing xml document: 0.375032ms -STATS: parsing XPath query: 0.046968ms -STATS: compiling XPath query: 0.176907ms +STATS: parsing xml document: 0.563145ms +STATS: parsing XPath query: 0.065088ms +STATS: compiling XPath query: 0.247955ms STATS: Query: /descendant-or-self::node()/child::*[ descendant::L ] STATS: Automaton: -STATS: evaluating query: 2.294064ms -STATS: serializing results: 2.086878ms +STATS: evaluating query: 133.634090ms +STATS: serializing results: 0.274181ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1336 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -209,13 +209,13 @@ STATS: cache4: length: 1492, used: 156, occupation: 0.104558 Diff: ok ------------------------------------------- Query: P4 : //*[descendant-or-self::L] -STATS: parsing xml document: 0.414133ms -STATS: parsing XPath query: 0.047922ms -STATS: compiling XPath query: 0.169992ms +STATS: parsing xml document: 0.655890ms +STATS: parsing XPath query: 0.062943ms +STATS: compiling XPath query: 0.263929ms STATS: Query: /descendant-or-self::node()/child::*[ descendant-or-self::L ] STATS: Automaton: -STATS: evaluating query: 2.105951ms -STATS: serializing results: 2.239943ms +STATS: evaluating query: 146.183014ms +STATS: serializing results: 0.303984ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1242 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -223,13 +223,13 @@ STATS: cache4: length: 1397, used: 155, occupation: 0.110952 Diff: ok ------------------------------------------- Query: P5 : //*[ancestor::L] -STATS: parsing xml document: 0.371933ms -STATS: parsing XPath query: 0.048876ms -STATS: compiling XPath query: 0.190020ms +STATS: parsing xml document: 0.551939ms +STATS: parsing XPath query: 0.062943ms +STATS: compiling XPath query: 0.285864ms STATS: Query: /descendant-or-self::node()/child::*[ ancestor::L ] STATS: Automaton: -STATS: evaluating query: 2.069950ms -STATS: serializing results: 1.581192ms +STATS: evaluating query: 146.598816ms +STATS: serializing results: 0.114918ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 918 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -237,13 +237,13 @@ STATS: cache4: length: 1060, used: 142, occupation: 0.133962 Diff: ok ------------------------------------------- Query: P6 : //*[ancestor-or-self::L] -STATS: parsing xml document: 0.371933ms -STATS: parsing XPath query: 0.046968ms -STATS: compiling XPath query: 0.189066ms +STATS: parsing xml document: 0.544071ms +STATS: parsing XPath query: 0.064135ms +STATS: compiling XPath query: 0.274897ms STATS: Query: /descendant-or-self::node()/child::*[ ancestor-or-self::L ] STATS: Automaton: -STATS: evaluating query: 1.805067ms -STATS: serializing results: 1.686096ms +STATS: evaluating query: 138.018131ms +STATS: serializing results: 0.143051ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 918 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -251,13 +251,13 @@ STATS: cache4: length: 1060, used: 142, occupation: 0.133962 Diff: ok ------------------------------------------- Query: P7 : //*[following-sibling::L] -STATS: parsing xml document: 0.369072ms -STATS: parsing XPath query: 0.047922ms -STATS: compiling XPath query: 0.158787ms +STATS: parsing xml document: 0.545979ms +STATS: parsing XPath query: 0.064135ms +STATS: compiling XPath query: 0.231028ms STATS: Query: /descendant-or-self::node()/child::*[ following-sibling::L ] STATS: Automaton: -STATS: evaluating query: 1.772881ms -STATS: serializing results: 1.531124ms +STATS: evaluating query: 134.088993ms +STATS: serializing results: 0.110149ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1174 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -265,13 +265,13 @@ STATS: cache4: length: 1314, used: 140, occupation: 0.106545 Diff: ok ------------------------------------------- Query: P8 : //*[preceding-sibling::L] -STATS: parsing xml document: 0.367165ms -STATS: parsing XPath query: 0.058889ms -STATS: compiling XPath query: 0.153065ms +STATS: parsing xml document: 0.558138ms +STATS: parsing XPath query: 0.073910ms +STATS: compiling XPath query: 0.233173ms STATS: Query: /descendant-or-self::node()/child::*[ preceding-sibling::L ] STATS: Automaton: -STATS: evaluating query: 1.419067ms -STATS: serializing results: 1.618147ms +STATS: evaluating query: 137.306929ms +STATS: serializing results: 0.104904ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1051 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -279,27 +279,27 @@ STATS: cache4: length: 1173, used: 122, occupation: 0.104007 Diff: ok ------------------------------------------- Query: P9 : //*[following::L] -STATS: parsing xml document: 0.360012ms -STATS: parsing XPath query: 0.047922ms -STATS: compiling XPath query: 0.232935ms +STATS: parsing xml document: 0.558138ms +STATS: parsing XPath query: 0.063896ms +STATS: compiling XPath query: 0.343800ms STATS: Query: /descendant-or-self::node()/child::*[ ancestor-or-self::node()/following-sibling::node()/descendant-or-self::L ] STATS: Automaton: -STATS: evaluating query: 6.263018ms -STATS: serializing results: 1.722097ms +STATS: evaluating query: 186.290979ms +STATS: serializing results: 0.090122ms STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 780 entries +STATS: automaton 0, cache2: 0 entries, cache6: 779 entries STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 915, used: 135, occupation: 0.147541 +STATS: cache4: length: 912, used: 133, occupation: 0.145833 Diff: ok ------------------------------------------- Query: P10 : //*[preceding::L] -STATS: parsing xml document: 0.365973ms -STATS: parsing XPath query: 0.061989ms -STATS: compiling XPath query: 0.229120ms +STATS: parsing xml document: 0.553846ms +STATS: parsing XPath query: 0.076056ms +STATS: compiling XPath query: 0.351191ms STATS: Query: /descendant-or-self::node()/child::*[ ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::L ] STATS: Automaton: -STATS: evaluating query: 3.866911ms -STATS: serializing results: 1.757860ms +STATS: evaluating query: 151.458025ms +STATS: serializing results: 0.101089ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1767 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -307,13 +307,13 @@ STATS: cache4: length: 1980, used: 213, occupation: 0.107576 Diff: ok ------------------------------------------- Query: P11 : //*[self::L] -STATS: parsing xml document: 0.379086ms -STATS: parsing XPath query: 0.041962ms -STATS: compiling XPath query: 0.138044ms +STATS: parsing xml document: 0.576019ms +STATS: parsing XPath query: 0.061989ms +STATS: compiling XPath query: 0.214815ms STATS: Query: /descendant-or-self::node()/child::*[ self::L ] STATS: Automaton: -STATS: evaluating query: 1.396179ms -STATS: serializing results: 1.624823ms +STATS: evaluating query: 131.872892ms +STATS: serializing results: 0.112057ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 837 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -321,13 +321,13 @@ STATS: cache4: length: 946, used: 109, occupation: 0.115222 Diff: ok ------------------------------------------- Query: P12 : //*[@id] -STATS: parsing xml document: 0.368834ms -STATS: parsing XPath query: 0.042915ms -STATS: compiling XPath query: 0.159025ms +STATS: parsing xml document: 0.578880ms +STATS: parsing XPath query: 0.060081ms +STATS: compiling XPath query: 0.235081ms STATS: Query: /descendant-or-self::node()/child::*[ attribute::@id ] STATS: Automaton: -STATS: evaluating query: 1.451969ms -STATS: serializing results: 2.529860ms +STATS: evaluating query: 136.634827ms +STATS: serializing results: 0.459909ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 907 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -335,13 +335,13 @@ STATS: cache4: length: 1022, used: 115, occupation: 0.112524 Diff: ok ------------------------------------------- Query: T1 : //L/text() -STATS: parsing xml document: 0.361919ms -STATS: parsing XPath query: 0.056028ms -STATS: compiling XPath query: 0.310183ms +STATS: parsing xml document: 0.551939ms +STATS: parsing XPath query: 0.077963ms +STATS: compiling XPath query: 0.298023ms STATS: Query: /descendant-or-self::node()/child::L/child::text() STATS: Automaton: -STATS: evaluating query: 2.119064ms -STATS: serializing results: 1.483917ms +STATS: evaluating query: 136.301994ms +STATS: serializing results: 0.074863ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -349,13 +349,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: T2 : //L/comment() -STATS: parsing xml document: 0.418901ms -STATS: parsing XPath query: 0.066042ms -STATS: compiling XPath query: 0.249863ms +STATS: parsing xml document: 0.564098ms +STATS: parsing XPath query: 0.091076ms +STATS: compiling XPath query: 0.303030ms STATS: Query: /descendant-or-self::node()/child::L/child::comment() STATS: Automaton: -STATS: evaluating query: 2.057076ms -STATS: serializing results: 1.518011ms +STATS: evaluating query: 133.058071ms +STATS: serializing results: 0.067949ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -363,13 +363,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: T3 : //L/processing-instruction() -STATS: parsing xml document: 0.372887ms -STATS: parsing XPath query: 0.066996ms -STATS: compiling XPath query: 0.199080ms +STATS: parsing xml document: 0.547171ms +STATS: parsing XPath query: 0.099182ms +STATS: compiling XPath query: 0.407934ms STATS: Query: /descendant-or-self::node()/child::L/child::processing-instruction() STATS: Automaton: -STATS: evaluating query: 2.147913ms -STATS: serializing results: 1.501799ms +STATS: evaluating query: 137.789965ms +STATS: serializing results: 0.077963ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -377,13 +377,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: T4 : //L/processing-instruction("myPI") -STATS: parsing xml document: 0.376940ms -STATS: parsing XPath query: 0.077963ms -STATS: compiling XPath query: 0.203133ms +STATS: parsing xml document: 0.540972ms +STATS: parsing XPath query: 0.108004ms +STATS: compiling XPath query: 0.409126ms STATS: Query: /descendant-or-self::node()/child::L/child::processing-instruction('?myPI') STATS: Automaton: -STATS: evaluating query: 2.029896ms -STATS: serializing results: 1.441956ms +STATS: evaluating query: 132.414818ms +STATS: serializing results: 0.075817ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -391,13 +391,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: T5 : //L/node() -STATS: parsing xml document: 0.370026ms -STATS: parsing XPath query: 0.055790ms -STATS: compiling XPath query: 0.197887ms +STATS: parsing xml document: 0.549078ms +STATS: parsing XPath query: 0.076056ms +STATS: compiling XPath query: 0.291109ms STATS: Query: /descendant-or-self::node()/child::L/child::node() STATS: Automaton: -STATS: evaluating query: 1.987934ms -STATS: serializing results: 1.667023ms +STATS: evaluating query: 139.785051ms +STATS: serializing results: 0.116825ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -405,13 +405,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: T6 : //L/N -STATS: parsing xml document: 0.372887ms -STATS: parsing XPath query: 0.044823ms -STATS: compiling XPath query: 0.205994ms +STATS: parsing xml document: 0.553846ms +STATS: parsing XPath query: 0.061035ms +STATS: compiling XPath query: 0.307083ms STATS: Query: /descendant-or-self::node()/child::L/child::N STATS: Automaton: -STATS: evaluating query: 2.081871ms -STATS: serializing results: 1.513004ms +STATS: evaluating query: 135.293007ms +STATS: serializing results: 0.109911ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 819 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -419,13 +419,13 @@ STATS: cache4: length: 952, used: 133, occupation: 0.139706 Diff: ok ------------------------------------------- Query: T7 : //L/* -STATS: parsing xml document: 0.377893ms -STATS: parsing XPath query: 0.046015ms -STATS: compiling XPath query: 0.201941ms +STATS: parsing xml document: 0.647068ms +STATS: parsing XPath query: 0.056028ms +STATS: compiling XPath query: 0.302076ms STATS: Query: /descendant-or-self::node()/child::L/child::* STATS: Automaton: -STATS: evaluating query: 1.969099ms -STATS: serializing results: 1.557112ms +STATS: evaluating query: 136.944771ms +STATS: serializing results: 0.104904ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 809 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -433,13 +433,13 @@ STATS: cache4: length: 933, used: 124, occupation: 0.132905 Diff: ok ------------------------------------------- Query: O1 : //*[child::* and preceding::Q] -STATS: parsing xml document: 0.375986ms -STATS: parsing XPath query: 0.054121ms -STATS: compiling XPath query: 0.251055ms +STATS: parsing xml document: 0.321865ms +STATS: parsing XPath query: 0.101089ms +STATS: compiling XPath query: 0.393867ms STATS: Query: /descendant-or-self::node()/child::*[ child::* and ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::Q ] STATS: Automaton: -STATS: evaluating query: 5.450010ms -STATS: serializing results: 1.646042ms +STATS: evaluating query: 154.838085ms +STATS: serializing results: 0.120878ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1873 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -447,13 +447,13 @@ STATS: cache4: length: 2090, used: 217, occupation: 0.103828 Diff: ok ------------------------------------------- Query: O2 : //*[not(child::*) and preceding::Q] -STATS: parsing xml document: 0.358105ms -STATS: parsing XPath query: 0.061035ms -STATS: compiling XPath query: 0.333786ms +STATS: parsing xml document: 0.550032ms +STATS: parsing XPath query: 0.091076ms +STATS: compiling XPath query: 0.397921ms STATS: Query: /descendant-or-self::node()/child::*[ not(child::*) and ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::Q ] STATS: Automaton: -STATS: evaluating query: 5.686045ms -STATS: serializing results: 1.607180ms +STATS: evaluating query: 160.339832ms +STATS: serializing results: 0.063896ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 1873 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 @@ -461,27 +461,27 @@ STATS: cache4: length: 2090, used: 217, occupation: 0.103828 Diff: ok ------------------------------------------- Query: O3 : //*[preceding::L or following::L] -STATS: parsing xml document: 0.378132ms -STATS: parsing XPath query: 0.060797ms -STATS: compiling XPath query: 0.334024ms +STATS: parsing xml document: 0.547886ms +STATS: parsing XPath query: 0.087023ms +STATS: compiling XPath query: 0.487089ms STATS: Query: /descendant-or-self::node()/child::*[ ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::L or ancestor-or-self::node()/following-sibling::node()/descendant-or-self::L ] STATS: Automaton: -STATS: evaluating query: 10.611057ms -STATS: serializing results: 1.986027ms +STATS: evaluating query: 224.081993ms +STATS: serializing results: 0.215054ms STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 610 entries +STATS: automaton 0, cache2: 0 entries, cache6: 582 entries STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 778, used: 168, occupation: 0.215938 +STATS: cache4: length: 747, used: 165, occupation: 0.220884 Diff: ok ------------------------------------------- Query: O4 : //L/ancestor::* | //L/descendant::* -STATS: parsing xml document: 0.406981ms -STATS: parsing XPath query: 0.067949ms -STATS: compiling XPath query: 0.372887ms +STATS: parsing xml document: 0.553131ms +STATS: parsing XPath query: 0.068903ms +STATS: compiling XPath query: 0.566006ms STATS: Query: /descendant-or-self::node()/child::L/ancestor::* | /descendant-or-self::node()/child::L/descendant::* STATS: Automaton: -STATS: evaluating query: 7.152081ms -STATS: serializing results: 2.159119ms +STATS: evaluating query: 178.429842ms +STATS: serializing results: 0.290155ms STATS: 1 iterations STATS: automaton 0, cache2: 70 entries, cache6: 2345 entries STATS: cache2: length: 105, used: 35, occupation: 0.333333 diff --git a/tests/comments00.xml.summary b/tests/comments00.xml.summary index 845e330..e891042 100644 --- a/tests/comments00.xml.summary +++ b/tests/comments00.xml.summary @@ -1,11 +1,11 @@ Query: C0 : /descendant::comment() -STATS: parsing xml document: 0.116110ms -STATS: parsing XPath query: 0.055790ms -STATS: compiling XPath query: 0.086069ms +STATS: parsing xml document: 0.512838ms +STATS: parsing XPath query: 0.077963ms +STATS: compiling XPath query: 0.122070ms STATS: Query: /descendant::comment() STATS: Automaton: -STATS: evaluating query: 0.079870ms -STATS: serializing results: 1.483917ms +STATS: evaluating query: 48.376083ms +STATS: serializing results: 0.030994ms STATS: 1 iterations STATS: automaton 0, cache2: 6 entries, cache6: 18 entries STATS: cache2: length: 9, used: 3, occupation: 0.333333 diff --git a/tests/xmark_small.xml.summary b/tests/xmark_small.xml.summary index 95c5c2d..333dd75 100644 --- a/tests/xmark_small.xml.summary +++ b/tests/xmark_small.xml.summary @@ -1,11 +1,11 @@ Query: A1 : /site/closed_auctions/closed_auction/annotation/description/text/keyword -STATS: parsing xml document: 192.482948ms -STATS: parsing XPath query: 0.085115ms -STATS: compiling XPath query: 0.261068ms +STATS: parsing xml document: 410.294056ms +STATS: parsing XPath query: 0.077963ms +STATS: compiling XPath query: 0.396013ms STATS: Query: /child::site/child::closed_auctions/child::closed_auction/child::annotation/child::description/child::text/child::keyword STATS: Automaton: -STATS: evaluating query: 108.249903ms -STATS: serializing results: 3.324032ms +STATS: evaluating query: 211.765051ms +STATS: serializing results: 0.488043ms STATS: 1 iterations STATS: automaton 0, cache2: 170 entries, cache6: 3149 entries STATS: cache2: length: 255, used: 85, occupation: 0.333333 @@ -13,13 +13,13 @@ STATS: cache4: length: 3464, used: 315, occupation: 0.090935 Diff: ok ------------------------------------------- Query: A2 : //closed_auction//keyword -STATS: parsing xml document: 192.501068ms -STATS: parsing XPath query: 0.058889ms -STATS: compiling XPath query: 0.138998ms +STATS: parsing xml document: 412.861109ms +STATS: parsing XPath query: 0.049829ms +STATS: compiling XPath query: 0.177860ms STATS: Query: /descendant-or-self::node()/child::closed_auction/descendant-or-self::node()/child::keyword STATS: Automaton: -STATS: evaluating query: 129.096985ms -STATS: serializing results: 6.552219ms +STATS: evaluating query: 239.673138ms +STATS: serializing results: 1.279831ms STATS: 1 iterations STATS: automaton 0, cache2: 170 entries, cache6: 2681 entries STATS: cache2: length: 255, used: 85, occupation: 0.333333 @@ -27,13 +27,13 @@ STATS: cache4: length: 2915, used: 234, occupation: 0.080274 Diff: ok ------------------------------------------- Query: A3 : /site/closed_auctions/closed_auction//keyword -STATS: parsing xml document: 185.832024ms -STATS: parsing XPath query: 0.071049ms -STATS: compiling XPath query: 0.129938ms +STATS: parsing xml document: 409.093857ms +STATS: parsing XPath query: 0.059128ms +STATS: compiling XPath query: 0.230074ms STATS: Query: /child::site/child::closed_auctions/child::closed_auction/descendant-or-self::node()/child::keyword STATS: Automaton: -STATS: evaluating query: 123.064041ms -STATS: serializing results: 6.781101ms +STATS: evaluating query: 232.646942ms +STATS: serializing results: 1.214027ms STATS: 1 iterations STATS: automaton 0, cache2: 170 entries, cache6: 3277 entries STATS: cache2: length: 255, used: 85, occupation: 0.333333 @@ -41,13 +41,13 @@ STATS: cache4: length: 3555, used: 278, occupation: 0.078200 Diff: ok ------------------------------------------- Query: A4 : /site/closed_auctions/closed_auction[annotation/description/text/keyword]/date -STATS: parsing xml document: 199.089050ms -STATS: parsing XPath query: 0.107050ms -STATS: compiling XPath query: 0.153065ms +STATS: parsing xml document: 411.557913ms +STATS: parsing XPath query: 0.082970ms +STATS: compiling XPath query: 0.281811ms STATS: Query: /child::site/child::closed_auctions/child::closed_auction[ child::annotation/child::description/child::text/child::keyword ]/child::date STATS: Automaton: -STATS: evaluating query: 166.728973ms -STATS: serializing results: 2.009153ms +STATS: evaluating query: 313.055992ms +STATS: serializing results: 0.196934ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 1324 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -55,13 +55,13 @@ STATS: cache4: length: 1501, used: 177, occupation: 0.117921 Diff: ok ------------------------------------------- Query: A5 : /site/closed_auctions/closed_auction[descendant::keyword]/date -STATS: parsing xml document: 187.058926ms -STATS: parsing XPath query: 0.071049ms -STATS: compiling XPath query: 0.151873ms +STATS: parsing xml document: 407.375097ms +STATS: parsing XPath query: 0.066996ms +STATS: compiling XPath query: 0.221014ms STATS: Query: /child::site/child::closed_auctions/child::closed_auction[ descendant::keyword ]/child::date STATS: Automaton: -STATS: evaluating query: 167.564154ms -STATS: serializing results: 2.597094ms +STATS: evaluating query: 307.749987ms +STATS: serializing results: 0.308990ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 1170 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -69,13 +69,13 @@ STATS: cache4: length: 1328, used: 158, occupation: 0.118976 Diff: ok ------------------------------------------- Query: A6 : /site/people/person[profile/gender and profile/age]/name -STATS: parsing xml document: 189.209938ms -STATS: parsing XPath query: 0.105143ms -STATS: compiling XPath query: 0.147104ms +STATS: parsing xml document: 408.198118ms +STATS: parsing XPath query: 0.082970ms +STATS: compiling XPath query: 0.280142ms STATS: Query: /child::site/child::people/child::person[ child::profile/child::gender and child::profile/child::age ]/child::name STATS: Automaton: -STATS: evaluating query: 166.081190ms -STATS: serializing results: 2.472162ms +STATS: evaluating query: 305.827141ms +STATS: serializing results: 0.275135ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 2174 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -83,13 +83,13 @@ STATS: cache4: length: 2385, used: 211, occupation: 0.088470 Diff: ok ------------------------------------------- Query: A7 : /site/people/person[phone or homepage]/name -STATS: parsing xml document: 192.768097ms -STATS: parsing XPath query: 0.132084ms -STATS: compiling XPath query: 0.111103ms +STATS: parsing xml document: 405.750990ms +STATS: parsing XPath query: 0.069857ms +STATS: compiling XPath query: 0.235081ms STATS: Query: /child::site/child::people/child::person[ child::phone or child::homepage ]/child::name STATS: Automaton: -STATS: evaluating query: 162.614822ms -STATS: serializing results: 4.990816ms +STATS: evaluating query: 309.036016ms +STATS: serializing results: 1.051903ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 1728 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -97,13 +97,13 @@ STATS: cache4: length: 1927, used: 199, occupation: 0.103269 Diff: ok ------------------------------------------- Query: A8 : /site/people/person[address and (phone or homepage) and (creditcard or profile)]/name -STATS: parsing xml document: 191.587925ms -STATS: parsing XPath query: 0.117064ms -STATS: compiling XPath query: 0.157118ms +STATS: parsing xml document: 417.298794ms +STATS: parsing XPath query: 0.096083ms +STATS: compiling XPath query: 0.298977ms STATS: Query: /child::site/child::people/child::person[ child::address and (child::phone or child::homepage) and (child::creditcard or child::profile) ]/child::name STATS: Automaton: -STATS: evaluating query: 175.364017ms -STATS: serializing results: 3.123999ms +STATS: evaluating query: 325.822115ms +STATS: serializing results: 0.463009ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 9331 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -111,13 +111,13 @@ STATS: cache4: length: 10253, used: 922, occupation: 0.089925 Diff: ok ------------------------------------------- Query: B1 : /site/regions/*/item[parent::namerica or parent::samerica]/name -STATS: parsing xml document: 192.234039ms -STATS: parsing XPath query: 0.096083ms -STATS: compiling XPath query: 0.241041ms +STATS: parsing xml document: 411.556959ms +STATS: parsing XPath query: 0.079870ms +STATS: compiling XPath query: 0.313044ms STATS: Query: /child::site/child::regions/child::*/child::item[ parent::namerica or parent::samerica ]/child::name STATS: Automaton: -STATS: evaluating query: 110.785961ms -STATS: serializing results: 3.708839ms +STATS: evaluating query: 215.039015ms +STATS: serializing results: 0.742912ms STATS: 1 iterations STATS: automaton 0, cache2: 170 entries, cache6: 3466 entries STATS: cache2: length: 255, used: 85, occupation: 0.333333 @@ -125,13 +125,13 @@ STATS: cache4: length: 3760, used: 294, occupation: 0.078191 Diff: ok ------------------------------------------- Query: B2 : //keyword/ancestor::listitem/text/keyword -STATS: parsing xml document: 191.808939ms -STATS: parsing XPath query: 0.081062ms -STATS: compiling XPath query: 0.133038ms +STATS: parsing xml document: 410.917044ms +STATS: parsing XPath query: 0.068188ms +STATS: compiling XPath query: 0.227928ms STATS: Query: /descendant-or-self::node()/child::keyword/ancestor::listitem/child::text/child::keyword STATS: Automaton: -STATS: evaluating query: 188.368082ms -STATS: serializing results: 13.005018ms +STATS: evaluating query: 349.317789ms +STATS: serializing results: 2.888918ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 2331 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -139,13 +139,13 @@ STATS: cache4: length: 2619, used: 288, occupation: 0.109966 Diff: ok ------------------------------------------- Query: B3 : /site/open_auctions/open_auction/bidder[following-sibling::bidder] -STATS: parsing xml document: 190.916777ms -STATS: parsing XPath query: 0.074863ms -STATS: compiling XPath query: 0.138044ms +STATS: parsing xml document: 401.097775ms +STATS: parsing XPath query: 0.061989ms +STATS: compiling XPath query: 0.203848ms STATS: Query: /child::site/child::open_auctions/child::open_auction/child::bidder[ following-sibling::bidder ] STATS: Automaton: -STATS: evaluating query: 126.197100ms -STATS: serializing results: 31.688929ms +STATS: evaluating query: 226.150036ms +STATS: serializing results: 7.114887ms STATS: 1 iterations STATS: automaton 0, cache2: 170 entries, cache6: 2871 entries STATS: cache2: length: 255, used: 85, occupation: 0.333333 @@ -153,13 +153,13 @@ STATS: cache4: length: 3131, used: 260, occupation: 0.083041 Diff: ok ------------------------------------------- Query: B4 : /site/open_auctions/open_auction/bidder[preceding-sibling::bidder] -STATS: parsing xml document: 190.321922ms -STATS: parsing XPath query: 0.083923ms -STATS: compiling XPath query: 0.125885ms +STATS: parsing xml document: 404.300928ms +STATS: parsing XPath query: 0.075817ms +STATS: compiling XPath query: 0.204086ms STATS: Query: /child::site/child::open_auctions/child::open_auction/child::bidder[ preceding-sibling::bidder ] STATS: Automaton: -STATS: evaluating query: 111.509800ms -STATS: serializing results: 31.404972ms +STATS: evaluating query: 211.428165ms +STATS: serializing results: 7.288933ms STATS: 1 iterations STATS: automaton 0, cache2: 170 entries, cache6: 2282 entries STATS: cache2: length: 255, used: 85, occupation: 0.333333 @@ -167,13 +167,13 @@ STATS: cache4: length: 2507, used: 225, occupation: 0.089749 Diff: ok ------------------------------------------- Query: B5 : /site/regions/*/item[following::item]/name -STATS: parsing xml document: 190.927029ms -STATS: parsing XPath query: 0.085831ms -STATS: compiling XPath query: 0.184059ms +STATS: parsing xml document: 405.932903ms +STATS: parsing XPath query: 0.068903ms +STATS: compiling XPath query: 0.341892ms STATS: Query: /child::site/child::regions/child::*/child::item[ ancestor-or-self::node()/following-sibling::node()/descendant-or-self::item ]/child::name STATS: Automaton: -STATS: evaluating query: 176.085949ms -STATS: serializing results: 5.687952ms +STATS: evaluating query: 342.656851ms +STATS: serializing results: 1.129150ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 1992 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -181,13 +181,13 @@ STATS: cache4: length: 2302, used: 310, occupation: 0.134666 Diff: ok ------------------------------------------- Query: B6 : /site/regions/*/item[preceding::item]/name -STATS: parsing xml document: 191.268921ms -STATS: parsing XPath query: 0.084877ms -STATS: compiling XPath query: 0.183105ms +STATS: parsing xml document: 401.692867ms +STATS: parsing XPath query: 0.070095ms +STATS: compiling XPath query: 0.338078ms STATS: Query: /child::site/child::regions/child::*/child::item[ ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::item ]/child::name STATS: Automaton: -STATS: evaluating query: 131.505966ms -STATS: serializing results: 5.664110ms +STATS: evaluating query: 250.946999ms +STATS: serializing results: 1.174927ms STATS: 1 iterations STATS: automaton 0, cache2: 170 entries, cache6: 4419 entries STATS: cache2: length: 255, used: 85, occupation: 0.333333 @@ -195,13 +195,13 @@ STATS: cache4: length: 4800, used: 381, occupation: 0.079375 Diff: ok ------------------------------------------- Query: B7 : //person[profile/@income]/name -STATS: parsing xml document: 192.240000ms -STATS: parsing XPath query: 0.082016ms -STATS: compiling XPath query: 0.117064ms +STATS: parsing xml document: 422.059774ms +STATS: parsing XPath query: 0.068188ms +STATS: compiling XPath query: 0.185966ms STATS: Query: /descendant-or-self::node()/child::person[ child::profile/attribute::@income ]/child::name STATS: Automaton: -STATS: evaluating query: 170.628071ms -STATS: serializing results: 3.857851ms +STATS: evaluating query: 330.724001ms +STATS: serializing results: 0.678062ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 1238 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -209,13 +209,13 @@ STATS: cache4: length: 1349, used: 111, occupation: 0.082283 Diff: ok ------------------------------------------- Query: B8 : /site/open_auctions/open_auction[bidder and not(bidder/preceding-sibling::bidder)]/interval -STATS: parsing xml document: 188.287020ms -STATS: parsing XPath query: 0.106096ms -STATS: compiling XPath query: 0.140905ms +STATS: parsing xml document: 404.323101ms +STATS: parsing XPath query: 0.087023ms +STATS: compiling XPath query: 0.262022ms STATS: Query: /child::site/child::open_auctions/child::open_auction[ child::bidder and not(child::bidder/preceding-sibling::bidder) ]/child::interval STATS: Automaton: -STATS: evaluating query: 171.743155ms -STATS: serializing results: 2.464056ms +STATS: evaluating query: 319.082022ms +STATS: serializing results: 0.202894ms STATS: 2 iterations STATS: automaton 0, cache2: 0 entries, cache6: 1052 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -223,13 +223,13 @@ STATS: cache4: length: 1229, used: 177, occupation: 0.144020 Diff: ok ------------------------------------------- Query: B9 : /site/open_auctions/open_auction[(not(bidder/following::bidder) or not(bidder/preceding::bidder)) or (bidder/following::bidder and bidder/preceding::bidder)]/interval -STATS: parsing xml document: 186.557055ms -STATS: parsing XPath query: 0.151157ms -STATS: compiling XPath query: 0.347853ms +STATS: parsing xml document: 410.195112ms +STATS: parsing XPath query: 0.121832ms +STATS: compiling XPath query: 0.746012ms STATS: Query: /child::site/child::open_auctions/child::open_auction[ not(child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder) or not(child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder) or child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder and child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder ]/child::interval STATS: Automaton: -STATS: evaluating query: 249.915838ms -STATS: serializing results: 6.402969ms +STATS: evaluating query: 474.653959ms +STATS: serializing results: 1.121044ms STATS: 3 iterations STATS: automaton 0, cache2: 0 entries, cache6: 786 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -237,13 +237,13 @@ STATS: cache4: length: 976, used: 190, occupation: 0.194672 Diff: ok ------------------------------------------- Query: B10 : /site/open_auctions/open_auction[(not(bidder/following::bidder) or not(bidder/preceding::bidder)) and (bidder/following::bidder and bidder/preceding::bidder)]/interval -STATS: parsing xml document: 191.452980ms -STATS: parsing XPath query: 0.135183ms -STATS: compiling XPath query: 0.352144ms +STATS: parsing xml document: 403.446913ms +STATS: parsing XPath query: 0.122070ms +STATS: compiling XPath query: 0.746012ms STATS: Query: /child::site/child::open_auctions/child::open_auction[ (not(child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder) or not(child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder)) and child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder and child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder ]/child::interval STATS: Automaton: -STATS: evaluating query: 239.425898ms -STATS: serializing results: 1.636982ms +STATS: evaluating query: 487.916946ms +STATS: serializing results: 0.033140ms STATS: 3 iterations STATS: automaton 0, cache2: 0 entries, cache6: 827 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -251,13 +251,13 @@ STATS: cache4: length: 1000, used: 173, occupation: 0.173000 Diff: ok ------------------------------------------- Query: B11 : //open_auction/bidder/../bidder/../bidder/../interval -STATS: parsing xml document: 189.797163ms -STATS: parsing XPath query: 0.072956ms -STATS: compiling XPath query: 0.228882ms +STATS: parsing xml document: 404.007912ms +STATS: parsing XPath query: 0.060081ms +STATS: compiling XPath query: 0.418186ms STATS: Query: /descendant-or-self::node()/child::open_auction/child::bidder/parent::node()/child::bidder/parent::node()/child::bidder/parent::node()/child::interval STATS: Automaton: -STATS: evaluating query: 276.601076ms -STATS: serializing results: 6.062984ms +STATS: evaluating query: 537.139177ms +STATS: serializing results: 1.827955ms STATS: 4 iterations STATS: automaton 0, cache2: 0 entries, cache6: 598 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -265,13 +265,13 @@ STATS: cache4: length: 708, used: 110, occupation: 0.155367 Diff: ok ------------------------------------------- Query: B12 : //item/@id/../@id/../@id/../@id/../name -STATS: parsing xml document: 191.452026ms -STATS: parsing XPath query: 0.083923ms -STATS: compiling XPath query: 0.275850ms +STATS: parsing xml document: 399.324894ms +STATS: parsing XPath query: 0.067949ms +STATS: compiling XPath query: 0.534058ms STATS: Query: /descendant-or-self::node()/child::item/attribute::@id/parent::node()/attribute::@id/parent::node()/attribute::@id/parent::node()/attribute::@id/parent::node()/child::name STATS: Automaton: -STATS: evaluating query: 328.938007ms -STATS: serializing results: 5.661011ms +STATS: evaluating query: 624.691963ms +STATS: serializing results: 1.193047ms STATS: 5 iterations STATS: automaton 0, cache2: 0 entries, cache6: 870 entries STATS: cache2: length: 0, used: 0, occupation: -nan @@ -279,13 +279,13 @@ STATS: cache4: length: 993, used: 123, occupation: 0.123867 Diff: ok ------------------------------------------- Query: B13 : //keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword -STATS: parsing xml document: 188.703060ms -STATS: parsing XPath query: 0.082970ms -STATS: compiling XPath query: 0.232935ms +STATS: parsing xml document: 419.275045ms +STATS: parsing XPath query: 0.081062ms +STATS: compiling XPath query: 0.416994ms STATS: Query: /descendant-or-self::node()/child::keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword STATS: Automaton: -STATS: evaluating query: 286.443949ms -STATS: serializing results: 14.273882ms +STATS: evaluating query: 531.944990ms +STATS: serializing results: 3.096819ms STATS: 4 iterations STATS: automaton 0, cache2: 0 entries, cache6: 2671 entries STATS: cache2: length: 0, used: 0, occupation: -nan diff --git a/tests/xmark_tiny.xml.summary b/tests/xmark_tiny.xml.summary deleted file mode 100644 index d98d07d..0000000 --- a/tests/xmark_tiny.xml.summary +++ /dev/null @@ -1,294 +0,0 @@ -Query: A1 : /site/closed_auctions/closed_auction/annotation/description/text/keyword -STATS: parsing xml document: 1.968861ms -STATS: parsing XPath query: 0.094175ms -STATS: compiling XPath query: 0.621080ms -STATS: Query: /child::site/child::closed_auctions/child::closed_auction/child::annotation/child::description/child::text/child::keyword -STATS: Automaton: -STATS: evaluating query: 9.465933ms -STATS: serializing results: 1.741171ms -STATS: 1 iterations -STATS: automaton 0, cache2: 140 entries, cache6: 2831 entries -STATS: cache2: length: 210, used: 70, occupation: 0.333333 -STATS: cache4: length: 3099, used: 268, occupation: 0.086480 -Diff: ok -------------------------------------------- -Query: A2 : //closed_auction//keyword -STATS: parsing xml document: 2.207041ms -STATS: parsing XPath query: 0.052214ms -STATS: compiling XPath query: 0.268936ms -STATS: Query: /descendant-or-self::node()/child::closed_auction/descendant-or-self::node()/child::keyword -STATS: Automaton: -STATS: evaluating query: 6.950855ms -STATS: serializing results: 1.599073ms -STATS: 1 iterations -STATS: automaton 0, cache2: 140 entries, cache6: 2253 entries -STATS: cache2: length: 210, used: 70, occupation: 0.333333 -STATS: cache4: length: 2452, used: 199, occupation: 0.081158 -Diff: ok -------------------------------------------- -Query: A3 : /site/closed_auctions/closed_auction//keyword -STATS: parsing xml document: 1.912832ms -STATS: parsing XPath query: 0.064850ms -STATS: compiling XPath query: 0.347137ms -STATS: Query: /child::site/child::closed_auctions/child::closed_auction/descendant-or-self::node()/child::keyword -STATS: Automaton: -STATS: evaluating query: 8.553982ms -STATS: serializing results: 1.499891ms -STATS: 1 iterations -STATS: automaton 0, cache2: 140 entries, cache6: 2969 entries -STATS: cache2: length: 210, used: 70, occupation: 0.333333 -STATS: cache4: length: 3212, used: 243, occupation: 0.075654 -Diff: ok -------------------------------------------- -Query: A4 : /site/closed_auctions/closed_auction[annotation/description/text/keyword]/date -STATS: parsing xml document: 1.997948ms -STATS: parsing XPath query: 0.099897ms -STATS: compiling XPath query: 0.430822ms -STATS: Query: /child::site/child::closed_auctions/child::closed_auction[ child::annotation/child::description/child::text/child::keyword ]/child::date -STATS: Automaton: -STATS: evaluating query: 11.668921ms -STATS: serializing results: 1.580954ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 1056 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1197, used: 141, occupation: 0.117794 -Diff: ok -------------------------------------------- -Query: A5 : /site/closed_auctions/closed_auction[descendant::keyword]/date -STATS: parsing xml document: 1.919031ms -STATS: parsing XPath query: 0.072956ms -STATS: compiling XPath query: 0.333786ms -STATS: Query: /child::site/child::closed_auctions/child::closed_auction[ descendant::keyword ]/child::date -STATS: Automaton: -STATS: evaluating query: 8.996010ms -STATS: serializing results: 1.481056ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 955 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1080, used: 125, occupation: 0.115741 -Diff: ok -------------------------------------------- -Query: A6 : /site/people/person[profile/gender and profile/age]/name -STATS: parsing xml document: 1.996994ms -STATS: parsing XPath query: 0.092030ms -STATS: compiling XPath query: 0.415087ms -STATS: Query: /child::site/child::people/child::person[ child::profile/child::gender and child::profile/child::age ]/child::name -STATS: Automaton: -STATS: evaluating query: 8.347034ms -STATS: serializing results: 1.531124ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 224 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 277, used: 53, occupation: 0.191336 -Diff: ok -------------------------------------------- -Query: A7 : /site/people/person[phone or homepage]/name -STATS: parsing xml document: 1.926184ms -STATS: parsing XPath query: 0.077963ms -STATS: compiling XPath query: 0.349045ms -STATS: Query: /child::site/child::people/child::person[ child::phone or child::homepage ]/child::name -STATS: Automaton: -STATS: evaluating query: 8.936882ms -STATS: serializing results: 1.462936ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 390 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 476, used: 86, occupation: 0.180672 -Diff: ok -------------------------------------------- -Query: A8 : /site/people/person[address and (phone or homepage) and (creditcard or profile)]/name -STATS: parsing xml document: 1.953840ms -STATS: parsing XPath query: 0.122070ms -STATS: compiling XPath query: 0.619173ms -STATS: Query: /child::site/child::people/child::person[ child::address and (child::phone or child::homepage) and (child::creditcard or child::profile) ]/child::name -STATS: Automaton: -STATS: evaluating query: 8.347034ms -STATS: serializing results: 1.598835ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 447 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 524, used: 77, occupation: 0.146947 -Diff: ok -------------------------------------------- -Query: B1 : /site/regions/*/item[parent::namerica or parent::samerica]/name -STATS: parsing xml document: 1.950026ms -STATS: parsing XPath query: 0.125170ms -STATS: compiling XPath query: 0.662088ms -STATS: Query: /child::site/child::regions/child::*/child::item[ parent::namerica or parent::samerica ]/child::name -STATS: Automaton: -STATS: evaluating query: 11.601925ms -STATS: serializing results: 1.575947ms -STATS: 1 iterations -STATS: automaton 0, cache2: 140 entries, cache6: 2553 entries -STATS: cache2: length: 210, used: 70, occupation: 0.333333 -STATS: cache4: length: 2784, used: 231, occupation: 0.082974 -Diff: ok -------------------------------------------- -Query: B2 : //keyword/ancestor::listitem/text/keyword -STATS: parsing xml document: 1.987934ms -STATS: parsing XPath query: 0.077963ms -STATS: compiling XPath query: 0.348806ms -STATS: Query: /descendant-or-self::node()/child::keyword/ancestor::listitem/child::text/child::keyword -STATS: Automaton: -STATS: evaluating query: 11.922836ms -STATS: serializing results: 1.748085ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 1419 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1595, used: 176, occupation: 0.110345 -Diff: ok -------------------------------------------- -Query: B3 : /site/open_auctions/open_auction/bidder[following-sibling::bidder] -STATS: parsing xml document: 1.918077ms -STATS: parsing XPath query: 0.067949ms -STATS: compiling XPath query: 0.304937ms -STATS: Query: /child::site/child::open_auctions/child::open_auction/child::bidder[ following-sibling::bidder ] -STATS: Automaton: -STATS: evaluating query: 7.230997ms -STATS: serializing results: 1.948118ms -STATS: 1 iterations -STATS: automaton 0, cache2: 140 entries, cache6: 2328 entries -STATS: cache2: length: 210, used: 70, occupation: 0.333333 -STATS: cache4: length: 2549, used: 221, occupation: 0.086701 -Diff: ok -------------------------------------------- -Query: B4 : /site/open_auctions/open_auction/bidder[preceding-sibling::bidder] -STATS: parsing xml document: 1.932859ms -STATS: parsing XPath query: 0.074863ms -STATS: compiling XPath query: 0.307083ms -STATS: Query: /child::site/child::open_auctions/child::open_auction/child::bidder[ preceding-sibling::bidder ] -STATS: Automaton: -STATS: evaluating query: 7.750034ms -STATS: serializing results: 2.097130ms -STATS: 1 iterations -STATS: automaton 0, cache2: 140 entries, cache6: 1951 entries -STATS: cache2: length: 210, used: 70, occupation: 0.333333 -STATS: cache4: length: 2138, used: 187, occupation: 0.087465 -Diff: ok -------------------------------------------- -Query: B5 : /site/regions/*/item[following::item]/name -STATS: parsing xml document: 1.893044ms -STATS: parsing XPath query: 0.069857ms -STATS: compiling XPath query: 0.560999ms -STATS: Query: /child::site/child::regions/child::*/child::item[ ancestor-or-self::node()/following-sibling::node()/descendant-or-self::item ]/child::name -STATS: Automaton: -STATS: evaluating query: 15.329838ms -STATS: serializing results: 1.600027ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 1374 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1627, used: 253, occupation: 0.155501 -Diff: ok -------------------------------------------- -Query: B6 : /site/regions/*/item[preceding::item]/name -STATS: parsing xml document: 1.949072ms -STATS: parsing XPath query: 0.104189ms -STATS: compiling XPath query: 0.522137ms -STATS: Query: /child::site/child::regions/child::*/child::item[ ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::item ]/child::name -STATS: Automaton: -STATS: evaluating query: 12.756824ms -STATS: serializing results: 1.522064ms -STATS: 1 iterations -STATS: automaton 0, cache2: 140 entries, cache6: 3069 entries -STATS: cache2: length: 210, used: 70, occupation: 0.333333 -STATS: cache4: length: 3392, used: 323, occupation: 0.095224 -Diff: ok -------------------------------------------- -Query: B7 : //person[profile/@income]/name -STATS: parsing xml document: 2.023935ms -STATS: parsing XPath query: 0.070095ms -STATS: compiling XPath query: 0.383854ms -STATS: Query: /descendant-or-self::node()/child::person[ child::profile/attribute::@income ]/child::name -STATS: Automaton: -STATS: evaluating query: 7.132053ms -STATS: serializing results: 1.590967ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 284 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 328, used: 44, occupation: 0.134146 -Diff: ok -------------------------------------------- -Query: B8 : /site/open_auctions/open_auction[bidder and not(bidder/preceding-sibling::bidder)]/interval -STATS: parsing xml document: 2.041101ms -STATS: parsing XPath query: 0.100136ms -STATS: compiling XPath query: 0.408888ms -STATS: Query: /child::site/child::open_auctions/child::open_auction[ child::bidder and not(child::bidder/preceding-sibling::bidder) ]/child::interval -STATS: Automaton: -STATS: evaluating query: 10.506868ms -STATS: serializing results: 1.502991ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 566 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 660, used: 94, occupation: 0.142424 -Diff: ok -------------------------------------------- -Query: B9 : /site/open_auctions/open_auction[(not(bidder/following::bidder) or not(bidder/preceding::bidder)) or (bidder/following::bidder and bidder/preceding::bidder)]/interval -STATS: parsing xml document: 2.124786ms -STATS: parsing XPath query: 0.147104ms -STATS: compiling XPath query: 1.192093ms -STATS: Query: /child::site/child::open_auctions/child::open_auction[ not(child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder) or not(child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder) or child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder and child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder ]/child::interval -STATS: Automaton: -STATS: evaluating query: 21.920919ms -STATS: serializing results: 1.502991ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 979 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1253, used: 274, occupation: 0.218675 -Diff: ok -------------------------------------------- -Query: B10 : /site/open_auctions/open_auction[(not(bidder/following::bidder) or not(bidder/preceding::bidder)) and (bidder/following::bidder and bidder/preceding::bidder)]/interval -STATS: parsing xml document: 1.946926ms -STATS: parsing XPath query: 0.142097ms -STATS: compiling XPath query: 1.147032ms -STATS: Query: /child::site/child::open_auctions/child::open_auction[ (not(child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder) or not(child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder)) and child::bidder/ancestor-or-self::node()/following-sibling::node()/descendant-or-self::bidder and child::bidder/ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::bidder ]/child::interval -STATS: Automaton: -STATS: evaluating query: 22.176027ms -STATS: serializing results: 1.529932ms -STATS: 2 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 980 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1250, used: 270, occupation: 0.216000 -Diff: ok -------------------------------------------- -Query: B11 : //open_auction/bidder/../bidder/../bidder/../interval -STATS: parsing xml document: 1.973867ms -STATS: parsing XPath query: 0.066042ms -STATS: compiling XPath query: 0.635862ms -STATS: Query: /descendant-or-self::node()/child::open_auction/child::bidder/parent::node()/child::bidder/parent::node()/child::bidder/parent::node()/child::interval -STATS: Automaton: -STATS: evaluating query: 14.349937ms -STATS: serializing results: 1.570940ms -STATS: 4 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 479 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 563, used: 84, occupation: 0.149201 -Diff: ok -------------------------------------------- -Query: B12 : //item/@id/../@id/../@id/../@id/../name -STATS: parsing xml document: 2.254009ms -STATS: parsing XPath query: 0.074863ms -STATS: compiling XPath query: 0.828981ms -STATS: Query: /descendant-or-self::node()/child::item/attribute::@id/parent::node()/attribute::@id/parent::node()/attribute::@id/parent::node()/attribute::@id/parent::node()/child::name -STATS: Automaton: -STATS: evaluating query: 18.256903ms -STATS: serializing results: 1.621962ms -STATS: 5 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 725 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 820, used: 95, occupation: 0.115854 -Diff: ok -------------------------------------------- -Query: B13 : //keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword -STATS: parsing xml document: 1.988888ms -STATS: parsing XPath query: 0.113010ms -STATS: compiling XPath query: 0.640869ms -STATS: Query: /descendant-or-self::node()/child::keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword/ancestor::parlist/descendant::keyword -STATS: Automaton: -STATS: evaluating query: 22.742033ms -STATS: serializing results: 1.921892ms -STATS: 4 iterations -STATS: automaton 0, cache2: 0 entries, cache6: 1491 entries -STATS: cache2: length: 0, used: 0, occupation: -nan -STATS: cache4: length: 1702, used: 211, occupation: 0.123972 -Diff: ok -------------------------------------------- -- 2.17.1