Investigate performance improvement possibilities
Closed this issue · 6 comments
igagis commented
callgrind shows that a lot of dynamic_casts
are used inside of the istream
, perhaps it is istringstream
investigate if it is possible to avoid using it.
igagis commented
current performance test numbers on Ryzen3950x:
SVG loaded in 0.009 sec.
SVG parsed in 2.566 sec.
SVG loaded in 2.587 sec.
SVG searched in 0.013 sec.
SVG parsed in 1.349 sec.
SVG parsed in 1.347 sec.
SVG parsed in 1.338 sec.
SVG parsed in 1.34 sec.
igagis commented
after 7bd5f08 the numbers are as follows:
SVG loaded in 0.01 sec.
SVG parsed in 1.391 sec.
SVG loaded in 1.404 sec.
SVG searched in 0.013 sec.
SVG parsed in 0.998 sec.
SVG parsed in 0.982 sec.
SVG parsed in 0.977 sec.
SVG parsed in 0.979 sec.
igagis commented
after 5976281 the numbers are:
SVG loaded in 0.01 sec.
SVG loaded in 0.548 sec.
SVG parsed in 0.545 sec.
SVG searched in 0.014 sec.
SVG parsed in 0.522 sec.
SVG parsed in 0.501 sec.
SVG parsed in 0.523 sec.
SVG parsed in 0.501 sec.
igagis commented
numbers after 2bc88e9 :
SVG loaded in 0.01 sec.
SVG parsed in 0.525 sec.
SVG loaded in 0.538 sec.
SVG searched in 0.013 sec.
SVG parsed in 0.511 sec.
SVG parsed in 0.494 sec.
SVG parsed in 0.492 sec.
SVG parsed in 0.49 sec.