<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div><span><br></span></div><div><span>Thanks, I'll look into callgrind.</span></div><div><span><br></span></div><div><span>This slowness hasn't anything to do with fonts, legends or the like ... it's a simple matter of a progressive slowdown and huge memory consumption as datasources increase.</span></div><div><span><br></span></div><div><span>Thanks again,</span></div><div><span>-Ryan</span></div><div><br></div> <div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Tobias Oetiker <tobi@oetiker.ch><br> <b><span style="font-weight: bold;">To:</span></b> Ryan Kubica <kubicaryan@yahoo.com> <br><b><span
style="font-weight: bold;">Cc:</span></b> "rrd-users@lists.oetiker.ch" <rrd-users@lists.oetiker.ch> <br> <b><span style="font-weight: bold;">Sent:</span></b> Sunday, August 12, 2012 2:15 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [rrd-users] RRD graph/xport performance<br> </font> </div> <br>
Hi Ryan<br><br>Today Ryan Kubica wrote:<br><br>> I'm curious what benchmarks/tracing you do during development to<br>> localize performance bottlenecks in rrdtool graphing.<br><br>rrdtool graphing relies a lot on services provided by other<br>libraries in the first instance this is cairo / pango, but further<br>down the chain also freetype, libpng and zlib<br><br>I have used callgrind (part of valgrind) to pinpoint performance<br>issues ...<br><br>I found that the handling of truetype fonts can easily lead to<br>performance issues, especially on systems with large numbers of<br>fonts available to the fontconfig libraries. I have tried to make<br>sure in rrdtool code that all the caching that available in this<br>regard is employed, but this will only have an effect if you<br>produce multiple charts from the same process<br><br>Another timesink is the graph compression as mentioned in a<br>previous posst.<br><br>If you are using xport instead of
graph or use graph without<br>actually generating a graph, the perfromance bottlenecks will be<br>different ... (I have not investigated this).<br><br>I have never looked at RPN processing performance for example, so<br>there might be some easy wins there.<br><br>As mentioned at the beginnnig, I find callgrind invaluable<br>in this respect<br><br>cheers<br>tobi<br><br>-- <br>Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland<br>http://it.oetiker.ch <a ymailto="mailto:tobi@oetiker.ch" href="mailto:tobi@oetiker.ch">tobi@oetiker.ch</a> ++41 62 775 9902 / sb: -9900<br><br><br> </div> </div> </div></body></html>