rbcop 0.1.0-x86_64-linux-gnu → 0.1.1-x86_64-linux-gnu

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -10
  3. data/libexec/rbcop +0 -0
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 85d7938f99a3cba451951ad879230c9fab6f9231f1bcdb16bcef1d8d8a3bb180
4
- data.tar.gz: 7e091940ec8c5a87535b2bfeff1437eaa82c41dc770108fc6bcb797ee3c32bb6
3
+ metadata.gz: 88ab47723a0ee7f216162fc7cefe6aba6be58e5fead464c6eafead78b6279687
4
+ data.tar.gz: ba98982b8d2799a08cd8419d0d56e4b0c4634a4100d9d5c1faa4a5da11dda864
5
5
  SHA512:
6
- metadata.gz: ef232133f31a3e23455a9af562edba0ba7b50c4883bad80ef9f58413893529de61df8a84c711c7400bdbec71e70422ca89e7c081c6ae18360b6b83cd9980a4a4
7
- data.tar.gz: f3052ad796e2db431ae31014bc0f4347f7e0f1b9ed5c8e08ef4bd193a35ee7a7b77994da3a9acb01b16ebb782392253b4d17e39017c9ae4919121823537ab248
6
+ metadata.gz: f6a185971a7f2e9492ea7786766025e81700b87d89a01511b69520e507955b5c8f1589e439919bd1c1876f88cf3a56d4341406e3755f089331a1a9216c5ef67d
7
+ data.tar.gz: f482a7a07b2dcb0e0ae1b832e59f12e459c3a431af40ba9f248ad4fdf52b5d2e03715704c85d65c2fc75a77ccd70addb157141f1e504eb9fbdca71e68b59b5ed
data/README.md CHANGED
@@ -10,7 +10,7 @@ The target is byte-identical output: same offenses, ranges, messages, `[Correcta
10
10
  - GitHub Actions: `uses: costajohnt/rbcop@v<version>` downloads and caches the release binary.
11
11
  - Homebrew formula and release archives with each release.
12
12
 
13
- [docs/migration.md](docs/migration.md) covers switching a project from RuboCop: Gemfile, binstubs, CI, editors and plugins. None of these is published yet (#298); `docs/releasing.md` describes how they are built.
13
+ [docs/migration.md](docs/migration.md) covers switching a project from RuboCop: Gemfile, binstubs, CI, editors and plugins. `docs/releasing.md` describes how releases are built.
14
14
 
15
15
  ## Build
16
16
 
@@ -33,7 +33,7 @@ rbcop -f json -o report.json
33
33
 
34
34
  All builtin formatters except `autogenconf` are supported, as are the display options, `--fail-level`, `--stdin` (with `-a`/`-A` it prints the corrected source after the report), `-L`, `--show-cops`, `-v` and `-V`.
35
35
 
36
- Not supported: `--auto-gen-config`, `--regenerate-todo`, `--disable-uncorrectable`, `--report-unused-todo-entries`, `--display-suppressed`, `--diff`, `--changed`, the server, LSP and MCP modes, `-r`/`--plugin`, `-d`, `--profile`, `--memory`, custom formatter classes, `require:` of local Ruby files, ERB in `.rubocop.yml` and remote `inherit_from` URLs. `--cache` is accepted and has no effect. [docs/known-gaps.md](docs/known-gaps.md) lists these and every other known difference, including a few deliberate ones (for example, `-o` pointing at a file being inspected is refused). `-a`/`-A` do not write files that resolve (through symlinks) outside the working directory and the paths given on the command line; those are reported uncorrected with a warning.
36
+ Not supported: `--auto-gen-config`, `--regenerate-todo`, `--disable-uncorrectable`, `--report-unused-todo-entries`, `--display-suppressed`, `--diff`, `--changed`, the server, LSP and MCP modes, `-r`/`--plugin`, `-d`, `--profile`, `--memory`, custom formatter classes, `require:` of local Ruby files and remote `inherit_from` URLs. ERB in config files is rendered by running `ruby`, as RuboCop renders it. `--cache` is accepted and has no effect. [docs/known-gaps.md](docs/known-gaps.md) lists these and every other known difference, including a few deliberate ones (for example, `-o` pointing at a file being inspected is refused). `-a`/`-A` do not write files that resolve (through symlinks) outside the working directory and the paths given on the command line; those are reported uncorrected with a warning.
37
37
 
38
38
  ## Plugins and custom cops
39
39
 
@@ -72,16 +72,18 @@ With `RBCOP_FALLBACK=1`, rbcop runs RuboCop once more for exactly those cops (`-
72
72
 
73
73
  ## Speed
74
74
 
75
- `scripts/bench.sh` on the rails corpus (3,573 files, 612 cops, `--force-default-config`), Apple M4 with 10 cores, wall time. The machine was running other heavy jobs at the time (load average 12 to 26), so these are rough:
75
+ CI-shaped runs (Linux container, 4 vCPUs, each project's own config, RuboCop with an empty result cache, median of 3): rbcop is 10x to 19x faster than `rubocop --parallel`, about 14x on average.
76
76
 
77
- | Run | Time |
78
- |---|---:|
79
- | rubocop, one process, no cache | 198 s |
80
- | rubocop --parallel, cold cache | 62 s |
81
- | rubocop --parallel, warm cache | 6 s |
82
- | rbcop (no cache; uses every core) | 10 s |
77
+ | Codebase | Files | `rubocop --parallel` | rbcop | Speedup |
78
+ |---|---:|---:|---:|---:|
79
+ | rails | 3,476 | 50.6 s | 2.64 s | 19x |
80
+ | discourse | 12,441 | 140.6 s | 10.16 s | 14x |
81
+ | mastodon | 3,297 | 61.2 s | 6.10 s | 10x |
82
+ | brew | 1,977 | 69.0 s | 4.39 s | 16x |
83
+ | solidus | 2,171 | 28.3 s | 2.12 s | 13x |
84
+ | fastlane | 1,355 | 30.3 s | 2.02 s | 15x |
83
85
 
84
- rbcop has no result cache, so RuboCop with a warm cache is faster on an unchanged tree.
86
+ rbcop has no result cache, so RuboCop with a warm cache can be faster on an unchanged tree. Method, 2 vCPU numbers and raw data: [docs/benchmarks.md](docs/benchmarks.md).
85
87
 
86
88
  ## Gates
87
89
 
data/libexec/rbcop CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbcop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: x86_64-linux-gnu
6
6
  authors:
7
7
  - John Costa