pugixml/tests
Arseny Kapoulkine 5da51dff27 XPath: Optimize attribute axis lookup
When looking for an attribute by name, finding the first attribute means
we can stop looking since attribute names are unique. This makes some
queries faster by 40%.

Another very common pattern in XPath queries is finding an attribute with
a specified value using a predicate (@name = 'value'). While we perform an
optimal amount of traversal in that case, there is a substantial overhead
with evaluating the nodes, saving and restoring the stack state, pushing
the attribute node into a set, etc. Detecting this pattern allows us to
use optimized code, resulting in up to 2x speedup for some queries.

git-svn-id: https://pugixml.googlecode.com/svn/trunk@1061 99668b35-9821-0410-8761-19e4c4f06640
2014-10-16 03:46:42 +00:00
..
data Introduced encoding_latin1 support (conversion on loading, conversion on saving, encoding name in declaration in document::save) 2011-12-20 09:45:10 +00:00
allocator.cpp tests: Fix allocator.cpp indentation 2014-10-01 07:02:39 +00:00
allocator.hpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
archive.pl Make sure newlines are consistent for both .zip and .tar.gz archives 2013-07-20 05:55:22 +00:00
autotest-freebsd.sh tests: Fixed Linux startup scripts (line endings), added FreeBSD startup script 2010-05-17 07:23:37 +00:00
autotest-linux.sh tests: Updated autotest-linux.sh for Fedora 2011-07-27 07:40:38 +00:00
autotest-local.pl Add MSVC 12 (2013) to autotest list 2014-02-12 04:38:54 +00:00
autotest-macos.sh tests: Final MacOS fixes 2010-05-20 17:51:32 +00:00
autotest-remote-host.pl tests: Added wait for server to remote host, added automatic VM launch 2010-05-13 16:48:46 +00:00
autotest-remote-server.pl tests: Disabled VM shutdown/startup overlap to decrease peak memory consumption 2011-07-24 06:19:57 +00:00
autotest-report.pl tests: Added MSVC11 variants to test suite 2012-03-07 05:59:09 +00:00
autotest-solaris.sh tests: Added Solaris autotest 2010-05-25 22:19:57 +00:00
common.hpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
gcov-filter.pl tests: Introduced fullcoverage mode 2010-08-29 15:46:30 +00:00
gitsvn.sh tests: Add git-svn reviving script 2014-09-12 15:04:20 +00:00
helpers.hpp tests: Added tests for read-only xml_text operations 2012-03-23 03:25:03 +00:00
main.cpp tests: Fix WinCE compilation 2014-02-26 22:37:40 +00:00
test_document.cpp tests: Add a test to verify that xml_document object works with any valid pointer alignment 2014-10-02 03:07:08 +00:00
test_dom_modify.cpp tests: Fix MSVC6 compilation 2014-10-03 02:40:11 +00:00
test_dom_text.cpp Implement long long support if PUGIXML_HAS_LONG_LONG is defined (autodetection is not implemented yet) 2014-02-08 20:36:09 +00:00
test_dom_traverse.cpp tests: Add missing tests to increase code coverage 2014-10-02 03:06:59 +00:00
test_header_guard.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iosfwd_1.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iosfwd_2.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iostream_1.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iostream_2.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_string_1.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_string_2.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_string_iostream.cpp tests: Added new test for string/istream include interaction (this actually fails on DMC) 2012-03-20 05:05:35 +00:00
test_memory.cpp Implement document fragment parsing. 2014-02-11 06:45:27 +00:00
test_parse_doctype.cpp Implement document fragment parsing. 2014-02-11 06:45:27 +00:00
test_parse.cpp tests: Add missing tests to increase code coverage 2014-10-02 03:06:59 +00:00
test_unicode.cpp tests: Android compilation fixes 2012-03-06 08:49:58 +00:00
test_version.cpp Update PUGIXML_VERSION define 2014-02-10 05:11:05 +00:00
test_write.cpp tests: Add a test for printing comments that contain -- 2014-10-14 04:11:26 +00:00
test_xpath_api.cpp tests: Add an explicit test for empty xpath_node_set copying (regression test for issue 143) 2012-02-18 03:35:37 +00:00
test_xpath_functions.cpp XPath: Implement optimized translate() 2014-10-05 07:57:58 +00:00
test_xpath_operators.cpp XPath: Add unit test for unary minus and union precedences 2012-11-17 22:50:05 +00:00
test_xpath_parse.cpp tests: Fixed CW compilation 2010-10-22 04:28:52 +00:00
test_xpath_paths_abbrev_w3c.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_xpath_paths_w3c.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_xpath_paths.cpp XPath: Optimize attribute axis lookup 2014-10-16 03:46:42 +00:00
test_xpath_variables.cpp tests: Improved document order comparison coverage 2010-08-29 15:51:35 +00:00
test_xpath_xalan_1.cpp tests: Minor fix for MinGW 3.4 2010-08-30 05:01:19 +00:00
test_xpath_xalan_2.cpp Fix bogus Clang 3.4 warning 2014-02-11 04:55:36 +00:00
test_xpath_xalan_3.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_xpath_xalan_4.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_xpath_xalan_5.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_xpath.cpp tests: Add XPath sorting tests and a simple test for numeric predicates 2014-10-05 04:20:52 +00:00
test.cpp tests: Minor fixes for WinCE compilation 2012-02-19 09:05:23 +00:00
test.hpp tests: Write temporary files to executable folder. 2014-02-19 06:21:51 +00:00
writer_string.cpp tests: Android compilation fixes 2012-03-06 08:49:58 +00:00
writer_string.hpp tests: Android compilation fixes 2012-03-06 08:49:58 +00:00