DEV Community

Cover image for # WJb Hits 700k+ Jobs/sec: Benchmarking the New Lightweight Background Job Library for .NET
Oleksandr Viktor
Oleksandr Viktor

Posted on

# WJb Hits 700k+ Jobs/sec: Benchmarking the New Lightweight Background Job Library for .NET

WJb Hits 700k+ Jobs/sec: Benchmarking the New Lightweight Background Job Library for .NET

Just hours after its release, a brand-new .NET background job library is already showing impressive performance.

Meet WJb — a minimal, flexible, and explicit background job execution library built by UkrGuru (Oleksandr Viktor). Released today (April 15, 2026), WJb focuses on simplicity, predictability, and control instead of heavy magic or complex infrastructure.

Why WJb?

While mature solutions like Hangfire and Quartz.NET are powerful, sometimes you just want something lightweight with:

  • Priority-based queues
  • JSON payloads
  • Cron-based scheduling
  • Clean DI and IHostedService integration
  • No bloat, no hidden behaviors

WJb promises exactly that: explicit, controllable background job processing.

The Benchmark Suite

I created a dedicated benchmark console app to stress-test WJb right after installation. The suite measures:

  • Single-threaded enqueue throughput
  • Multi-threaded enqueue scaling (realistic producer load)
  • Heavy JSON payload overhead
  • Delayed/timer job enqueue speed

Benchmark Setup

  • Library: WJb v0.26.0
  • .NET: Latest (Release configuration)
  • Hardware: Standard development machine
  • Action: Minimal IAction implementation (just returns Task.CompletedTask)

Results (v9 run)

WJb Performance Benchmark Suite v9
==================================

WJb initialized.

[Multi-threaded Enqueue] 200,000 jobs from 8 threads
    → 323.74 ms  |  617,771 jobs/sec

[Single-thread Enqueue] 100,000 jobs
    → 186.07 ms  |  537,419 jobs/sec

[Heavy JSON Payload] 20,000 jobs
    → 404.28 ms  |  49,471 jobs/sec

[Delayed/Timer Jobs] 10,000 jobs
    → 29.66 ms  |  337,187 jobs/sec

✅ Benchmark suite completed.
Enter fullscreen mode Exit fullscreen mode

Highlights:

  • Multi-threaded enqueue reached over 617k jobs per second — excellent scaling under concurrent load.
  • Single-threaded performance stayed consistently above 500k jobs/sec.
  • Heavy JSON payloads showed the expected drop due to serialization (still very respectable at ~49k/sec).
  • Delayed jobs performed well even when using the standard enqueue path.

What These Numbers Mean

These results are enqueue-only benchmarks (measuring how fast we can prepare and queue jobs). Real-world throughput will also depend on:

  • How heavy your job actions are
  • Number of worker threads configured
  • Database/storage backend (if persistence is added later)
  • Machine resources

Still, hitting 600k+ enqueue operations per second on day one is very promising for a lightweight library.

The Benchmark Code

You can find the full benchmark project structure and code in my repository (link will be added after publishing). The core pattern follows WJb’s official HelloWJb sample:

  • Register actions with services.AddWJb(actions)
  • Use IJobProcessor + CompactAsync() + EnqueueJobAsync()
  • Keep actions simple and idempotent (as recommended by the library)

Final Thoughts

WJb is extremely young (literally released today), yet it already shows strong fundamentals:

  • Clean, minimal API
  • Great raw enqueue performance
  • Clear focus on predictability over automation

If you need lightweight background jobs without pulling in a full orchestrator, WJb looks like a solid contender worth watching.

Tags:

.NET, BackgroundJobs, Performance, C#, OpenSource, Async

Top comments (0)