react-server675fbba4
react-serverfilespackagesrsc__bench__rsc-roundtrip.bench.mjs
packages/rsc/__bench__/rsc-roundtrip.bench.mjsmjs723 B9b6c8482
/**
 * @lazarv/rsc — roundtrip benchmarks
 *
 * Measures full serialize → deserialize cycle for each fixture.
 */

import { describe, bench, beforeAll } from "vitest";
import * as RscServer from "../server/shared.mjs";
import * as RscClient from "../client/shared.mjs";
import { scenarios } from "./fixtures.mjs";

const fixtures = {};

beforeAll(() => {
  for (const [name, factory] of Object.entries(scenarios)) {
    fixtures[name] = factory();
  }
});

describe("@lazarv/rsc roundtrip", () => {
  for (const name of Object.keys(scenarios)) {
    bench(name, async () => {
      const stream = RscServer.renderToReadableStream(fixtures[name]);
      await RscClient.createFromReadableStream(stream);
    });
  }
});