<html><body>
<p><font size="2" face="sans-serif">Dear List,</font><br>
<br>
<font size="2" face="sans-serif">in addition to my last post, we did a pre-render_citation() for all EPrints and stored the result in each EPrint DB-field &quot;citation&quot;. Then we did a little benchmark, comparing the time we need to Export the DB-field vs. render_citation() on the fly. Here are the results on different collections:</font><br>
<br>
<font size="3" face="serif">- </font><a href="http://www.zoratest.uzh.ch/cgi/publist?collection=11124"><font size="3" color="#0000FF" face="serif"><u>collection id 11124</u></font></a><font size="3" face="serif">&nbsp;(ca. 100 EPrints):         buildlist 0.004 sec.,         render_citation() 1.4 sec.,         DB-Field citation 0.19 sec <br>
- </font><a href="http://www.zoratest.uzh.ch/cgi/publist?collection=10046"><font size="3" color="#0000FF" face="serif"><u>collection id 10046</u></font></a><font size="3" face="serif">&nbsp;(ca. 1000 EPrints):         buildlist 0.02 sec.,         render_citation() 13 sec.,         DB-Field citation 1.4 sec <br>
- </font><a href="http://www.zoratest.uzh.ch/cgi/publist?collection=10170"><font size="3" color="#0000FF" face="serif"><u>collection id 10170</u></font></a><font size="3" face="serif">&nbsp;(ca. 25000 EPrints):         buildlist 0.39 sec.,         render_citation() 357.9 sec.,         DB-Field citation 38.9 sec </font><br>
<br>
<font size="3" face="serif">All in all we're 10-12 times faster exporting pre-generated citation lists. So we're doing an initial pre-fill of DB-field &quot;citation&quot; and we have ToDo an update within every workflow edit step.</font><br>
<font size="2" face="sans-serif">Does anybody has any comments, experiance or hints, to speed up render_citation in another way? Does anybody use COINS in a similar way?</font><br>
<br>
<font size="2" face="sans-serif">Cheers</font><br>
<font size="2" face="sans-serif">&nbsp;Jens</font><br>
<br>
<font size="2" face="sans-serif">-- <br>
Jens Vieler<br>
Informatikdienste<br>
Universität Zürich<br>
Stampfenbachstrasse 73<br>
CH-8006 Zürich<br>
<br>
mail: &nbsp;jens.vieler@id.uzh.ch<br>
phone: +41 44 63 56777<br>
<a href="http://www.id.uzh.ch">http://www.id.uzh.ch</a></font><br>
<br>
<img width="16" height="16" src="cid:1__=4EBBF5EBDFBA2D388f9e8a93df9@lotus.uzh.ch" border="0" alt="Inactive hide details for Jens-Patrick Vieler---24.02.2016 13:51:27---Dear List we're building a new cgi/export-plugin solution"><font size="2" color="#424282" face="sans-serif">Jens-Patrick Vieler---24.02.2016 13:51:27---Dear List we're building a new cgi/export-plugin solution to support publication lists in our web. D</font><br>
<br>
<font size="1" color="#5F5F5F" face="sans-serif">Von:        </font><font size="1" face="sans-serif">Jens-Patrick Vieler/at/UZH</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">An:        </font><font size="1" face="sans-serif">eprints-tech@ecs.soton.ac.uk</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Datum:        </font><font size="1" face="sans-serif">24.02.2016 13:51</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Betreff:        </font><font size="1" face="sans-serif">Speed up citation</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<font size="2" face="sans-serif">Dear List</font><br>
<br>
<font size="2" face="sans-serif">we're building a new cgi/export-plugin solution to support publication lists in our web. Doing some searches, building some lists, remainder/union/intersect them together, and finaly, we export a kind of XML, including metadata and a citation.</font><br>
<font size="2" face="sans-serif">Actually everything works quite well, BUT if the result turns into long lists, we are running into performance problems.</font><br>
<br>
<font size="2" face="sans-serif">We did some benchmarking and here is the result over a typically 1000-item-list:</font><br>
<br>
<font size="2" face="sans-serif">- building up the result needs 15 sec.</font><br>
<font size="2" face="sans-serif">- search and generate lists 0.015sec</font><br>
<font size="2" face="sans-serif">- merge lists 0.08sec</font><br>
<font size="2" face="sans-serif">- generation of export data 14sec</font><br>
<br>
<font size="2" face="sans-serif">congrats: dealing with search and lists is very fast within eprints :-)</font><br>
<br>
<font size="2" face="sans-serif">so we took a closer look at what happens while building the output.</font><br>
<font size="2" face="sans-serif">first of all: it grows linearly with the use of render_citation.</font><br>
<br>
<font size="2" face="sans-serif">1 time &nbsp; '$citation = EPrints::Utils::tree_to_utf8($dataobj-&gt;render_citation(&quot;default&quot;));' takes 14sec</font><br>
<font size="2" face="sans-serif">2 times '$citation = EPrints::Utils::tree_to_utf8($dataobj-&gt;render_citation(&quot;default&quot;));' takes 29sec</font><br>
<font size="2" face="sans-serif">4 times '$citation = EPrints::Utils::tree_to_utf8($dataobj-&gt;render_citation(&quot;default&quot;));' takes 54sec</font><br>
<br>
<font size="2" face="sans-serif">second: it speeds up while reducing the citation XML file (default) to a minimum; when it only includes the title, the export needs 2sec for 1000 items.</font><br>
<br>
<font size="2" face="sans-serif">So my question is: Is there a way to speed up render_citation? Does it always interpret the whole citation XML file? Has anybody thought about a way to compile the XML to a perl routine or cache things like this?</font><br>
<br>
<font size="2" face="sans-serif">Any help is welcome</font><br>
<font size="2" face="sans-serif">&nbsp;Jens</font><br>
<br>
<br>
<font size="2" face="sans-serif">-- <br>
Jens Vieler<br>
Informatikdienste<br>
Universität Zürich<br>
Stampfenbachstrasse 73<br>
CH-8006 Zürich<br>
<br>
mail: &nbsp;jens.vieler@id.uzh.ch<br>
phone: +41 44 63 56777<br>
</font><font size="2" face="sans-serif"><a href="http://www.id.uzh.ch">http://www.id.uzh.ch</a></font><br>
</body></html>