Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style: add benchmark table formatter #161

Merged
merged 1 commit into from
Jul 22, 2024
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
198 changes: 99 additions & 99 deletions docs/contracts/v2/05-gas-benchmarks.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,85 +22,85 @@ view the code that generates these benchmarks.

| Function | Gas Usage |
| ----------------------------------------------------------- | --------- |
| `burn` | 15694 |
| `cancel` | 56829 |
| `renounce` | 19381 |
| `createWithDurations` (Broker fee set) (cliff not set) | 129276 |
| `createWithDurations` (Broker fee not set) (cliff not set) | 113680 |
| `createWithDurations` (Broker fee set) (cliff set) | 138071 |
| `createWithDurations` (Broker fee not set) (cliff set) | 133273 |
| `createWithTimestamps` (Broker fee set) (cliff not set) | 115334 |
| `createWithTimestamps` (Broker fee not set) (cliff not set) | 110530 |
| `createWithTimestamps` (Broker fee set) (cliff set) | 137629 |
| `createWithTimestamps` (Broker fee not set) (cliff set) | 132827 |
| `withdraw` (After End Time) (by Recipient) | 29701 |
| `withdraw` (Before End Time) (by Recipient) | 19104 |
| `withdraw` (After End Time) (by Anyone) | 24799 |
| `withdraw` (Before End Time) (by Anyone) | 19002 |
| `burn` | 15,694 |
| `cancel` | 56,829 |
| `renounce` | 19,381 |
| `createWithDurations` (Broker fee set) (cliff not set) | 129,276 |
| `createWithDurations` (Broker fee not set) (cliff not set) | 113,680 |
| `createWithDurations` (Broker fee set) (cliff set) | 138,071 |
| `createWithDurations` (Broker fee not set) (cliff set) | 133,273 |
| `createWithTimestamps` (Broker fee set) (cliff not set) | 115,334 |
| `createWithTimestamps` (Broker fee not set) (cliff not set) | 110,530 |
| `createWithTimestamps` (Broker fee set) (cliff set) | 137,629 |
| `createWithTimestamps` (Broker fee not set) (cliff set) | 132,827 |
| `withdraw` (After End Time) (by Recipient) | 29,701 |
| `withdraw` (Before End Time) (by Recipient) | 19,104 |
| `withdraw` (After End Time) (by Anyone) | 24,799 |
| `withdraw` (Before End Time) (by Anyone) | 19,002 |

### Lockup Dynamic

