PureXML/Sources/Parsing
Mihaela Mihaljevic 9e345ea0fe feat(xpath,parsing): public streaming surface, linear document-order at scale
EventReader.next(), both initializers, and the Event alias are public
(an internal typealias in a split file had been shadowing the public
Parsing.Event); a new PureXMLPublicAPITests target compiles without
testable import so facade gaps fail CI. The large-corpus benchmarks
exposed document-order sorting as quadratic on flat fan-outs; the fix's
first attempt was itself worse (an eager sibling table built per
predicate evaluation), caught by sampling the live run, and replaced
with a lazy table: single-node sets never touch order keys and a
parent's table builds on its second lookup. XPath at 42 MB drops
27.1 s to 1.57 s (190x to 11.7x); at 210 MB PureXML completes in 9.4 s
the query libxml2 refuses at its 10M node-set cap (#143 tracks our
configurable budget). Benchmark harness: size series to 210 MB, CORPUS
mode for real files (NASA, SwissProt measured), SAX stage,
refusal-aware table, NULL-safe C driver. All conformance suites,
Linux, and WASM verified. Closes #142.
2026-06-11 06:06:31 +02:00
..
Big5Decoder.swift
Big5Table1.swift
Big5Table2.swift
Big5Table3.swift
Big5Table4.swift
Big5Table5.swift
Big5Table6.swift
Big5Table.swift
ByteDecoder.swift
ByteEncoder.swift
ByteStorage.swift
CJKByteEncoder.swift
Diagnostic.swift
DoctypeScanner.swift
DoctypeScannerConditional.swift
DoctypeScannerEntities.swift
DoctypeScannerStrict.swift
DocumentType.swift
DTDAttListGrammar.swift
DTDContentModelGrammar.swift
EntityDecoder.swift
EntityReplacementGrammar.swift
EntityResolver.swift
EUCJPDecoder.swift
EUCKRDecoder.swift
EUCKRTable1.swift
EUCKRTable2.swift
EUCKRTable3.swift
EUCKRTable4.swift
EUCKRTable5.swift
EUCKRTable6.swift
EUCTWDecoder.swift
EUCTWPlane11.swift
EUCTWPlane12.swift
EUCTWPlane13.swift
EUCTWPlane21.swift
EUCTWPlane22.swift
EUCTWPlane23.swift
EUCTWTable.swift
Event.swift
EventReader.swift feat(xpath,parsing): public streaming surface, linear document-order at scale 2026-06-11 06:06:31 +02:00
EventReaderAttributes.swift
EventReaderEndTag.swift feat(xpath,parsing): public streaming surface, linear document-order at scale 2026-06-11 06:06:31 +02:00
EventReaderRecovery.swift
EventReaderValidity.swift
ExternalID.swift
GB18030Decoder.swift
GB18030Ranges.swift
GBKDecoder.swift
GBKTable1.swift
GBKTable2.swift
GBKTable3.swift
GBKTable4.swift
GBKTable5.swift
GBKTable6.swift
InputEncoding.swift
ISO2022JPDecoder.swift
JIS0208Table1.swift
JIS0208Table2.swift
JIS0208Table3.swift
JIS0212Table1.swift
JIS0212Table2.swift
Limits.swift
Mark.swift
NamespaceContext.swift
ParsedDocument.swift
ParseError.swift
Parser.swift
PseudoAttributeScanner.swift
PushAsync.swift
PushParser.swift
PushScanner.swift
Reader.swift
ReadResult.swift
SAXHandler.swift
ShiftJISDecoder.swift
SingleByteEncodings.swift
SingleByteTables.swift
SourceRange.swift
StreamingDecoder.swift
StreamingDecoderEUCTW.swift
StreamingDecoderISO2022JP.swift
TextReader.swift
UnparsedEntity.swift
ValidityFinding.swift
XMLCharacter.swift
XMLDeclaration.swift