solid-jobs 0.1.2 → 0.1.3
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 +4 -4
- data/CHANGELOG.md +9 -2
- data/README.md +12 -11
- data/lib/solid_jobs/version.rb +1 -2
- data/lib/solid_jobs.rb +0 -1
- metadata +3 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 52c2c82a111ab574881c9efe6f5c692c145b50ad85542844e34de74a44860a8e
|
|
4
|
+
data.tar.gz: 7a23ba9ea19c901c7c888680351b018b8f554cac0192a17195682aaa3725bd82
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 63447e81affab81cac25ed04aed7fa8cc8b27d89e5fd6425db087ed0feadc4d950266c35c16df6e91f27f5a5562844610516048ccbc4120f5132f9ab83456970
|
|
7
|
+
data.tar.gz: 3da40a61ca01cd8f868ebc0dd734b925ad0d46852517f34ea73b23cb8e9762c05b09db55caf218729a734975c579cb97d27253666142dbc694e0c5a018df427a
|
data/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [
|
|
5
|
+
## [0.1.3] - 2026-10-01
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Require `solid-redis` 1.0.11 and rely on its `solid-resp-ractor` dependency
|
|
10
|
+
instead of declaring and loading the RESP codec directly.
|
|
6
11
|
|
|
7
12
|
## [0.1.2] - 2026-10-01
|
|
8
13
|
|
|
@@ -56,5 +61,7 @@ All notable changes to this project will be documented in this file.
|
|
|
56
61
|
- Reliable-hot-path and CPU-scaling profilers plus the independent Sidekiq
|
|
57
62
|
comparison benchmark.
|
|
58
63
|
|
|
59
|
-
[
|
|
64
|
+
[0.1.3]: https://github.com/nicolasva/solid-jobs/compare/v0.1.2...v0.1.3
|
|
65
|
+
[0.1.2]: https://github.com/nicolasva/solid-jobs/compare/v0.1.1...v0.1.2
|
|
66
|
+
[0.1.1]: https://github.com/nicolasva/solid-jobs/compare/v0.1.0...v0.1.1
|
|
60
67
|
[0.1.0]: https://github.com/nicolasva/solid-jobs/releases/tag/v0.1.0
|
data/README.md
CHANGED
|
@@ -131,20 +131,21 @@ stability. Every measurement runs in a fresh Ruby process; client order
|
|
|
131
131
|
alternates and the default report uses the median of six repetitions.
|
|
132
132
|
|
|
133
133
|
The current homogeneous CPU-processing reference uses Ruby 4.0.1,
|
|
134
|
-
Sidekiq 8.1.7, a
|
|
134
|
+
Sidekiq 8.1.7, SolidJobs 0.1.2, a 100,000-iteration integer workload, and
|
|
135
|
+
2,000 jobs per case:
|
|
135
136
|
|
|
136
137
|
| Concurrency | Sidekiq jobs/s | SolidJobs jobs/s | SolidJobs scaling | Sidekiq CPU-s/1k | SolidJobs CPU-s/1k | Sidekiq RSS | SolidJobs RSS | Sidekiq alloc/job | SolidJobs alloc/job |
|
|
137
138
|
|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
|
|
138
|
-
| 1 |
|
|
139
|
-
| 2 |
|
|
140
|
-
| 4 |
|
|
141
|
-
| 8 |
|
|
142
|
-
|
|
143
|
-
At eight concurrency units, SolidJobs reaches
|
|
144
|
-
for
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
also uses more RSS, but reaches
|
|
139
|
+
| 1 | 289 | 281 | 100.0% | 3.35 | 3.40 | 41.4 MiB | 81.8 MiB | 117.2 | 84.0 |
|
|
140
|
+
| 2 | 296 | 549 | 97.7% | 3.38 | 3.44 | 41.7 MiB | 83.1 MiB | 116.8 | 79.7 |
|
|
141
|
+
| 4 | 298 | 1,090 | 97.0% | 3.37 | 3.43 | 41.8 MiB | 79.5 MiB | 111.1 | 77.7 |
|
|
142
|
+
| 8 | 298 | 2,053 | 91.4% | 3.36 | 3.67 | 42.4 MiB | 74.1 MiB | 108.1 | 74.3 |
|
|
143
|
+
|
|
144
|
+
At eight concurrency units, SolidJobs reaches 2,053 jobs/s versus 298 jobs/s
|
|
145
|
+
for Sidekiq. This is Ractor parallelism rather than equal CPU efficiency:
|
|
146
|
+
SolidJobs consumes 752.6% CPU and 3.67 CPU-seconds per 1,000 jobs, while
|
|
147
|
+
Sidekiq consumes 100.2% CPU and 3.36 CPU-seconds per 1,000 jobs. SolidJobs
|
|
148
|
+
also uses more RSS, but reaches 27.71 jobs/s/MiB versus 7.03 for Sidekiq.
|
|
148
149
|
|
|
149
150
|
These are local synthetic measurements, not application-capacity claims.
|
|
150
151
|
Queue p95/p99 values in this run use sparse sampling and are excluded from the
|
data/lib/solid_jobs/version.rb
CHANGED
data/lib/solid_jobs.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solid-jobs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nicolas Vandenbogaerde
|
|
@@ -60,7 +60,7 @@ dependencies:
|
|
|
60
60
|
version: '1.0'
|
|
61
61
|
- - ">="
|
|
62
62
|
- !ruby/object:Gem::Version
|
|
63
|
-
version: 1.0.
|
|
63
|
+
version: 1.0.11
|
|
64
64
|
type: :runtime
|
|
65
65
|
prerelease: false
|
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -70,27 +70,7 @@ dependencies:
|
|
|
70
70
|
version: '1.0'
|
|
71
71
|
- - ">="
|
|
72
72
|
- !ruby/object:Gem::Version
|
|
73
|
-
version: 1.0.
|
|
74
|
-
- !ruby/object:Gem::Dependency
|
|
75
|
-
name: solid-resp-ractor
|
|
76
|
-
requirement: !ruby/object:Gem::Requirement
|
|
77
|
-
requirements:
|
|
78
|
-
- - "~>"
|
|
79
|
-
- !ruby/object:Gem::Version
|
|
80
|
-
version: '0.1'
|
|
81
|
-
- - ">="
|
|
82
|
-
- !ruby/object:Gem::Version
|
|
83
|
-
version: 0.1.3
|
|
84
|
-
type: :runtime
|
|
85
|
-
prerelease: false
|
|
86
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
87
|
-
requirements:
|
|
88
|
-
- - "~>"
|
|
89
|
-
- !ruby/object:Gem::Version
|
|
90
|
-
version: '0.1'
|
|
91
|
-
- - ">="
|
|
92
|
-
- !ruby/object:Gem::Version
|
|
93
|
-
version: 0.1.3
|
|
73
|
+
version: 1.0.11
|
|
94
74
|
- !ruby/object:Gem::Dependency
|
|
95
75
|
name: minitest
|
|
96
76
|
requirement: !ruby/object:Gem::Requirement
|