0.1.0-beta.18 • Published 9 months ago

iperf v0.1.0-beta.18

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

iPerf.js

iPerf is a simple performance testing framework for front-end renderers. It is developed based on Vite and supports testing rendering time, frame rate, and can collect hardware information.

Install

npm install iperf --save-dev

Usage

  1. Create a test file, e.g. test.perf.ts:
export const TestName = async ({ perf, container }) => {
  // Test the rendering duration by marking the start and end of the rendering process
  const canvas = document.createElement('canvas');
  container.appendChild(canvas);

  const ctx = canvas.getContext('2d');
  perf.mark('start');
  for (let i = 0; i < 1000; i++) {
    ctx.fillRect(0, 0, 100, 100);
  }
  perf.mark('end');
  perf.measure('rendering', 'start', 'end');

  // Test the rendering duration by giving a callback function
  await perf.evaluate('rendering', () => {
    for (let i = 0; i < 1000; i++) {
      ctx.fillRect(0, 0, 100, 100);
    }
  });

  // Record the frame rate
  requestAnimationFrame(function loop() {
    perf.frame();
    ctx.clearRect(0, 0, 100, 100);
    ctx.fillRect(0, 0, 100, 100);
    requestAnimationFrame(loop);
  });
};
  1. Run the test:
npx perf

Configuration

You can configure iPerf by creating a perf.config.js file in the root of your project:

import { defineConfig } from 'iperf';

export default defineConfig({
  perf: {
    socket: {
      port: 7880,
      timeout: 60 * 1000,
    },
    report: {
      dir: 'perf/reports-1',
    },
  },
  // other vite options
});

Preview Mode

In this mode, iPerf will open a browser window to preview the test. You can enable it by adding the preview option:

npx perf preview

License

© 2024 Aarebecca. ISC License.

0.1.0-beta.12

10 months ago

0.1.0-beta.18

9 months ago

0.1.0-beta.17

9 months ago

0.1.0-beta.14

9 months ago

0.1.0-beta.13

10 months ago

0.1.0-beta.16

9 months ago

0.1.0-beta.15

9 months ago

0.1.0-beta.11

10 months ago

0.1.0-beta.10

10 months ago

0.1.0-beta.9

10 months ago

0.1.0-beta.8

10 months ago

0.1.0-beta.7

10 months ago

0.1.0-beta.6

10 months ago

0.1.0-beta.5

10 months ago

0.1.0-beta.4

10 months ago

0.1.0-beta.3

10 months ago

0.1.0-beta.2

10 months ago

0.1.0-beta.1

10 months ago