| Function | Gas Usage |
| ---------------------------------------------------------- | --------- |
| `burn` | 15716 |
| `cancel` | 74341 |
| `renounce` | 39007 |
| `createWithDurations` (2 segments) (Broker fee set) | 200602 |
| `createWithDurations` (2 segments) (Broker fee not set) | 185037 |
| `createWithTimestamps` (2 segments) (Broker fee set) | 184780 |
| `createWithTimestamps` (2 segments) (Broker fee not set) | 180015 |
| `withdraw` (2 segments) (After End Time) (by Recipient) | 19108 |
| `withdraw` (2 segments) (Before End Time) (by Recipient) | 27554 |
| `withdraw` (2 segments) (After End Time) (by Anyone) | 14239 |
| `withdraw` (2 segments) (Before End Time) (by Anyone) | 27485 |
| `createWithDurations` (10 segments) (Broker fee set) | 395084 |
| `createWithDurations` (10 segments) (Broker fee not set) | 390326 |
| `createWithTimestamps` (10 segments) (Broker fee set) | 385125 |
| `createWithTimestamps` (10 segments) (Broker fee not set) | 380375 |
| `withdraw` (10 segments) (After End Time) (by Recipient) | 14295 |
| `withdraw` (10 segments) (Before End Time) (by Recipient) | 32545 |
| `withdraw` (10 segments) (After End Time) (by Anyone) | 14246 |
| `withdraw` (10 segments) (Before End Time) (by Anyone) | 32476 |
| `createWithDurations` (100 segments) (Broker fee set) | 2740781 |
| `createWithDurations` (100 segments) (Broker fee not set) | 2736987 |
| `createWithTimestamps` (100 segments) (Broker fee set) | 2642946 |
| `createWithTimestamps` (100 segments) (Broker fee not set) | 2639185 |
| `withdraw` (100 segments) (After End Time) (by Recipient) | 14295 |
| `withdraw` (100 segments) (Before End Time) (by Recipient) | 88968 |
| `withdraw` (100 segments) (After End Time) (by Anyone) | 14226 |
| `withdraw` (100 segments) (Before End Time) (by Anyone) | 88899 |
| `burn` | 15,716 |
| `cancel` | 74,341 |
| `renounce` | 39,007 |
| `createWithDurations` (2 segments) (Broker fee set) | 200,602 |
| `createWithDurations` (2 segments) (Broker fee not set) | 185,037 |
| `createWithTimestamps` (2 segments) (Broker fee set) | 184,780 |
| `createWithTimestamps` (2 segments) (Broker fee not set) | 180,015 |
| `withdraw` (2 segments) (After End Time) (by Recipient) | 19,108 |
| `withdraw` (2 segments) (Before End Time) (by Recipient) | 27,554 |
| `withdraw` (2 segments) (After End Time) (by Anyone) | 14,239 |
| `withdraw` (2 segments) (Before End Time) (by Anyone) | 27,485 |
| `createWithDurations` (10 segments) (Broker fee set) | 395,084 |
| `createWithDurations` (10 segments) (Broker fee not set) | 390,326 |
| `createWithTimestamps` (10 segments) (Broker fee set) | 385,125 |
| `createWithTimestamps` (10 segments) (Broker fee not set) | 380,375 |
| `withdraw` (10 segments) (After End Time) (by Recipient) | 14,295 |
| `withdraw` (10 segments) (Before End Time) (by Recipient) | 32,545 |
| `withdraw` (10 segments) (After End Time) (by Anyone) | 14,246 |
| `withdraw` (10 segments) (Before End Time) (by Anyone) | 32,476 |
| `createWithDurations` (100 segments) (Broker fee set) | 2,740,781 |
| `createWithDurations` (100 segments) (Broker fee not set) | 2,736,987 |
| `createWithTimestamps` (100 segments) (Broker fee set) | 2,642,946 |
| `createWithTimestamps` (100 segments) (Broker fee not set) | 2,639,185 |
| `withdraw` (100 segments) (After End Time) (by Recipient) | 14,295 |
| `withdraw` (100 segments) (Before End Time) (by Recipient) | 88,968 |
| `withdraw` (100 segments) (After End Time) (by Anyone) | 14,226 |
| `withdraw` (100 segments) (Before End Time) (by Anyone) | 88,899 |

### Lockup Tranched

