NAME

Hypersonic::Future - High-performance JIT-compiled Future for async operations

SYNOPSIS

use Hypersonic::Future;

# Create a pending future
my $f = Hypersonic::Future->new;

# Resolve with values
$f->done('result', 'data');

# Or fail
$f->fail('Error message', 'category');

# Chaining
my $f2 = $f->then(sub {
    my @results = @_;
    return process(@results);
})->catch(sub {
    my ($error, $category) = @_;
    warn "Error: $error";
    return 'default';
})->finally(sub {
    cleanup();
});

DESCRIPTION

Hypersonic::Future is a high-performance Future implementation using JIT-compiled XS code.

BENCHMARK

======================================================================
Future Benchmark: Future::XS vs Hypersonic::Future
======================================================================

Compiling Hypersonic::Future JIT...
JIT compilation complete.

Running each test for 2 CPU seconds...
(Set BENCH_TIME env var to change)

Future::XS version: 0.15
Hypersonic::Future version: 0.06

----------------------------------------------------------------------
Test 1: new() - Create pending future
----------------------------------------------------------------------
			Rate         Future::XS Hypersonic::Future
Future::XS         6120900/s                 --               -28%
Hypersonic::Future 8461824/s                38%                 --

----------------------------------------------------------------------
Test 2: new() + done() - Create and resolve
----------------------------------------------------------------------
			Rate         Future::XS Hypersonic::Future
Future::XS         3261265/s                 --               -52%
Hypersonic::Future 6796324/s               108%                 --

----------------------------------------------------------------------
Test 3: new() + fail() - Create and fail
----------------------------------------------------------------------
			Rate         Future::XS Hypersonic::Future
Future::XS         2929449/s                 --               -53%
Hypersonic::Future 6167596/s               111%                 --

----------------------------------------------------------------------
Test 4: is_ready() + is_done() - State checks (resolved)
----------------------------------------------------------------------
			 Rate         Future::XS Hypersonic::Future
Future::XS         10586581/s                 --               -29%
Hypersonic::Future 14908664/s                41%                 --

----------------------------------------------------------------------
Test 5: result() - Get result value
----------------------------------------------------------------------
			 Rate         Future::XS Hypersonic::Future
Future::XS         10674557/s                 --               -22%
Hypersonic::Future 13736799/s                29%                 --

----------------------------------------------------------------------
Test 6: done() with multiple values (5 args)
----------------------------------------------------------------------
			Rate         Future::XS Hypersonic::Future
Future::XS         2705464/s                 --               -55%
Hypersonic::Future 6002047/s               122%                 --

----------------------------------------------------------------------
Test 7: is_failed() - Check failed state
----------------------------------------------------------------------
			 Rate         Future::XS Hypersonic::Future
Future::XS          9700482/s                 --               -34%
Hypersonic::Future 14750291/s                52%                 --

----------------------------------------------------------------------
Test 8: failure() - Get failure reason
----------------------------------------------------------------------
			 Rate         Future::XS Hypersonic::Future
Future::XS          7323752/s                 --               -36%
Hypersonic::Future 11436124/s                56%                 --

======================================================================
Hypersonic::Future Only Tests (callback operations)
======================================================================
(Future::XS 0.15 has wrap_cb issues with callbacks)

----------------------------------------------------------------------
Test 9: then() - Chain transformation [Hypersonic only]
----------------------------------------------------------------------
Hypersonic::Future:  3 wallclock secs ( 2.06 usr +  0.01 sys =  2.07 CPU) @ 2986523.67/s (n=6182104)

----------------------------------------------------------------------
Test 10: on_done() + done() - Callback [Hypersonic only]
----------------------------------------------------------------------
Hypersonic::Future:  2 wallclock secs ( 2.54 usr +  0.03 sys =  2.57 CPU) @ 2142030.74/s (n=5505019)

----------------------------------------------------------------------
Test 11: then()->catch()->finally() [Hypersonic only]
----------------------------------------------------------------------
Hypersonic::Future: 1415799/s (10000 iterations in 0.01 seconds)

======================================================================
Benchmark complete!
======================================================================