Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ruby/rexml
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.3.7
Choose a base ref
...
head repository: ruby/rexml
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.3.9
Choose a head ref
  • 11 commits
  • 10 files changed
  • 3 contributors

Commits on Sep 4, 2024

  1. Bump version

    kou committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    35ee73e View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Optimize SAX2Parser#get_namespace (#207)

    ```
    RUBYLIB= BUNDLER_ORIG_RUBYLIB= /Users/naitoh/.rbenv/versions/3.3.4/bin/ruby -v -S benchmark-driver /Users/naitoh/ghq/github.com/naitoh/rexml/benchmark/parse.yaml
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin22]
    Calculating -------------------------------------
                             before       after  before(YJIT)  after(YJIT)
                     dom     18.085      17.677        33.086       32.778 i/s -     100.000 times in 5.529372s 5.657097s 3.022471s 3.050832s
                     sax     25.450      26.182        44.797       47.916 i/s -     100.000 times in 3.929249s 3.819475s 2.232309s 2.086982s
                    pull     29.160      29.089        55.407       53.531 i/s -     100.000 times in 3.429304s 3.437757s 1.804825s 1.868072s
                  stream     29.137      29.055        52.780       51.368 i/s -     100.000 times in 3.432007s 3.441754s 1.894649s 1.946724s
    
    Comparison:
                                  dom
            before(YJIT):        33.1 i/s
             after(YJIT):        32.8 i/s - 1.01x  slower
                  before:        18.1 i/s - 1.83x  slower
                   after:        17.7 i/s - 1.87x  slower
    
                                  sax
             after(YJIT):        47.9 i/s
            before(YJIT):        44.8 i/s - 1.07x  slower
                   after:        26.2 i/s - 1.83x  slower
                  before:        25.5 i/s - 1.88x  slower
    
                                 pull
            before(YJIT):        55.4 i/s
             after(YJIT):        53.5 i/s - 1.04x  slower
                  before:        29.2 i/s - 1.90x  slower
                   after:        29.1 i/s - 1.90x  slower
    
                               stream
            before(YJIT):        52.8 i/s
             after(YJIT):        51.4 i/s - 1.03x  slower
                  before:        29.1 i/s - 1.81x  slower
                   after:        29.1 i/s - 1.82x  slower
    ```
    
    - sax
      - YJIT=ON : 1.07x faster
      - YJIT=OFF : 1.03x faster
    naitoh authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    2e1cd64 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2024

  1. Fix handling with "xml:" prefixed namespace (#208)

    I found parsing XHTML documents like below fails since v3.3.3:
    
    ```xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      <head>
        <title>XHTML Document</title>
      </head>
      <body>
        <h1>XHTML Document</h1>
        <p xml:lang="ja" lang="ja">この段落は日本語です。</p>
      </body>
    </html>
    ```
    
    [XML namespace spec][spec] is a little bit ambiguous but document above
    is valid according to an [article W3C serves][article].
    
    I fixed the parsing algorithm. Can you review it?
    
    As an aside, `<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
    lang="en">` style language declaration is often used in XHTML files
    included in EPUB files because [sample EPUB files][samples] provided by
    IDPF, former EPUB spec authority, use the style.
    
    [spec]: https://www.w3.org/TR/REC-xml-names/#defaulting
    [article]:
    https://www.w3.org/International/questions/qa-html-language-declarations#attributes
    [samples]: https://github.com/IDPF/epub3-samples
    KitaitiMakoto authored Sep 29, 2024
    Configuration menu
    Copy the full SHA
    78f8712 View commit details
    Browse the repository at this point in the history
  2. Add 3.3.8 entry

    kou committed Sep 29, 2024
    Configuration menu
    Copy the full SHA
    4197054 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    036d508 View commit details
    Browse the repository at this point in the history
  4. Bump version

    kou committed Sep 29, 2024
    Configuration menu
    Copy the full SHA
    622011f View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. Optimize IOSource#read_until method (#210)

    ## Why?
    The result of `encode(term)` can be cached.
    
    ## Benchmark
    
    ```
    RUBYLIB= BUNDLER_ORIG_RUBYLIB= /Users/naitoh/.rbenv/versions/3.3.4/bin/ruby -v -S benchmark-driver /Users/naitoh/ghq/github.com/naitoh/rexml/benchmark/parse.yaml
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin22]
    Calculating -------------------------------------
                             before       after  before(YJIT)  after(YJIT)
                     dom     17.546      18.512        32.282       32.306 i/s -     100.000 times in 5.699323s 5.402026s 3.097658s 3.095448s
                     sax     25.435      28.294        47.526       50.074 i/s -     100.000 times in 3.931613s 3.534310s 2.104122s 1.997057s
                    pull     29.471      31.870        54.400       57.554 i/s -     100.000 times in 3.393211s 3.137793s 1.838222s 1.737494s
                  stream     29.169      31.153        51.613       52.898 i/s -     100.000 times in 3.428318s 3.209941s 1.937508s 1.890424s
    
    Comparison:
                                  dom
             after(YJIT):        32.3 i/s
            before(YJIT):        32.3 i/s - 1.00x  slower
                   after:        18.5 i/s - 1.75x  slower
                  before:        17.5 i/s - 1.84x  slower
    
                                  sax
             after(YJIT):        50.1 i/s
            before(YJIT):        47.5 i/s - 1.05x  slower
                   after:        28.3 i/s - 1.77x  slower
                  before:        25.4 i/s - 1.97x  slower
    
                                 pull
             after(YJIT):        57.6 i/s
            before(YJIT):        54.4 i/s - 1.06x  slower
                   after:        31.9 i/s - 1.81x  slower
                  before:        29.5 i/s - 1.95x  slower
    
                               stream
             after(YJIT):        52.9 i/s
            before(YJIT):        51.6 i/s - 1.02x  slower
                   after:        31.2 i/s - 1.70x  slower
                  before:        29.2 i/s - 1.81x  slower
    
    ```
    
    - YJIT=ON : 1.00x - 1.06x faster
    - YJIT=OFF : 1.05x - 1.11x faster
    naitoh authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    1d0c362 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. Fix IOSource#readline for @pending_buffer (#215)

    ## Why?
    Fixed a problem that `@pending_buffer` is not processed when `IOError`
    occurs in `@source.readline` although `@pending_buffer` exists when
    reading XML file.
    naitoh authored Oct 19, 2024
    Configuration menu
    Copy the full SHA
    cf0fb9c View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2024

  1. test: fix indent

    kou committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    a09646d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce59f2e View commit details
    Browse the repository at this point in the history
  3. Add 3.3.9 entry

    kou committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    38eaa86 View commit details
    Browse the repository at this point in the history
Loading