-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 29.06.2012 01:49, Albert Astals Cid wrote: > El Dijous, 28 de juny de 2012, a les 17:53:45, Adam Reichold va > escriure: Hello, > > If I remember correctly, some time ago someone proposed caching > the TextOuputDev/TextPage used in Poppler::Page::search to improve > performance. Instead, I would propose to add another search method > to Poppler::Page which searches the whole page at once and returns > a list of all occurrences. > > Applications using the qt4 frontend and this method could then > decide whether to cache this information or not. The implementation > of the current search method would not change. > > The appended patch does this. But the two search methods share > some duplicate code. I am not sure what the best way to avoid this > is. > >> First concern, QRectF uses float (instead of double) in some >> architectures, like ARM, so you are actually losing precision >> (that's why the double variant of search() exists). I'm not sure >> we should worry about that, but we probably should. Imagine you >> get the list of matches with the search() that returns the list >> and then try to use it with the ::search() that accepts a QRectF >> (though actually doesn't make much sense) to get the "next" item. >> That will cause the float->double to go wrong and you might >> always end up in the same item because of the truncation. > >> On the other hand using a list of QRectF is much more convinient >> and probably has enough precision for painting, so maybe we can >> just document that you should not use the results of the >> ::search() that returns a list as input for the other ::search() >> variants? > >> Opinions? >
Personally, I think that it would be nicer doing it that way. Especially since you will still get a deprecation warning if you call ::search with a QRectF as an argument. Regards, Adam. > >> Albert > > > Testing this with some sample files shows large improvements > (above 100% as measured by runtime) for searching the whole > document and especially for short phrases that occur often. > > Thanks for any comments and advice. Best regards, Adam. > _______________________________________________ poppler mailing > list [email protected] > http://lists.freedesktop.org/mailman/listinfo/poppler > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJP7UnjAAoJEPSSjE3STU34AIYH/RRgbFZYX7iT9e5s1DeonSgc sqk6hfM95cqT54xKupxHdXUWwaweJQWgiQjkI/8nso8vVEfktBi3+7TXWB1x//oy Fe2+zyVnDcTDfDvZQANkUiiZgGV8KCCJp4t63AVJcOXt7MzppcLcUqIPfU5fvP9V B6RmCrabrkccyOZZkW7yye3uG+Q+cIidbA5mjULbx8Ma/kmtzFjZ4G5/osmS0m7y bb2/XJj6j873+qoOxUrnUb0HJSLFVyiuJvBMp7ikJOIaz16G2JFVTWzalINaKRmN f+KwWLC2TWloYAHNQEz/j2jzeqzuf1LjvF1KrosA/OLn9gpuYNqFqk7GY20Ce2M= =PBJ0 -----END PGP SIGNATURE----- _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
