Hi all,
Does anyone have an idea of the 'normal' insert speed (e.g., #nodes
per sec, or #MBs per sec) of MonetDB/XQuery? I inserted a document of
~101mb into an xmark document of 2mb, and it took more than 10 minutes:
$ mclient -lx -g -t
xquery>do insert doc("persons.xml")/persons into doc("xmark2mb.xml")/
site
more><>
Trans 12.143 msec
Shred 8.429 msec
Query 5.869 msec
Update 619019.583 msec
Timer 619058.179 msec
With the algebra back-end, it ends in an error (bug report will
follow), but it is also not faster:
$ mclient -lx -t
xquery>do insert doc("persons.xml")/persons into doc("xmark2mb.xml")/
site
more><>
MAPI = monetdb@localhost:50000
QUERY = do insert doc("persons.xml")/persons into doc("xmark2mb.xml")/
site
ERROR = !ERROR: interpret: no matching MIL operator to '-(lng, void)'.
!MAYBE YOU MEAN:
! -(dbl) : dbl
! -(lng) : lng
! -(flt) : flt
! -(wrd) : wrd
! -(int) : int
! -(sht) : sht
! -(bte) : bte
! -(chr) : chr
! -(lng, dbl) : dbl
! -(lng, flt) : dbl
! -(lng, lng) : lng
! -(lng, wrd) : lng
! -(lng, int) : lng
! -(lng, sht) : lng
! -(lng, bte) : lng
! -(lng, chr) : lng
! -(dbl, dbl) : dbl
! -(dbl, flt) : dbl
! -(dbl, lng) : dbl
! -(dbl, wrd) : dbl
! -(dbl, int) : dbl
! -(dbl, sht) : dbl
! -(dbl, bte) : dbl
! -(dbl, chr) : dbl
! -(flt, dbl) : dbl
! -(flt, flt) : flt
! -(flt, lng) : flt
! -(flt, wrd) : flt
! -(flt, int) : flt
! -(flt, sht) : flt
! -(flt, bte) : flt
! -(flt, chr) : flt
! -(wrd, dbl) : dbl
! -(wrd, flt) : flt
! -(wrd, lng) : lng
! -(wrd, wrd) : wrd
! -(wrd, int) : wrd
! -(wrd, sht) : wrd
! -(wrd, bte) : wrd
! -(wrd, chr) : wrd
! -(int, dbl) : dbl
! -(int, flt) : flt
! -(int, lng) : lng
! -(int, wrd) : wrd
! -(int, int) : int
! -(int, sht) : int
! -(int, bte) : int
! -(int, chr) : int
! -(sht, dbl) : dbl
! -(sht, flt) : flt
! -(sht, lng) : lng
! -(sht, wrd) : wrd
! -(sht, int) : int
! -(sht, sht) : sht
! -(sht, bte) : sht
! -(sht, chr) : sht
! -(bte, dbl) : dbl
! -(bte, flt) : flt
! -(bte, lng) : lng
! -(bte, wrd) : wrd
! -(bte, int) : int
! -(bte, sht) : sht
! -(bte, chr) : bte
! -(bte, bte) : bte
! -(chr, dbl) : dbl
! -(chr, flt) : flt
! -(chr, lng) : lng
! -(chr, wrd) : wrd
! -(chr, int) : int
! -(chr, sht) : sht
! -(chr, bte) : bte
! -(chr, chr) : chr
Timer 632991.583 msec
xquery>\q
<persons> is the root node of the document 'persons.xml', which
contains 234599 xmark <person> nodes. So, actually, only one large
node is inserted. It looks quite slow. Is this the expected
behaviour or did I do something wrong?
I'm using the latest stable version of MonetDB/XQuery, compiled and
installed with 'monet-install.sh --enable-xquery --enale-optimize --
nightly=stable --prefix=...'. The document 'xmark2mb.xml' was
shredded as an updatable doc. with 10% holes, and the document
'persons.xml' was shredded as a read-only doc. Both documents were
already loaded, by executing the query 'count(doc("[docname]")//
person)'. MonetDB/XQuery is running on my CWI PC (i.e., FC10,
Intel(R) Core(TM)2 Quad CPU Q6600 @2.40GHz, 8GM RAM). During the
execution, one CPU is constantly busy for 100%, Mserver uses 22% ~ 27%
of MEM (according to 'top').
Does anyone have an idea how to get insert faster?
Regards,
Jennie