Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add #[inline] to methods implementing XmlSource
All methods called only once or two and inlining them in most cases increases performance of our benchmarks: > critcmp master element-parser -t 5 group element-parser master ----- -------------- ------ NsReader::read_resolved_event_into/trim_text = true 1.00 384.1±7.53µs ? ?/sec 1.05 404.0±7.44µs ? ?/sec One event/CData 1.00 58.2±1.12ns ? ?/sec 1.17 68.1±1.35ns ? ?/sec One event/Comment 1.00 150.9±2.88ns ? ?/sec 1.07 161.4±2.79ns ? ?/sec decode_and_parse_document_with_namespaces/rpm_filelists.xml 1.00 95.3±1.53µs 115.3 MB/sec 1.07 102.2±1.65µs 107.5 MB/sec escape_text/escaped_chars_long 1.16 1479.3±28.09ns ? ?/sec 1.00 1275.0±23.98ns ? ?/sec escape_text/escaped_chars_short 1.00 498.1±8.62ns ? ?/sec 1.06 526.6±10.80ns ? ?/sec escape_text/no_chars_to_escape_long 1.18 1045.1±19.96ns ? ?/sec 1.00 887.1±17.00ns ? ?/sec escape_text/no_chars_to_escape_short 1.29 21.0±0.35ns ? ?/sec 1.00 16.4±0.31ns ? ?/sec parse_document_nocopy_with_namespaces/libreoffice_document.fodt 1.00 512.4±9.74µs 106.6 MB/sec 1.07 546.2±10.20µs 100.0 MB/sec parse_document_nocopy_with_namespaces/rpm_filelists.xml 1.00 86.9±1.49µs 126.4 MB/sec 1.14 99.2±1.74µs 110.7 MB/sec parse_document_nocopy_with_namespaces/rpm_other.xml 1.00 140.2±2.71µs 157.9 MB/sec 1.06 148.7±2.71µs 148.9 MB/sec parse_document_nocopy_with_namespaces/rpm_primary.xml 1.00 191.1±3.57µs 106.1 MB/sec 1.09 207.9±3.79µs 97.5 MB/sec parse_document_nocopy_with_namespaces/rpm_primary2.xml 1.00 62.2±1.20µs 115.2 MB/sec 1.09 67.5±1.28µs 106.2 MB/sec parse_document_nocopy_with_namespaces/sample_1.xml 1.00 10.4±0.21µs 106.1 MB/sec 1.07 11.1±0.21µs 99.3 MB/sec parse_document_nocopy_with_namespaces/sample_ns.xml 1.00 8.5±0.16µs 85.5 MB/sec 1.07 9.0±0.18µs 80.0 MB/sec parse_document_nocopy_with_namespaces/sample_rss.xml 1.00 784.2±13.53µs 240.5 MB/sec 1.10 859.9±12.82µs 219.3 MB/sec parse_document_nocopy_with_namespaces/test_writer_ident.xml 1.00 29.0±0.50µs 146.2 MB/sec 1.06 30.8±0.55µs 138.0 MB/sec read_event/trim_text = false 1.00 201.4±4.31µs ? ?/sec 1.08 218.5±3.98µs ? ?/sec read_event/trim_text = true 1.00 191.2±3.40µs ? ?/sec 1.11 211.7±4.11µs ? ?/sec
- Loading branch information