| Function | Gas Usage |
| ---------------------------------------------------------- | --------- |
| `burn` | 15738 |
| `cancel` | 63994 |
| `renounce` | 26501 |
| `createWithDurations` (2 tranches) (Broker fee set) | 199536 |
| `createWithDurations` (2 tranches) (Broker fee not set) | 183969 |
| `createWithTimestamps` (2 tranches) (Broker fee set) | 189410 |
| `createWithTimestamps` (2 tranches) (Broker fee not set) | 183945 |
| `withdraw` (2 tranches) (After End Time) (by Recipient) | 20100 |
| `withdraw` (2 tranches) (Before End Time) (by Recipient) | 14797 |
| `withdraw` (2 tranches) (After End Time) (by Anyone) | 15199 |
| `withdraw` (2 tranches) (Before End Time) (by Anyone) | 14695 |
| `createWithDurations` (10 tranches) (Broker fee set) | 388757 |
| `createWithDurations` (10 tranches) (Broker fee not set) | 383998 |
| `createWithTimestamps` (10 tranches) (Broker fee set) | 397102 |
| `createWithTimestamps` (10 tranches) (Broker fee not set) | 391750 |
| `withdraw` (10 tranches) (After End Time) (by Recipient) | 17855 |
| `withdraw` (10 tranches) (Before End Time) (by Recipient) | 19616 |
| `withdraw` (10 tranches) (After End Time) (by Anyone) | 17760 |
| `withdraw` (10 tranches) (Before End Time) (by Anyone) | 19514 |
| `createWithDurations` (100 tranches) (Broker fee set) | 2672918 |
| `createWithDurations` (100 tranches) (Broker fee not set) | 2668643 |
| `createWithTimestamps` (100 tranches) (Broker fee set) | 2738297 |
| `createWithTimestamps` (100 tranches) (Broker fee not set) | 2734635 |
| `withdraw` (100 tranches) (After End Time) (by Recipient) | 46746 |
| `withdraw` (100 tranches) (Before End Time) (by Recipient) | 73989 |
| `withdraw` (100 tranches) (After End Time) (by Anyone) | 46644 |
| `withdraw` (100 tranches) (Before End Time) (by Anyone) | 73887 |
| `burn` | 15,738 |
| `cancel` | 63,994 |
| `renounce` | 26,501 |
| `createWithDurations` (2 tranches) (Broker fee set) | 199,536 |
| `createWithDurations` (2 tranches) (Broker fee not set) | 183,969 |
| `createWithTimestamps` (2 tranches) (Broker fee set) | 189,410 |
| `createWithTimestamps` (2 tranches) (Broker fee not set) | 183,945 |
| `withdraw` (2 tranches) (After End Time) (by Recipient) | 20,100 |
| `withdraw` (2 tranches) (Before End Time) (by Recipient) | 14,797 |
| `withdraw` (2 tranches) (After End Time) (by Anyone) | 15,199 |
| `withdraw` (2 tranches) (Before End Time) (by Anyone) | 14,695 |
| `createWithDurations` (10 tranches) (Broker fee set) | 388,757 |
| `createWithDurations` (10 tranches) (Broker fee not set) | 383,998 |
| `createWithTimestamps` (10 tranches) (Broker fee set) | 397,102 |
| `createWithTimestamps` (10 tranches) (Broker fee not set) | 391,750 |
| `withdraw` (10 tranches) (After End Time) (by Recipient) | 17,855 |
| `withdraw` (10 tranches) (Before End Time) (by Recipient) | 19,616 |
| `withdraw` (10 tranches) (After End Time) (by Anyone) | 17,760 |
| `withdraw` (10 tranches) (Before End Time) (by Anyone) | 19,514 |
| `createWithDurations` (100 tranches) (Broker fee set) | 2,672,918 |
| `createWithDurations` (100 tranches) (Broker fee not set) | 2,668,643 |
| `createWithTimestamps` (100 tranches) (Broker fee set) | 2,738,297 |
| `createWithTimestamps` (100 tranches) (Broker fee not set) | 2,734,635 |
| `withdraw` (100 tranches) (After End Time) (by Recipient) | 46,746 |
| `withdraw` (100 tranches) (Before End Time) (by Recipient) | 73,989 |
| `withdraw` (100 tranches) (After End Time) (by Anyone) | 46,644 |
| `withdraw` (100 tranches) (Before End Time) (by Anyone) | 73,887 |

## V2 Periphery

Expand All @@ -116,33 +116,33 @@ to view the code that generates these benchmarks.

