character_set 1.8.0-java → 1.9.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +2 -1
  5. data/Rakefile +12 -5
  6. data/ext/character_set/character_set.c +78 -67
  7. data/ext/character_set/java/src/main/java/org/jaynetics/characterset/CharacterSetService.java +15 -0
  8. data/ext/character_set/java/src/main/java/org/jaynetics/characterset/RubyCharacterSet.java +493 -0
  9. data/ext/character_set/java/src/main/java/org/jaynetics/characterset/StringOperations.java +138 -0
  10. data/lib/character_set/character_set.jar +0 -0
  11. data/lib/character_set/java.rb +6 -0
  12. data/lib/character_set/parser.rb +5 -3
  13. data/lib/character_set/predefined_sets/assigned.cps +95 -58
  14. data/lib/character_set/predefined_sets/emoji.cps +9 -11
  15. data/lib/character_set/predefined_sets.rb +1 -1
  16. data/lib/character_set/ruby_fallback/character_set_methods.rb +7 -10
  17. data/lib/character_set/ruby_fallback/set_methods.rb +215 -52
  18. data/lib/character_set/ruby_fallback.rb +4 -18
  19. data/lib/character_set/shared_methods.rb +39 -2
  20. data/lib/character_set/version.rb +1 -1
  21. data/lib/character_set/writer.rb +1 -1
  22. data/lib/character_set.rb +6 -1
  23. metadata +10 -53
  24. data/.gitattributes +0 -3
  25. data/.github/workflows/gouteur.yml +0 -20
  26. data/.github/workflows/lint.yml +0 -29
  27. data/.github/workflows/tests.yml +0 -28
  28. data/.gitignore +0 -33
  29. data/.gouteur.yml +0 -2
  30. data/.rspec +0 -3
  31. data/BENCHMARK.md +0 -90
  32. data/Gemfile +0 -21
  33. data/bin/console +0 -21
  34. data/bin/setup +0 -8
  35. data/character_set.gemspec +0 -24
  36. data/ext/character_set/unicode_casefold_table.h +0 -1438
  37. data/ext/character_set/unicode_casefold_table.h.tmpl +0 -11
  38. data/lib/character_set/ruby_fallback/vendored_set_classes.rb +0 -385
  39. data/tasks/benchmark.rake +0 -20
  40. data/tasks/benchmarks/count_in.rb +0 -13
  41. data/tasks/benchmarks/cover.rb +0 -25
  42. data/tasks/benchmarks/delete_in.rb +0 -29
  43. data/tasks/benchmarks/keep_in.rb +0 -29
  44. data/tasks/benchmarks/scan.rb +0 -13
  45. data/tasks/benchmarks/shared.rb +0 -28
  46. data/tasks/benchmarks/used_by.rb +0 -25
  47. data/tasks/benchmarks/z_add.rb +0 -12
  48. data/tasks/benchmarks/z_delete.rb +0 -12
  49. data/tasks/benchmarks/z_merge.rb +0 -15
  50. data/tasks/benchmarks/z_minmax.rb +0 -12
  51. data/tasks/sync_casefold_data.rake +0 -20
  52. data/tasks/sync_predefined_sets.rake +0 -9
  53. data/tasks/sync_ruby_spec.rake +0 -65
