Skip to content

Commit

Permalink
Merge 630bc30 into f015a09
Browse files Browse the repository at this point in the history
  • Loading branch information
ScottPJones committed May 24, 2020
2 parents f015a09 + 630bc30 commit 1f67386
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@

[pkg-url]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html

# change E/Example to the initial and name of your package
[strs-pkg]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/S/Strs.svg

[![][gitter-img]][gitter-url]
[![contributions welcome][contrib]](https://github.com/JuliaString/Strs.jl/issues)
[![PkgEval][strs-pkg]][pkg-url]
[![PkgEval][https://juliaci.github.io/NanosoldierReports/pkgeval_badges/S/Strs.svg]][pkg-url]
[![][release]][strs-url]
[![][release-date]][strs-url]
[![][license-img]][license-url]
Expand Down Expand Up @@ -75,7 +72,7 @@ It brings together the following:
Default formatting based on the type of the argument: i.e. `f"\(1.23)"` returns `"1.23"`, but `f"\%(1.23)"` returns `"1.230000"` based on the default format set up for AbstractFloat types.
See [Format](https://github.com/JuliaString/Format.jl) for more information on how to set up defaults for your own types, or to change the defaults for floats, strings, etc.

It also supports C-style formatting, but without having to count the position of the argument: i.e. instead of `@sprintf("$name has \$%10.8f", 1.23)"`, `f"\(name) has $\%10.8f(1.23)"`
It also supports C-style formatting, but without having to count the position of the argument: i.e. instead of `@sprintf("$name has \$%10.8f", 1.23)"`, `f"\(name) has $\%10.8f(1.23)"`

2) Faster and more flexible set of string and character types,
such as `ASCIIStr`, `Latin1Str`, `UCS2Str`, `UTF32Str`, that are indexed by character,
Expand All @@ -94,6 +91,10 @@ It brings together the following:
5) Highly optimized string functions, operating on 2, 4, or 8 characters at a time
(I do intend to optimize these further, by using vector instructions on Intel, ARM, and POWER architectures, to process up to 64 characters at a time).

6) Thread-safe Regex support (it was not thread-safe in the LTS (long term support) version of Julia, currently v1.05, but that has been fixed as of the v1.3 release)

7) Regex support that doesn't assume that `String` values are valid UTF-8, so that it can't be used as a way of attacking programs written in Julia by passing certain unvalidated strings to the PCRE2 library. For speed, one can use the `UTF8Str` type instead of `String` using `R"..."` instead of the `r"..."`.

I would very much appreciate any constructive criticism, help implementing some of the ideas, ideas on how to make it perform better, bikeshedding on names and API, etc.
Also, I'd love contributions of benchmark code and/or samples for different use cases of strings,
or pointers to such (such as a way to get lots of tweets, to test mixed text and emojis, for example).
Expand Down

0 comments on commit 1f67386

Please sign in to comment.