Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/sandbox-capabilities.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:
- namespace
- northflank
- opencomputer
- runloop
# - runloop
- run-cloud
- sandbox0
- sail
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sandbox-dax-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ jobs:
- opencomputer
# - railway
- run-cloud
- runloop
# - runloop
- sail
- sandbox0
- superserve
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sandbox-tti-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ jobs:
# - quilt
# - railway
- run-cloud
- runloop
# - runloop
- sail
- sandbox0
- superserve
Expand Down
12 changes: 6 additions & 6 deletions benchmarks/sandbox/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import { opencomputer } from '@computesdk/opencomputer';
// import { quilt } from '@computesdk/quilt';
import { railway } from '@computesdk/railway';
import { runCloud } from '@computesdk/run-cloud';
import { runloop } from '@computesdk/runloop';
// import { runloop } from '@computesdk/runloop';
import { sandbox0 } from '@computesdk/sandbox0';
import { sail } from '@computesdk/sail';
import { sprites } from '@computesdk/sprites';
Expand Down Expand Up @@ -237,11 +237,11 @@ export const providers: ProviderConfig[] = [
requiredEnvVars: ['RAILWAY_API_TOKEN', 'RAILWAY_ENVIRONMENT_ID'],
createCompute: () => railway({ token: process.env.RAILWAY_API_TOKEN!, environmentId: process.env.RAILWAY_ENVIRONMENT_ID! }),
},
{
name: 'runloop',
requiredEnvVars: ['RUNLOOP_API_KEY'],
createCompute: () => runloop({ apiKey: process.env.RUNLOOP_API_KEY! }),
},
// {
// name: 'runloop',
// requiredEnvVars: ['RUNLOOP_API_KEY'],
// createCompute: () => runloop({ apiKey: process.env.RUNLOOP_API_KEY! }),
// },
{
name: 'run-cloud',
requiredEnvVars: ['RUN_CLOUD_API_KEY'],
Expand Down
18 changes: 9 additions & 9 deletions benchmarks/scale/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { isorun } from '@computesdk/isorun';
import { modal } from '@computesdk/modal';
import { northflank } from '@computesdk/northflank';
import { opencomputer } from '@computesdk/opencomputer';
import { runloop } from '@computesdk/runloop';
// import { runloop } from '@computesdk/runloop';
import { tensorlake } from '@computesdk/tensorlake';
//import { vercel } from '@computesdk/vercel';
import type { BurstProviderConfig } from './types.js';
Expand Down Expand Up @@ -55,14 +55,14 @@ export const providers: BurstProviderConfig[] = [
concurrencyTarget: 100_000,
perRequestTimeoutMs: 120_000,
},
{
name: 'runloop',
requiredEnvVars: ['RUNLOOP_API_KEY'],
createCompute: () => runloop({ apiKey: process.env.RUNLOOP_API_KEY! }),
concurrencyTarget: 100_000,
perRequestTimeoutMs: 120_000,
sandboxOptions: { timeout: KEEP_ALIVE_MS },
},
// {
// name: 'runloop',
// requiredEnvVars: ['RUNLOOP_API_KEY'],
// createCompute: () => runloop({ apiKey: process.env.RUNLOOP_API_KEY! }),
// concurrencyTarget: 100_000,
// perRequestTimeoutMs: 120_000,
// sandboxOptions: { timeout: KEEP_ALIVE_MS },
// },
{
name: 'tensorlake',
requiredEnvVars: ['TENSORLAKE_API_KEY'],
Expand Down
9 changes: 9 additions & 0 deletions benchmarks/scale/scripts/start.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import 'dotenv/config';
import { execSync } from 'node:child_process';
import { fetchNamespace, getAndValidateCredentials } from '@computesdk/namespace';
import { createBenchmarkClient } from '@benchsdk/client';
import { getProvider } from '../providers.js';

// The platform benchmark these runs report under. One logical burst = one
// platform run; each VM claims one planned worker for the provider participant.
Expand Down Expand Up @@ -196,6 +197,14 @@ function parseArgs(): Args {
else { console.error(`unknown arg: ${a}\n${usage()}`); process.exit(2); }
}
if (!out.provider) { console.error(`--provider is required\n${usage()}`); process.exit(2); }
// Fail fast on removed/unknown providers — otherwise every VM launches and
// only then does the coordinator's getProvider reject the name.
try {
getProvider(out.provider);
} catch (err) {
console.error(errMsg(err));
process.exit(2);
}
if (!Number.isFinite(out.total) || (out.total as number) <= 0) {
console.error(`--total must be a positive integer\n${usage()}`); process.exit(2);
}
Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"bench:northflank": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/sandbox/tti.bench.ts --iterations 3 --concurrency 3 --provider northflank",
"bench:railway": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/sandbox/tti.bench.ts --iterations 3 --concurrency 3 --provider railway",
"bench:render": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/sandbox/tti.bench.ts --iterations 3 --concurrency 3 --provider render",
"bench:runloop": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/sandbox/tti.bench.ts --iterations 3 --concurrency 3 --provider runloop",
"bench:vercel": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/sandbox/tti.bench.ts --iterations 3 --concurrency 3 --provider vercel",
"bench:just-bash": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/sandbox/tti.bench.ts --iterations 3 --concurrency 3 --provider just-bash",
"bench:sprites": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/sandbox/tti.bench.ts --iterations 3 --concurrency 3 --provider sprites",
Expand Down
Loading