diff options
author | Stefan Behnel <stefan_ml@behnel.de> | 2018-12-02 16:20:37 +0100 |
---|---|---|
committer | Stefan Behnel <stefan_ml@behnel.de> | 2018-12-02 16:20:37 +0100 |
commit | 6c2d46e785abb939a5cc9a0d752241d54da46683 (patch) | |
tree | 06a4d4f3b8215546cc7c944f7db5a1adda93a021 | |
parent | 10ce94b0a7db3470792e2e0fdd180e6f1ba52212 (diff) | |
download | python-lxml-6c2d46e785abb939a5cc9a0d752241d54da46683.tar.gz |
Speed up sax.py by converting ElementTreeProducer into an extension type and inlining its internal method calls.
-rw-r--r-- | src/lxml/sax.pxd | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lxml/sax.pxd b/src/lxml/sax.pxd new file mode 100644 index 00000000..215e53fa --- /dev/null +++ b/src/lxml/sax.pxd @@ -0,0 +1,14 @@ +cimport cython + +cdef tuple _getNsTag(tag) + +cdef class ElementTreeProducer: + cdef _element + cdef _content_handler + cdef _attr_class + cdef _empty_attributes + + @cython.locals(element_nsmap=dict) + cdef inline _recursive_saxify(self, element, dict parent_nsmap) + + cdef inline _build_qname(self, ns_uri, local_name, dict nsmap, preferred_prefix, bint is_attribute) |