| Function | Lockup Type | Segments/Tranches | Batch Size | Gas Usage |
| ------------------------ | --------------- | ----------------- | ---------- | --------- |
| `createWithDurationsLL` | Lockup Linear | N/A | 5 | 771013 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 5 | 732772 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 5 | 3951599 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 5 | 3815274 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 5 | 3862651 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 5 | 3744523 |
| `createWithDurationsLL` | Lockup Linear | N/A | 10 | 1417180 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 10 | 1414247 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 10 | 7819165 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 10 | 7585616 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 10 | 7632114 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 10 | 7444115 |
| `createWithDurationsLL` | Lockup Linear | N/A | 20 | 2783510 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 20 | 2779081 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 20 | 15617207 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 20 | 15131248 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 20 | 15211892 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 20 | 14846363 |
| `createWithDurationsLL` | Lockup Linear | N/A | 30 | 4143337 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 30 | 4148585 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 30 | 23460912 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 30 | 22697560 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 30 | 22794686 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 30 | 22267335 |
| `createWithDurationsLL` | Lockup Linear | N/A | 50 | 6871104 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 50 | 6893797 |
| `createWithDurationsLD` | Lockup Dynamic | 12 | 50 | 22990726 |
| `createWithTimestampsLD` | Lockup Dynamic | 12 | 50 | 22355943 |
| `createWithDurationsLT` | Lockup Tranched | 12 | 50 | 22413554 |
| `createWithTimestampsLT` | Lockup Tranched | 12 | 50 | 22006169 |
| `createWithDurationsLL` | Lockup Linear | N/A | 5 | 771,013 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 5 | 732,772 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 5 | 3,951,599 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 5 | 3,815,274 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 5 | 3,862,651 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 5 | 3,744,523 |
| `createWithDurationsLL` | Lockup Linear | N/A | 10 | 1,417,180 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 10 | 1,414,247 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 10 | 7,819,165 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 10 | 7,585,616 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 10 | 7,632,114 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 10 | 7,444,115 |
| `createWithDurationsLL` | Lockup Linear | N/A | 20 | 2,783,510 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 20 | 2,779,081 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 20 | 15,617,207 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 20 | 15,131,248 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 20 | 15,211,892 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 20 | 14,846,363 |
| `createWithDurationsLL` | Lockup Linear | N/A | 30 | 4,143,337 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 30 | 4,148,585 |
| `createWithDurationsLD` | Lockup Dynamic | 24 | 30 | 23,460,912 |
| `createWithTimestampsLD` | Lockup Dynamic | 24 | 30 | 22,697,560 |
| `createWithDurationsLT` | Lockup Tranched | 24 | 30 | 22,794,686 |
| `createWithTimestampsLT` | Lockup Tranched | 24 | 30 | 22,267,335 |
| `createWithDurationsLL` | Lockup Linear | N/A | 50 | 6,871,104 |
| `createWithTimestampsLL` | Lockup Linear | N/A | 50 | 6,893,797 |
| `createWithDurationsLD` | Lockup Dynamic | 12 | 50 | 22,990,726 |
| `createWithTimestampsLD` | Lockup Dynamic | 12 | 50 | 22,355,943 |
| `createWithDurationsLT` | Lockup Tranched | 12 | 50 | 22,413,554 |
| `createWithTimestampsLT` | Lockup Tranched | 12 | 50 | 22,006,169 |
12 changes: 12 additions & 0 deletions formatter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import fs from 'fs/promises';

async function formatGasBenchmark() {
const filePath = 'docs/contracts/v2/05-gas-benchmarks.md';
const markdownContent = await fs.readFile(filePath, 'utf8');
const formattedContent = markdownContent.replace(/\b\d+\b/g, (match) => {
return parseInt(match).toLocaleString('en-US');
});
await fs.writeFile(filePath, formattedContent);
}

formatGasBenchmark();
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
"deploy": "docusaurus deploy",
"fix": "bun run prettier:write && bun run lint:fix",
"lint:check": "bun eslint . --ext md,mdx,ts,tsx",
"lint:fix": "bun eslint . --ext md,mdx,ts,tsx --fix",
"lint:fix": "bun eslint . --ext md,mdx,ts,tsx --fix && bun formatter.js",
"prettier:check": "prettier --check \"**/*.{json,md,mdx,ts,tsx,yml}\"",
"prettier:write": "prettier --write \"**/*.{json,md,mdx,ts,tsx,yml}\"",
"serve": "docusaurus serve",
Expand Down