GitXplorerGitXplorer
a

swift-string-processing-benchmarks

public
5 stars
4 forks
1 issues

Commits

List of commits on branch main.
Unverified
70d10a21254b10e188b10729cbf22a743ee3e126

Add test data and some initial benchmarks

nnatecook1000 committed 10 months ago
Unverified
caea0da91b8d4babcbd43fc91a4f985393f5b1b7

Update base project files

nnatecook1000 committed 10 months ago
Verified
796a5fb520a9d8b47b88fbc2382da7ce8cee7e65

Initial commit

ttkremenek committed 10 months ago

README

The README file for this repository.

_StringProcessing Benchmarks

This package is used to benchmark the Regex matching and string searching algorithms implemented in the https://github.com/apple/swift-experimental-string-processing/ package.

Usage

  1. The swift-experimental-string-processing repository is defined as a local reference, so you can update that as befits your testing needs, or point to a different location.

  2. Install jemalloc via brew install jemalloc, or whatever method makes sense for you.

  3. Run the benchmarks with this command, substituting your own toolchain identifier (found in the toolchain's Info.plist):

$ xcrun --toolchain org.swift.59202403071a swift package -c release --allow-writing-to-package-directory benchmark

Two unfortunate notes about the current setup:

  • Saving baselines doesn't work for me (Nate) for some reason -- you should be able to save benchmark output by adding baseline update BASELINE_NAME to the command above, but it appears to have no effect. As a workaround, you can run the benchmarks twice and manually compare the output.

  • Compounding matters, the benchmark only successfully builds when built from a clean state, perhaps due to the presence of _StringProcessing symbols in both the stdlib and the imported package.