Skip to content

Commit

Permalink
feat: add descriptions for performance
Browse files Browse the repository at this point in the history
  • Loading branch information
Gumball12 committed Mar 2, 2024
1 parent a67785c commit 2136e23
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 0 deletions.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,20 @@ This library automatically generates TypeScript types (`*.d.ts`) by parsing Goog
- [Parser presets](./src/parser) and Generate types(`*.d.ts`) for **public and private Google Sheets**
- Customize the type and type file name

### Performance

```
MacBook Air (M1, 2020, 16GB)
Node.js v20.10.0
$ pnpm bench
name hz min max mean p75 p99 p995 p999 rme samples
generateDtsFile :: 100000 Rows 18.4037 45.8886 75.3858 54.3369 57.0195 75.3858 75.3858 75.3858 ±12.36% 10 fastest
```

[performance.bench.ts](./src/__tests__/performance.bench.ts)

## 📦 Install

```bash
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"build": "tsc && vite build",
"lint": "eslint --ext .ts ./**/src/**.ts",
"test": "vitest run --coverage",
"bench": "vitest bench --run",
"release": "standard-version",
"prepare": "husky"
},
Expand Down
24 changes: 24 additions & 0 deletions src/__tests__/performance.bench.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { describe, bench } from 'vitest';
import { generateDtsFile } from '..';
import { resolve } from 'node:path';

const src = resolve(__dirname, '../');

describe('Benchmarking', () => {
bench('generateDtsFile :: 100000 Rows', async () => {
const largeObject = [...Array(100000).keys()].reduce<object>((acc, cur) => {
// @ts-expect-error - This is a test
acc[`key${cur}`] = cur;
return acc;
}, {});

await generateDtsFile({
name: 'GenerateDtsFile',
directory: resolve(src, './__tests__'),
parser: () => largeObject,
options: {
output: () => {},
},
});
});
});

0 comments on commit 2136e23

Please sign in to comment.