Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid per-byte loop in cstring{,Utf8} builders #569

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Commits on Oct 9, 2023

  1. Avoid per-byte loop in cstring{,Utf8} builders

    Copy chunks of the input to the output buffer with 'memcpy', up to the shorter
    of the available buffer space and the "null-free" portion of the remaining
    string.  For the UTF8 version, encoded NUL bytes are located via strstr(3).
    hs-viktor committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    7f1aca0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    01b5f36 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2024

  1. Improve benchmarks for small Builders

       * Do not measure the overhead of allocating destination chunks
       * Add several more benchmarks for P.cstring and P.cstringUtf8
    clyring committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    3ce0346 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'builder-bench-improvements' into chunky-cstring-builder

    (This won't work with -fpure-haskell yet.)
    clyring committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    f58840b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d674964 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b297904 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e1aab36 View commit details
    Browse the repository at this point in the history
  6. Use Exts.lazy instead of Exts.noinline

    The magic noinline id just isn't available with ghc-8.0...
    clyring committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    2603009 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    cd02c61 View commit details
    Browse the repository at this point in the history