data/BENCHMARK.md DELETED
@@ -1,90 +0,0 @@
1
- Results of `rake:benchmark` on ruby 3.2.0dev (2022-02-14T14:35:54Z master 26187a8520) [arm64-darwin21]
2
-
3
- ```
4
- Counting non-letters
5
-
6
- CharacterSet#count_in: 14627506.2 i/s
7
- String#count: 3859777.0 i/s - 3.79x slower
8
- ```
9
- ```
10
- Detecting non-whitespace
11
-
12
- CharacterSet#cover?: 17241902.8 i/s
13
- Regexp#match?: 12971122.6 i/s - 1.33x slower
14
- ```
15
- ```
16
- Detecting non-letters
17
-
18
- CharacterSet#cover?: 17243472.3 i/s
19
- Regexp#match?: 7957626.9 i/s - 2.17x slower
20
- ```
21
- ```
22
- Removing ASCII whitespace
23
-
24
- CharacterSet#delete_in: 6190975.7 i/s
25
- String#tr: 4722716.6 i/s - 1.31x slower
26
- String#gsub: 214239.5 i/s - 28.90x slower
27
- ```
28
- ```
29
- Removing whitespace, emoji and umlauts
30
-
31
- CharacterSet#delete_in: 5890471.8 i/s
32
- String#tr: 348506.8 i/s - 16.90x slower
33
- String#gsub: 318268.3 i/s - 18.51x slower
34
- ```
35
- ```
36
- Removing non-whitespace
37
-
38
- CharacterSet#keep_in: 7396898.0 i/s
39
- String#gsub: 208809.7 i/s - 35.42x slower
40
- String#tr: 13.1 i/s - 564682.50x slower
41
- ```
42
- ```
43
- Keeping only emoji
44
-
45
- CharacterSet#keep_in: 7022741.1 i/s
46
- String#gsub: 180939.6 i/s - 38.81x slower
47
- String#tr: 13.1 i/s - 536724.50x slower
48
- ```
49
- ```
50
- Extracting emoji to an Array
51
-
52
- CharacterSet#scan: 3023176.8 i/s
53
- String#scan: 893225.8 i/s - 3.38x slower
54
- ```
55
- ```
56
- Detecting whitespace
57
-
58
- CharacterSet#used_by?: 17284025.9 i/s
59
- Regexp#match?: 11847064.5 i/s - 1.46x slower
60
- ```
61
- ```
62
- Detecting emoji in a large string
63
-
64
- CharacterSet#used_by?: 341386.1 i/s
65
- Regexp#match?: 183121.6 i/s - 1.86x slower
66
- ```
67
- ```
68
- Adding entries
69
-
70
- CharacterSet#add: 4989762.3 i/s
71
- SortedSet#add: 1157911.7 i/s - 4.31x slower
72
- ```
73
- ```
74
- Removing entries
75
-
76
- CharacterSet#delete: 4996703.6 i/s
77
- SortedSet#delete: 4177401.5 i/s - same-ish
78
- ```
79
- ```
80
- Merging entries
81
-
82
- CharacterSet#merge: 666.7 i/s
83
- SortedSet#merge: 4.0 i/s - 167.84x slower
84
- ```
85
- ```
86
- Getting the min and max
87
-
88
- CharacterSet#minmax: 1596470.9 i/s
89
- SortedSet#minmax: 866.4 i/s - 1842.74x slower
90
- ```
data/Gemfile DELETED
@@ -1,21 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
- # Specify your gem's dependencies in character_set.gemspec
6
- gemspec
7
-
8
- gem 'benchmark-ips', '~> 2.7'
9
- gem 'get_process_mem', '~> 0.2.3'
10
- gem 'rake', '~> 13.1'
11
- gem 'rake-compiler', '~> 1.1'
12
- gem 'range_compressor', '~> 1.0'
13
- gem 'regexp_parser', '~> 2.9'
14
- gem 'regexp_property_values', '~> 1.5'
15
- gem 'rspec', '~> 3.8'
16
- gem 'warning', '~> 1.3'
17
- if RUBY_VERSION.to_f >= 3.0
18
- gem 'gouteur', '~> 1.0.0'
19
- gem 'rubocop', '~> 1.59'
20
- gem 'simplecov-cobertura', require: false
21
- end
data/bin/console DELETED
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'bundler/setup'
4
-
5
- `bundle exec rake compile`
6
-
7
- require 'character_set'
8
- require 'character_set/core_ext'
9
- require 'character_set/pure'
10
-
11
- require 'regexp_property_values'
12
-
13
- CS = CharacterSet
14
- CP = CharacterSet::Pure
15
- PV = RegexpPropertyValues
16
-
17
- require 'benchmark'
18
- def m(&block); Benchmark.measure(&block); end
19
-
20
- require "irb"
21
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
@@ -1,24 +0,0 @@
1
- lib = File.expand_path('../lib', __FILE__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
-
4
- require 'character_set/version'
5
-
6
- Gem::Specification.new do |s|
7
- s.name = 'character_set'
8
- s.version = CharacterSet::VERSION
9
- s.authors = ['Janosch Müller']
10
- s.email = ['janosch84@gmail.com']
11
-
12
- s.summary = 'Build, read, write and compare sets of Unicode codepoints.'
13
- s.homepage = 'https://github.com/jaynetics/character_set'
14
- s.license = 'MIT'
15
-
16
- s.files = `git ls-files -z`.split("\x0").reject do |f|
17
- f.match(%r{^(test|spec|features)/})
18
- end
19
- s.require_paths = ['lib']
20
-
21
- s.extensions = %w[ext/character_set/extconf.rb]
22
-
23
- s.required_ruby_version = '>= 2.1.0'
24
- end