grex_ruby 0.3.0 → 0.3.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 781efb31741fa9806bf76e010c0414b06bdd4dfaad5ef213ad4eba27d60ca976
4
- data.tar.gz: d902f4f544a50bf54c71eb5ecbd2b743628ea195b13c282b1baef7aff54f7e69
3
+ metadata.gz: b54e73f96316c2b57690c403daf488a00de33c9bf0ac5f2ecfc3ea6be6b13eed
4
+ data.tar.gz: 5f2f23c183ff9a2f318f5f46d7bd7519bfbcc209b3844492f611923624b0cd39
5
5
  SHA512:
6
- metadata.gz: 06d66538fd78d54b19d8f4c79c4b57c9e50afe65dd225b866354a8b057e753703b388a5aa81003d2dbbfbc96f4dd497ef33183427abcd028f1e78a4e4e4ef554
7
- data.tar.gz: 26d1802d580e715d89431471ea6744fad9290cc651cc8a9802b4704def599525c8bb6577f83c9e862b363773cf4bf70d6073d393e96fbe54bebe87643a119683
6
+ metadata.gz: 1c2c5e0934f33f5e0606a3506df2da5132dc3cd82efa13556d3ed13c3d19ffc189481f9c3dde8483e2f617379cb899681aa44cdb2694981fced6938e5e60011a
7
+ data.tar.gz: 4ddfbdd679b3aeef16b0a4e7c8452399aba70dd9cd51070d2968befddc13cb17ada08c0d51cfdbd075a836a6596b0d931cd02bfe2a1c65d1d3173950b09260e9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.1
4
+
5
+ - Add a documentation link to the GitHub README in RubyGems metadata.
6
+ - Keep reproducible benchmarks in the repository and exclude them from the gem package.
7
+
3
8
  ## 0.3.0
4
9
 
5
10
  - Add `Grex.generate_from_file` with UTF-8 input, LF/CRLF line handling and keyword options.
data/Cargo.lock CHANGED
@@ -228,7 +228,7 @@ dependencies = [
228
228
 
229
229
  [[package]]
230
230
  name = "grex_ruby"
231
- version = "0.3.0"
231
+ version = "0.3.1"
232
232
  dependencies = [
233
233
  "grex",
234
234
  "magnus",
data/README.md CHANGED
@@ -584,6 +584,31 @@ bundle exec rake build
584
584
  The package is written to `pkg/grex_ruby-<version>.gem`. On Windows, run the
585
585
  command through `ridk.cmd exec` with the environment variables shown above.
586
586
 
587
+ ## Benchmarks
588
+
589
+ Reproducible Ruby and standalone Rust benchmarks are in [`benchmark/`](benchmark/README.md).
590
+ They share deterministic input datasets and check generated patterns outside
591
+ the timed blocks. The Ruby benchmark separates native generation, pattern
592
+ adaptation, and the full public API.
593
+
594
+ Preliminary results for 1000 examples, in milliseconds per generation:
595
+
596
+ | Dataset | Full Ruby API | Direct Rust grex |
597
+ | --- | ---: | ---: |
598
+ | Common prefix | 6.635 | 8.720 |
599
+ | Random ASCII | 2587.141 | 2679.296 |
600
+ | Random Unicode | 2566.244 | 2680.237 |
601
+
602
+ Measured on an Intel Core i5-12450H, Windows x64, Ruby 4.0.7, rustc 1.99.1,
603
+ and grex 1.4.6 with release builds and the GNU target. These short runs used
604
+ two measured calls per case after warmup. They illustrate how input structure
605
+ affects generation cost; they are not stable performance guarantees or a
606
+ regex-matching benchmark. Direct Rust exhibited a similar cost on the random
607
+ datasets, while the Ruby adapter took less than one millisecond.
608
+
609
+ See the [benchmark instructions and detailed results](benchmark/README.md) for
610
+ the exact datasets, commands, phase timings and limitations.
611
+
587
612
  ## Contributing
588
613
 
589
614
  Bug reports and pull requests are welcome on GitHub at https://github.com/sk8higher/grex_ruby.
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "grex_ruby"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  edition = "2021"
5
5
  authors = ["Nelly Simkova <sk8high3r@ya.ru>"]
6
6
  publish = false
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Grex
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.1"
5
5
  end
6
6
 
7
7
  # Compatibility with the public module name used in version 0.1.0.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grex_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nelly Simkova
@@ -9,20 +9,6 @@ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
- - !ruby/object:Gem::Dependency
13
- name: rb_sys
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - "~>"
17
- - !ruby/object:Gem::Version
18
- version: 0.9.128
19
- type: :runtime
20
- prerelease: false
21
- version_requirements: !ruby/object:Gem::Requirement
22
- requirements:
23
- - - "~>"
24
- - !ruby/object:Gem::Version
25
- version: 0.9.128
26
12
  - !ruby/object:Gem::Dependency
27
13
  name: optparse
28
14
  requirement: !ruby/object:Gem::Requirement
@@ -43,6 +29,20 @@ dependencies:
43
29
  - - "<"
44
30
  - !ruby/object:Gem::Version
45
31
  version: '1.0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: rb_sys
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: 0.9.128
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: 0.9.128
46
46
  email:
47
47
  - sk8high3r@ya.ru
48
48
  executables:
@@ -76,6 +76,7 @@ metadata:
76
76
  homepage_uri: https://github.com/sk8higher/grex_ruby
77
77
  source_code_uri: https://github.com/sk8higher/grex_ruby
78
78
  changelog_uri: https://github.com/sk8higher/grex_ruby/blob/main/CHANGELOG.md
79
+ documentation_uri: https://github.com/sk8higher/grex_ruby#readme
79
80
  rdoc_options: []
80
81
  require_paths:
81
82
  - lib