From a5ba3fa12acffa3118e91b997389a3149ea095af Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 27 Nov 2024 13:27:30 -0700 Subject: [PATCH 01/32] first pass at benchmark analysis --- scripts/analyze_benchmarks.ts | 307 ++++++++++++++++++++++++++++++++++ 1 file changed, 307 insertions(+) create mode 100644 scripts/analyze_benchmarks.ts diff --git a/scripts/analyze_benchmarks.ts b/scripts/analyze_benchmarks.ts new file mode 100644 index 0000000000..a1f10c26a4 --- /dev/null +++ b/scripts/analyze_benchmarks.ts @@ -0,0 +1,307 @@ +import { lstatSync, readdirSync, readFileSync, statSync } from 'fs'; +import { join } from 'path'; + +type BenchmarkEntry = { + instructions: { __bigint__: string }; + method_name: string; + timestamp: { __bigint__: string }; +}; + +type CanisterBenchmark = { + current?: { + version: string; + benchmarks: BenchmarkEntry[]; + }; + previous: { + version: string; + benchmarks: BenchmarkEntry[]; + }; +}; + +type BenchmarksJson = { + [canisterName: string]: CanisterBenchmark; +}; + +type Statistics = { + count: number; + mean: number; + median: number; + standardDeviation: number; + min: number; + weightedScore: number; + percentileScore: number; + normalizedScore: number; + combinedScore: number; +}; + +function findBenchmarkFiles(dir: string): string[] { + const files: string[] = []; + + try { + // Skip node_modules directories + if (dir.includes('node_modules')) { + return files; + } + + const items = readdirSync(dir); + + for (const item of items) { + const fullPath = join(dir, item); + + try { + // Skip if it's a symbolic link + if (lstatSync(fullPath).isSymbolicLink()) { + continue; + } + + const stat = statSync(fullPath); + + if (stat.isDirectory()) { + files.push(...findBenchmarkFiles(fullPath)); + } else if (item === 'benchmarks.json') { + files.push(fullPath); + } + } catch (error: any) { + console.warn( + `Warning: Could not access ${fullPath}:`, + error.message + ); + continue; + } + } + } catch (error: any) { + console.warn( + `Warning: Could not read directory ${dir}:`, + error.message + ); + } + + return files; +} + +function calculateStatistics(instructions: number[]): Statistics { + if (instructions.length === 0) { + throw new Error('Cannot calculate statistics for empty array'); + } + + // Sort numbers for median calculation + const sorted = [...instructions].sort((a, b) => a - b); + + // Calculate mean + const sum = instructions.reduce((acc, val) => acc + val, 0); + const mean = sum / instructions.length; + + // Calculate median + const mid = Math.floor(sorted.length / 2); + const median = + sorted.length % 2 === 0 + ? (sorted[mid - 1] + sorted[mid]) / 2 + : sorted[mid]; + + // Calculate standard deviation + const squareDiffs = instructions.map((value) => { + const diff = value - mean; + return diff * diff; + }); + const standardDeviation = Math.sqrt( + squareDiffs.reduce((acc, val) => acc + val, 0) / instructions.length + ); + + return { + count: instructions.length, + mean, + median, + standardDeviation, + min: sorted[0], + weightedScore: 0, + percentileScore: 0, + normalizedScore: 0, + combinedScore: 0 + }; +} + +function calculateScores(stats: Statistics): { + weightedScore: number; + percentileScore: number; + normalizedScore: number; + combinedScore: number; +} { + // Approach 1: Weighted Average Score + // Penalizes both high mean and high variance + const weightedScore = + stats.mean * (1 + stats.standardDeviation / stats.mean); + + // Approach 2: Percentile-based Score + // Focuses on typical performance, less affected by outliers + const percentileScore = (stats.median * 2 + stats.mean) / 3; + + // Approach 3: Normalized Score + // Balances central tendency and consistency + const coefficientOfVariation = stats.standardDeviation / stats.mean; + const normalizedScore = stats.median * (1 + coefficientOfVariation); + + const alpha = 0.3; + // Validate alpha is between 0 and 1 + if (alpha < 0 || alpha > 1) { + throw new Error('Alpha must be between 0 and 1'); + } + + // Calculate the combined score + const { median, min } = stats; + const combinedScore = alpha * median + (1 - alpha) * min; + + return { + weightedScore, + percentileScore, + normalizedScore, + combinedScore + }; +} + +function analyzeAllBenchmarks(rootDir: string = '.'): { + [version: string]: Statistics; +} { + const benchmarkFiles = findBenchmarkFiles(rootDir); + + // Extract all benchmark entries grouped by version + const versionEntries = benchmarkFiles.flatMap( + (file): Array<[string, BenchmarkEntry]> => { + const data: BenchmarksJson = JSON.parse( + readFileSync(file, 'utf-8') + ); + + return Object.values(data).flatMap( + (canisterData): Array<[string, BenchmarkEntry]> => { + const currentEntries = canisterData.current + ? canisterData.current.benchmarks.map( + (benchmark): [string, BenchmarkEntry] => [ + canisterData.current!.version, + benchmark + ] + ) + : []; + + const previousEntries = + canisterData.previous.benchmarks.map( + (benchmark): [string, BenchmarkEntry] => [ + canisterData.previous.version, + benchmark + ] + ); + + return [...currentEntries, ...previousEntries]; + } + ); + } + ); + + // Group entries by version + const entriesByVersion = versionEntries.reduce( + (acc, [version, entry]) => ({ + ...acc, + [version]: [...(acc[version] || []), entry] + }), + {} as { [version: string]: BenchmarkEntry[] } + ); + + // Transform version entries into statistics + const results = Object.entries(entriesByVersion).reduce( + (acc, [version, entries]) => { + const baseStats = calculateStatistics( + entries.map((entry) => Number(entry.instructions.__bigint__)) + ); + const scores = calculateScores(baseStats); + return { + ...acc, + [version]: { + ...baseStats, + ...scores + } + }; + }, + {} as { [version: string]: Statistics } + ); + + // Add comparison between versions + const versions = Object.keys(results).sort(); + if (versions.length >= 2) { + const current = versions[versions.length - 1]; + const previous = versions[versions.length - 2]; + + const changes = { + weightedScoreChange: + ((results[previous].weightedScore - + results[current].weightedScore) / + results[previous].weightedScore) * + 100, + percentileScoreChange: + ((results[previous].percentileScore - + results[current].percentileScore) / + results[previous].percentileScore) * + 100, + normalizedScoreChange: + ((results[previous].normalizedScore - + results[current].normalizedScore) / + results[previous].normalizedScore) * + 100, + combinedScoreChange: + ((results[previous].combinedScore - + results[current].combinedScore) / + results[previous].combinedScore) * + 100, + averageScoreChange: + ((results[previous].mean - results[current].mean) / + results[previous].mean) * + 100, + medianScoreChange: + ((results[previous].median - results[current].median) / + results[previous].median) * + 100, + minScoreChange: + ((results[previous].min - results[current].min) / + results[previous].min) * + 100 + }; + + console.log('\nPerformance changes from', previous, 'to', current); + console.log( + 'Weighted Score Change:', + `${changes.weightedScoreChange.toFixed(2)}%` + ); + console.log( + 'Percentile Score Change:', + `${changes.percentileScoreChange.toFixed(2)}%` + ); + console.log( + 'Normalized Score Change:', + `${changes.normalizedScoreChange.toFixed(2)}%` + ); + console.log( + 'Combined Score Change:', + `${changes.combinedScoreChange.toFixed(2)}%` + ); + console.log( + 'Average Score Change:', + `${changes.averageScoreChange.toFixed(2)}%` + ); + console.log( + 'Median Score Change:', + `${changes.medianScoreChange.toFixed(2)}%` + ); + console.log( + 'Min Score Change:', + `${changes.minScoreChange.toFixed(2)}%` + ); + } + + return results; +} + +// Run the analysis and output results +try { + console.log('Analyzing benchmarks...'); + const results = analyzeAllBenchmarks(); + console.log(JSON.stringify(results, null, 2)); +} catch (error) { + console.error('Error analyzing benchmarks:', error); +} From 9ec3453325498dfdc8cca76dea2d10b6f4f7b055 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 27 Nov 2024 14:18:08 -0700 Subject: [PATCH 02/32] use baseline weighted efficiency score --- scripts/analyze_benchmarks.ts | 93 ++++++----------------------------- 1 file changed, 16 insertions(+), 77 deletions(-) diff --git a/scripts/analyze_benchmarks.ts b/scripts/analyze_benchmarks.ts index a1f10c26a4..c51464165e 100644 --- a/scripts/analyze_benchmarks.ts +++ b/scripts/analyze_benchmarks.ts @@ -28,10 +28,7 @@ type Statistics = { median: number; standardDeviation: number; min: number; - weightedScore: number; - percentileScore: number; - normalizedScore: number; - combinedScore: number; + baselineWeightedEfficiencyScore: number; }; function findBenchmarkFiles(dir: string): string[] { @@ -113,49 +110,18 @@ function calculateStatistics(instructions: number[]): Statistics { median, standardDeviation, min: sorted[0], - weightedScore: 0, - percentileScore: 0, - normalizedScore: 0, - combinedScore: 0 + baselineWeightedEfficiencyScore: 0 }; } -function calculateScores(stats: Statistics): { - weightedScore: number; - percentileScore: number; - normalizedScore: number; - combinedScore: number; -} { - // Approach 1: Weighted Average Score - // Penalizes both high mean and high variance - const weightedScore = - stats.mean * (1 + stats.standardDeviation / stats.mean); - - // Approach 2: Percentile-based Score - // Focuses on typical performance, less affected by outliers - const percentileScore = (stats.median * 2 + stats.mean) / 3; - - // Approach 3: Normalized Score - // Balances central tendency and consistency - const coefficientOfVariation = stats.standardDeviation / stats.mean; - const normalizedScore = stats.median * (1 + coefficientOfVariation); - - const alpha = 0.3; - // Validate alpha is between 0 and 1 - if (alpha < 0 || alpha > 1) { - throw new Error('Alpha must be between 0 and 1'); - } +function calculateBaselineWeightEfficiencyScores(stats: Statistics): number { + const minWeight = 0.5; + const medianWeight = 0.3; + const meanWeight = 0.2; - // Calculate the combined score - const { median, min } = stats; - const combinedScore = alpha * median + (1 - alpha) * min; + const { min, median, mean } = stats; - return { - weightedScore, - percentileScore, - normalizedScore, - combinedScore - }; + return minWeight * min + medianWeight * median + meanWeight * mean; } function analyzeAllBenchmarks(rootDir: string = '.'): { @@ -210,12 +176,12 @@ function analyzeAllBenchmarks(rootDir: string = '.'): { const baseStats = calculateStatistics( entries.map((entry) => Number(entry.instructions.__bigint__)) ); - const scores = calculateScores(baseStats); + const scores = calculateBaselineWeightEfficiencyScores(baseStats); return { ...acc, [version]: { ...baseStats, - ...scores + baselineWeightedEfficiencyScore: scores } }; }, @@ -229,25 +195,10 @@ function analyzeAllBenchmarks(rootDir: string = '.'): { const previous = versions[versions.length - 2]; const changes = { - weightedScoreChange: - ((results[previous].weightedScore - - results[current].weightedScore) / - results[previous].weightedScore) * - 100, - percentileScoreChange: - ((results[previous].percentileScore - - results[current].percentileScore) / - results[previous].percentileScore) * - 100, - normalizedScoreChange: - ((results[previous].normalizedScore - - results[current].normalizedScore) / - results[previous].normalizedScore) * - 100, - combinedScoreChange: - ((results[previous].combinedScore - - results[current].combinedScore) / - results[previous].combinedScore) * + baselineWeightedEfficiencyScoreChange: + ((results[previous].baselineWeightedEfficiencyScore - + results[current].baselineWeightedEfficiencyScore) / + results[previous].baselineWeightedEfficiencyScore) * 100, averageScoreChange: ((results[previous].mean - results[current].mean) / @@ -265,20 +216,8 @@ function analyzeAllBenchmarks(rootDir: string = '.'): { console.log('\nPerformance changes from', previous, 'to', current); console.log( - 'Weighted Score Change:', - `${changes.weightedScoreChange.toFixed(2)}%` - ); - console.log( - 'Percentile Score Change:', - `${changes.percentileScoreChange.toFixed(2)}%` - ); - console.log( - 'Normalized Score Change:', - `${changes.normalizedScoreChange.toFixed(2)}%` - ); - console.log( - 'Combined Score Change:', - `${changes.combinedScoreChange.toFixed(2)}%` + 'Baseline Weighted Efficiency Score Change:', + `${changes.baselineWeightedEfficiencyScoreChange.toFixed(2)}%` ); console.log( 'Average Score Change:', From 3d743f293c5b7feea1179da1e1774e46843495dc Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 27 Nov 2024 14:35:44 -0700 Subject: [PATCH 03/32] functional pass --- scripts/analyze_benchmarks.ts | 300 ++++++++++++++++------------------ 1 file changed, 143 insertions(+), 157 deletions(-) diff --git a/scripts/analyze_benchmarks.ts b/scripts/analyze_benchmarks.ts index c51464165e..45bfe1d994 100644 --- a/scripts/analyze_benchmarks.ts +++ b/scripts/analyze_benchmarks.ts @@ -31,77 +31,67 @@ type Statistics = { baselineWeightedEfficiencyScore: number; }; -function findBenchmarkFiles(dir: string): string[] { - const files: string[] = []; +const findBenchmarkFiles = (dir: string): string[] => { + if (dir.includes('node_modules')) { + return []; + } - try { - // Skip node_modules directories - if (dir.includes('node_modules')) { - return files; + const safeReadDir = (directory: string): string[] => { + try { + return readdirSync(directory); + } catch (error: any) { + console.warn( + `Warning: Could not read directory ${directory}:`, + error.message + ); + return []; } + }; + + const processItem = (item: string): string[] => { + const fullPath = join(dir, item); - const items = readdirSync(dir); - - for (const item of items) { - const fullPath = join(dir, item); - - try { - // Skip if it's a symbolic link - if (lstatSync(fullPath).isSymbolicLink()) { - continue; - } - - const stat = statSync(fullPath); - - if (stat.isDirectory()) { - files.push(...findBenchmarkFiles(fullPath)); - } else if (item === 'benchmarks.json') { - files.push(fullPath); - } - } catch (error: any) { - console.warn( - `Warning: Could not access ${fullPath}:`, - error.message - ); - continue; + try { + if (lstatSync(fullPath).isSymbolicLink()) { + return []; } + + const stat = statSync(fullPath); + if (stat.isDirectory()) { + return findBenchmarkFiles(fullPath); + } + return item === 'benchmarks.json' ? [fullPath] : []; + } catch (error: any) { + console.warn( + `Warning: Could not access ${fullPath}:`, + error.message + ); + return []; } - } catch (error: any) { - console.warn( - `Warning: Could not read directory ${dir}:`, - error.message - ); - } + }; - return files; -} + return safeReadDir(dir).flatMap(processItem); +}; -function calculateStatistics(instructions: number[]): Statistics { +const calculateStatistics = (instructions: readonly number[]): Statistics => { if (instructions.length === 0) { throw new Error('Cannot calculate statistics for empty array'); } - // Sort numbers for median calculation const sorted = [...instructions].sort((a, b) => a - b); - - // Calculate mean - const sum = instructions.reduce((acc, val) => acc + val, 0); - const mean = sum / instructions.length; - - // Calculate median + const mean = + instructions.reduce((acc, val) => acc + val, 0) / instructions.length; const mid = Math.floor(sorted.length / 2); + const median = sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid]; - // Calculate standard deviation - const squareDiffs = instructions.map((value) => { - const diff = value - mean; - return diff * diff; - }); const standardDeviation = Math.sqrt( - squareDiffs.reduce((acc, val) => acc + val, 0) / instructions.length + instructions + .map((value) => Math.pow(value - mean, 2)) + .reduce((acc, val) => acc + val, 0) / instructions.length ); return { @@ -112,129 +102,125 @@ function calculateStatistics(instructions: number[]): Statistics { min: sorted[0], baselineWeightedEfficiencyScore: 0 }; -} +}; -function calculateBaselineWeightEfficiencyScores(stats: Statistics): number { - const minWeight = 0.5; - const medianWeight = 0.3; - const meanWeight = 0.2; +const calculateBaselineWeightEfficiencyScores = ( + stats: Readonly +): number => { + const weights = { + min: 0.7, + median: 0.3, + mean: 0.0 + } as const; + + return ( + weights.min * stats.min + + weights.median * stats.median + + weights.mean * stats.mean + ); +}; - const { min, median, mean } = stats; +const calculateVersionChanges = ( + previous: Statistics, + current: Statistics +): Record => { + const calculateChange = (prevValue: number, currValue: number): number => + ((prevValue - currValue) / prevValue) * 100; - return minWeight * min + medianWeight * median + meanWeight * mean; -} - -function analyzeAllBenchmarks(rootDir: string = '.'): { - [version: string]: Statistics; -} { - const benchmarkFiles = findBenchmarkFiles(rootDir); + return { + baselineWeightedEfficiencyScoreChange: calculateChange( + previous.baselineWeightedEfficiencyScore, + current.baselineWeightedEfficiencyScore + ), + averageScoreChange: calculateChange(previous.mean, current.mean), + medianScoreChange: calculateChange(previous.median, current.median), + minScoreChange: calculateChange(previous.min, current.min) + }; +}; - // Extract all benchmark entries grouped by version - const versionEntries = benchmarkFiles.flatMap( - (file): Array<[string, BenchmarkEntry]> => { - const data: BenchmarksJson = JSON.parse( - readFileSync(file, 'utf-8') +const analyzeAllBenchmarks = ( + rootDir: string = '.' +): Record => { + const extractBenchmarkEntries = ( + file: string + ): Array<[string, BenchmarkEntry]> => { + const data: BenchmarksJson = JSON.parse(readFileSync(file, 'utf-8')); + + return Object.values(data).flatMap((canisterData) => { + const currentEntries = canisterData.current + ? canisterData.current.benchmarks.map( + (benchmark) => + [canisterData.current!.version, benchmark] as [ + string, + BenchmarkEntry + ] + ) + : []; + + const previousEntries = canisterData.previous.benchmarks.map( + (benchmark) => + [canisterData.previous.version, benchmark] as [ + string, + BenchmarkEntry + ] ); - return Object.values(data).flatMap( - (canisterData): Array<[string, BenchmarkEntry]> => { - const currentEntries = canisterData.current - ? canisterData.current.benchmarks.map( - (benchmark): [string, BenchmarkEntry] => [ - canisterData.current!.version, - benchmark - ] - ) - : []; - - const previousEntries = - canisterData.previous.benchmarks.map( - (benchmark): [string, BenchmarkEntry] => [ - canisterData.previous.version, - benchmark - ] - ); - - return [...currentEntries, ...previousEntries]; - } - ); - } - ); + return [...currentEntries, ...previousEntries]; + }); + }; - // Group entries by version - const entriesByVersion = versionEntries.reduce( - (acc, [version, entry]) => ({ - ...acc, - [version]: [...(acc[version] || []), entry] - }), - {} as { [version: string]: BenchmarkEntry[] } - ); + const groupEntriesByVersion = ( + entries: Array<[string, BenchmarkEntry]> + ): Record => + entries.reduce( + (acc, [version, entry]) => ({ + ...acc, + [version]: [...(acc[version] || []), entry] + }), + {} as Record + ); + + const calculateVersionStatistics = ( + entries: BenchmarkEntry[] + ): Statistics => { + const baseStats = calculateStatistics( + entries.map((entry) => Number(entry.instructions.__bigint__)) + ); + return { + ...baseStats, + baselineWeightedEfficiencyScore: + calculateBaselineWeightEfficiencyScores(baseStats) + }; + }; - // Transform version entries into statistics + const benchmarkFiles = findBenchmarkFiles(rootDir); + const versionEntries = benchmarkFiles.flatMap(extractBenchmarkEntries); + const entriesByVersion = groupEntriesByVersion(versionEntries); const results = Object.entries(entriesByVersion).reduce( - (acc, [version, entries]) => { - const baseStats = calculateStatistics( - entries.map((entry) => Number(entry.instructions.__bigint__)) - ); - const scores = calculateBaselineWeightEfficiencyScores(baseStats); - return { - ...acc, - [version]: { - ...baseStats, - baselineWeightedEfficiencyScore: scores - } - }; - }, - {} as { [version: string]: Statistics } + (acc, [version, entries]) => ({ + ...acc, + [version]: calculateVersionStatistics(entries) + }), + {} as Record ); - // Add comparison between versions + // Log comparison between versions const versions = Object.keys(results).sort(); if (versions.length >= 2) { - const current = versions[versions.length - 1]; - const previous = versions[versions.length - 2]; - - const changes = { - baselineWeightedEfficiencyScoreChange: - ((results[previous].baselineWeightedEfficiencyScore - - results[current].baselineWeightedEfficiencyScore) / - results[previous].baselineWeightedEfficiencyScore) * - 100, - averageScoreChange: - ((results[previous].mean - results[current].mean) / - results[previous].mean) * - 100, - medianScoreChange: - ((results[previous].median - results[current].median) / - results[previous].median) * - 100, - minScoreChange: - ((results[previous].min - results[current].min) / - results[previous].min) * - 100 - }; + const [previous, current] = versions.slice(-2); + const changes = calculateVersionChanges( + results[previous], + results[current] + ); console.log('\nPerformance changes from', previous, 'to', current); - console.log( - 'Baseline Weighted Efficiency Score Change:', - `${changes.baselineWeightedEfficiencyScoreChange.toFixed(2)}%` - ); - console.log( - 'Average Score Change:', - `${changes.averageScoreChange.toFixed(2)}%` - ); - console.log( - 'Median Score Change:', - `${changes.medianScoreChange.toFixed(2)}%` - ); - console.log( - 'Min Score Change:', - `${changes.minScoreChange.toFixed(2)}%` - ); + Object.entries(changes).forEach(([key, value]) => { + console.log(`${key}:`, `${value.toFixed(2)}%`); + }); } return results; -} +}; // Run the analysis and output results try { From d60615d3113938165599757b9a118d199cca5600 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 27 Nov 2024 14:37:07 -0700 Subject: [PATCH 04/32] make functions --- scripts/analyze_benchmarks.ts | 58 +++++++++++++++++------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/scripts/analyze_benchmarks.ts b/scripts/analyze_benchmarks.ts index 45bfe1d994..b58eefb183 100644 --- a/scripts/analyze_benchmarks.ts +++ b/scripts/analyze_benchmarks.ts @@ -31,12 +31,12 @@ type Statistics = { baselineWeightedEfficiencyScore: number; }; -const findBenchmarkFiles = (dir: string): string[] => { +function findBenchmarkFiles(dir: string): string[] { if (dir.includes('node_modules')) { return []; } - const safeReadDir = (directory: string): string[] => { + function safeReadDir(directory: string): string[] { try { return readdirSync(directory); } catch (error: any) { @@ -46,9 +46,9 @@ const findBenchmarkFiles = (dir: string): string[] => { ); return []; } - }; + } - const processItem = (item: string): string[] => { + function processItem(item: string): string[] { const fullPath = join(dir, item); try { @@ -68,12 +68,12 @@ const findBenchmarkFiles = (dir: string): string[] => { ); return []; } - }; + } return safeReadDir(dir).flatMap(processItem); -}; +} -const calculateStatistics = (instructions: readonly number[]): Statistics => { +function calculateStatistics(instructions: readonly number[]): Statistics { if (instructions.length === 0) { throw new Error('Cannot calculate statistics for empty array'); } @@ -102,11 +102,11 @@ const calculateStatistics = (instructions: readonly number[]): Statistics => { min: sorted[0], baselineWeightedEfficiencyScore: 0 }; -}; +} -const calculateBaselineWeightEfficiencyScores = ( +function calculateBaselineWeightEfficiencyScores( stats: Readonly -): number => { +): number { const weights = { min: 0.7, median: 0.3, @@ -118,14 +118,15 @@ const calculateBaselineWeightEfficiencyScores = ( weights.median * stats.median + weights.mean * stats.mean ); -}; +} -const calculateVersionChanges = ( +function calculateVersionChanges( previous: Statistics, current: Statistics -): Record => { - const calculateChange = (prevValue: number, currValue: number): number => - ((prevValue - currValue) / prevValue) * 100; +): Record { + function calculateChange(prevValue: number, currValue: number): number { + return ((prevValue - currValue) / prevValue) * 100; + } return { baselineWeightedEfficiencyScoreChange: calculateChange( @@ -136,14 +137,14 @@ const calculateVersionChanges = ( medianScoreChange: calculateChange(previous.median, current.median), minScoreChange: calculateChange(previous.min, current.min) }; -}; +} -const analyzeAllBenchmarks = ( +function analyzeAllBenchmarks( rootDir: string = '.' -): Record => { - const extractBenchmarkEntries = ( +): Record { + function extractBenchmarkEntries( file: string - ): Array<[string, BenchmarkEntry]> => { + ): Array<[string, BenchmarkEntry]> { const data: BenchmarksJson = JSON.parse(readFileSync(file, 'utf-8')); return Object.values(data).flatMap((canisterData) => { @@ -167,22 +168,21 @@ const analyzeAllBenchmarks = ( return [...currentEntries, ...previousEntries]; }); - }; + } - const groupEntriesByVersion = ( + function groupEntriesByVersion( entries: Array<[string, BenchmarkEntry]> - ): Record => - entries.reduce( + ): Record { + return entries.reduce( (acc, [version, entry]) => ({ ...acc, [version]: [...(acc[version] || []), entry] }), {} as Record ); + } - const calculateVersionStatistics = ( - entries: BenchmarkEntry[] - ): Statistics => { + function calculateVersionStatistics(entries: BenchmarkEntry[]): Statistics { const baseStats = calculateStatistics( entries.map((entry) => Number(entry.instructions.__bigint__)) ); @@ -191,7 +191,7 @@ const analyzeAllBenchmarks = ( baselineWeightedEfficiencyScore: calculateBaselineWeightEfficiencyScores(baseStats) }; - }; + } const benchmarkFiles = findBenchmarkFiles(rootDir); const versionEntries = benchmarkFiles.flatMap(extractBenchmarkEntries); @@ -220,7 +220,7 @@ const analyzeAllBenchmarks = ( } return results; -}; +} // Run the analysis and output results try { From 660cf29d926f446eac10aebcfcc7ff58b42d8cd2 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 27 Nov 2024 15:10:41 -0700 Subject: [PATCH 05/32] top level functions --- scripts/analyze_benchmarks.ts | 192 ++++++++++++++++------------------ 1 file changed, 90 insertions(+), 102 deletions(-) diff --git a/scripts/analyze_benchmarks.ts b/scripts/analyze_benchmarks.ts index b58eefb183..aeba2658d7 100644 --- a/scripts/analyze_benchmarks.ts +++ b/scripts/analyze_benchmarks.ts @@ -1,4 +1,4 @@ -import { lstatSync, readdirSync, readFileSync, statSync } from 'fs'; +import { readdir, readFile, stat } from 'fs/promises'; import { join } from 'path'; type BenchmarkEntry = { @@ -31,46 +31,83 @@ type Statistics = { baselineWeightedEfficiencyScore: number; }; -function findBenchmarkFiles(dir: string): string[] { +async function processDirectoryItem( + dir: string, + item: string +): Promise { + const fullPath = join(dir, item); + + const statInfo = await stat(fullPath); + if (statInfo.isDirectory()) { + return findBenchmarkFiles(fullPath); + } + return item === 'benchmarks.json' ? [fullPath] : []; +} + +async function findBenchmarkFiles(dir: string): Promise { if (dir.includes('node_modules')) { return []; } + const items = await readdir(dir); + const itemResults = await Promise.all( + items.map((item) => processDirectoryItem(dir, item)) + ); + return itemResults.flat(); +} - function safeReadDir(directory: string): string[] { - try { - return readdirSync(directory); - } catch (error: any) { - console.warn( - `Warning: Could not read directory ${directory}:`, - error.message - ); - return []; - } - } +function calculateChange(prevValue: number, currValue: number): number { + return ((prevValue - currValue) / prevValue) * 100; +} - function processItem(item: string): string[] { - const fullPath = join(dir, item); - - try { - if (lstatSync(fullPath).isSymbolicLink()) { - return []; - } - - const stat = statSync(fullPath); - if (stat.isDirectory()) { - return findBenchmarkFiles(fullPath); - } - return item === 'benchmarks.json' ? [fullPath] : []; - } catch (error: any) { - console.warn( - `Warning: Could not access ${fullPath}:`, - error.message - ); - return []; - } - } +async function extractBenchmarkEntries( + file: string +): Promise> { + const data: BenchmarksJson = JSON.parse(await readFile(file, 'utf-8')); + + return Object.values(data).flatMap((canisterData) => { + const currentEntries = canisterData.current + ? canisterData.current.benchmarks.map( + (benchmark) => + [canisterData.current!.version, benchmark] as [ + string, + BenchmarkEntry + ] + ) + : []; + + const previousEntries = canisterData.previous.benchmarks.map( + (benchmark) => + [canisterData.previous.version, benchmark] as [ + string, + BenchmarkEntry + ] + ); - return safeReadDir(dir).flatMap(processItem); + return [...currentEntries, ...previousEntries]; + }); +} + +function groupEntriesByVersion( + entries: Array<[string, BenchmarkEntry]> +): Record { + return entries.reduce( + (acc, [version, entry]) => ({ + ...acc, + [version]: [...(acc[version] ?? []), entry] + }), + {} as Record + ); +} + +function calculateVersionStatistics(entries: BenchmarkEntry[]): Statistics { + const baseStats = calculateStatistics( + entries.map((entry) => Number(entry.instructions.__bigint__)) + ); + return { + ...baseStats, + baselineWeightedEfficiencyScore: + calculateBaselineWeightEfficiencyScores(baseStats) + }; } function calculateStatistics(instructions: readonly number[]): Statistics { @@ -124,10 +161,6 @@ function calculateVersionChanges( previous: Statistics, current: Statistics ): Record { - function calculateChange(prevValue: number, currValue: number): number { - return ((prevValue - currValue) / prevValue) * 100; - } - return { baselineWeightedEfficiencyScoreChange: calculateChange( previous.baselineWeightedEfficiencyScore, @@ -139,71 +172,27 @@ function calculateVersionChanges( }; } -function analyzeAllBenchmarks( +async function analyzeAllBenchmarks( rootDir: string = '.' -): Record { - function extractBenchmarkEntries( - file: string - ): Array<[string, BenchmarkEntry]> { - const data: BenchmarksJson = JSON.parse(readFileSync(file, 'utf-8')); - - return Object.values(data).flatMap((canisterData) => { - const currentEntries = canisterData.current - ? canisterData.current.benchmarks.map( - (benchmark) => - [canisterData.current!.version, benchmark] as [ - string, - BenchmarkEntry - ] - ) - : []; - - const previousEntries = canisterData.previous.benchmarks.map( - (benchmark) => - [canisterData.previous.version, benchmark] as [ - string, - BenchmarkEntry - ] - ); - - return [...currentEntries, ...previousEntries]; - }); - } - - function groupEntriesByVersion( - entries: Array<[string, BenchmarkEntry]> - ): Record { - return entries.reduce( - (acc, [version, entry]) => ({ - ...acc, - [version]: [...(acc[version] || []), entry] - }), - {} as Record - ); - } - - function calculateVersionStatistics(entries: BenchmarkEntry[]): Statistics { - const baseStats = calculateStatistics( - entries.map((entry) => Number(entry.instructions.__bigint__)) - ); - return { - ...baseStats, - baselineWeightedEfficiencyScore: - calculateBaselineWeightEfficiencyScores(baseStats) - }; - } +): Promise> { + const benchmarkFiles = await findBenchmarkFiles(rootDir); + const versionEntriesArrays = await Promise.all( + benchmarkFiles.map(extractBenchmarkEntries) + ); + const versionEntries = versionEntriesArrays.flat(); - const benchmarkFiles = findBenchmarkFiles(rootDir); - const versionEntries = benchmarkFiles.flatMap(extractBenchmarkEntries); const entriesByVersion = groupEntriesByVersion(versionEntries); - const results = Object.entries(entriesByVersion).reduce( + + return Object.entries(entriesByVersion).reduce( (acc, [version, entries]) => ({ ...acc, [version]: calculateVersionStatistics(entries) }), {} as Record ); +} +function compareChanges(results: Record): void { // Log comparison between versions const versions = Object.keys(results).sort(); if (versions.length >= 2) { @@ -218,15 +207,14 @@ function analyzeAllBenchmarks( console.log(`${key}:`, `${value.toFixed(2)}%`); }); } - - return results; } -// Run the analysis and output results -try { +function main(): void { console.log('Analyzing benchmarks...'); - const results = analyzeAllBenchmarks(); - console.log(JSON.stringify(results, null, 2)); -} catch (error) { - console.error('Error analyzing benchmarks:', error); + analyzeAllBenchmarks().then((results) => { + compareChanges(results); + console.log(JSON.stringify(results, null, 2)); + }); } + +main(); From f6dee6f1a3f6c88c2f5ac3efdb1329318aed0764 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 27 Nov 2024 15:11:07 -0700 Subject: [PATCH 06/32] move into it's own folder --- scripts/{analyze_benchmarks.ts => analyze_benchmarks/index.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scripts/{analyze_benchmarks.ts => analyze_benchmarks/index.ts} (100%) diff --git a/scripts/analyze_benchmarks.ts b/scripts/analyze_benchmarks/index.ts similarity index 100% rename from scripts/analyze_benchmarks.ts rename to scripts/analyze_benchmarks/index.ts From b33a23237bcb9355f432840a89185d69697de1c4 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 27 Nov 2024 16:10:08 -0700 Subject: [PATCH 07/32] separate into individual files --- scripts/analyze_benchmarks/extractor.ts | 62 +++++++ scripts/analyze_benchmarks/file_finder.ts | 26 +++ scripts/analyze_benchmarks/index.ts | 199 +--------------------- scripts/analyze_benchmarks/reporter.ts | 41 +++++ scripts/analyze_benchmarks/statistics.ts | 73 ++++++++ 5 files changed, 207 insertions(+), 194 deletions(-) create mode 100644 scripts/analyze_benchmarks/extractor.ts create mode 100644 scripts/analyze_benchmarks/file_finder.ts create mode 100644 scripts/analyze_benchmarks/reporter.ts create mode 100644 scripts/analyze_benchmarks/statistics.ts diff --git a/scripts/analyze_benchmarks/extractor.ts b/scripts/analyze_benchmarks/extractor.ts new file mode 100644 index 0000000000..6dda0d51e4 --- /dev/null +++ b/scripts/analyze_benchmarks/extractor.ts @@ -0,0 +1,62 @@ +import { readFile } from 'fs/promises'; + +export type BenchmarkEntry = { + instructions: { __bigint__: string }; + method_name: string; + timestamp: { __bigint__: string }; +}; + +type CanisterBenchmark = { + current?: { + version: string; + benchmarks: BenchmarkEntry[]; + }; + previous: { + version: string; + benchmarks: BenchmarkEntry[]; + }; +}; + +type BenchmarksJson = { + [canisterName: string]: CanisterBenchmark; +}; + +export async function extractBenchmarkEntries( + file: string +): Promise> { + const data: BenchmarksJson = JSON.parse(await readFile(file, 'utf-8')); + + return Object.values(data).flatMap((canisterData) => { + const currentEntries = canisterData.current + ? canisterData.current.benchmarks.map( + (benchmark) => + [canisterData.current!.version, benchmark] as [ + string, + BenchmarkEntry + ] + ) + : []; + + const previousEntries = canisterData.previous.benchmarks.map( + (benchmark) => + [canisterData.previous.version, benchmark] as [ + string, + BenchmarkEntry + ] + ); + + return [...currentEntries, ...previousEntries]; + }); +} + +export function groupEntriesByVersion( + entries: Array<[string, BenchmarkEntry]> +): Record { + return entries.reduce( + (acc, [version, entry]) => ({ + ...acc, + [version]: [...(acc[version] ?? []), entry] + }), + {} as Record + ); +} diff --git a/scripts/analyze_benchmarks/file_finder.ts b/scripts/analyze_benchmarks/file_finder.ts new file mode 100644 index 0000000000..af643dc34c --- /dev/null +++ b/scripts/analyze_benchmarks/file_finder.ts @@ -0,0 +1,26 @@ +import { readdir, stat } from 'fs/promises'; +import { join } from 'path'; + +async function processDirectoryItem( + dir: string, + item: string +): Promise { + const fullPath = join(dir, item); + + const statInfo = await stat(fullPath); + if (statInfo.isDirectory()) { + return findBenchmarkFiles(fullPath); + } + return item === 'benchmarks.json' ? [fullPath] : []; +} + +export async function findBenchmarkFiles(dir: string): Promise { + if (dir.includes('node_modules')) { + return []; + } + const items = await readdir(dir); + const itemResults = await Promise.all( + items.map((item) => processDirectoryItem(dir, item)) + ); + return itemResults.flat(); +} diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index aeba2658d7..2450e9cbc4 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -1,176 +1,7 @@ -import { readdir, readFile, stat } from 'fs/promises'; -import { join } from 'path'; - -type BenchmarkEntry = { - instructions: { __bigint__: string }; - method_name: string; - timestamp: { __bigint__: string }; -}; - -type CanisterBenchmark = { - current?: { - version: string; - benchmarks: BenchmarkEntry[]; - }; - previous: { - version: string; - benchmarks: BenchmarkEntry[]; - }; -}; - -type BenchmarksJson = { - [canisterName: string]: CanisterBenchmark; -}; - -type Statistics = { - count: number; - mean: number; - median: number; - standardDeviation: number; - min: number; - baselineWeightedEfficiencyScore: number; -}; - -async function processDirectoryItem( - dir: string, - item: string -): Promise { - const fullPath = join(dir, item); - - const statInfo = await stat(fullPath); - if (statInfo.isDirectory()) { - return findBenchmarkFiles(fullPath); - } - return item === 'benchmarks.json' ? [fullPath] : []; -} - -async function findBenchmarkFiles(dir: string): Promise { - if (dir.includes('node_modules')) { - return []; - } - const items = await readdir(dir); - const itemResults = await Promise.all( - items.map((item) => processDirectoryItem(dir, item)) - ); - return itemResults.flat(); -} - -function calculateChange(prevValue: number, currValue: number): number { - return ((prevValue - currValue) / prevValue) * 100; -} - -async function extractBenchmarkEntries( - file: string -): Promise> { - const data: BenchmarksJson = JSON.parse(await readFile(file, 'utf-8')); - - return Object.values(data).flatMap((canisterData) => { - const currentEntries = canisterData.current - ? canisterData.current.benchmarks.map( - (benchmark) => - [canisterData.current!.version, benchmark] as [ - string, - BenchmarkEntry - ] - ) - : []; - - const previousEntries = canisterData.previous.benchmarks.map( - (benchmark) => - [canisterData.previous.version, benchmark] as [ - string, - BenchmarkEntry - ] - ); - - return [...currentEntries, ...previousEntries]; - }); -} - -function groupEntriesByVersion( - entries: Array<[string, BenchmarkEntry]> -): Record { - return entries.reduce( - (acc, [version, entry]) => ({ - ...acc, - [version]: [...(acc[version] ?? []), entry] - }), - {} as Record - ); -} - -function calculateVersionStatistics(entries: BenchmarkEntry[]): Statistics { - const baseStats = calculateStatistics( - entries.map((entry) => Number(entry.instructions.__bigint__)) - ); - return { - ...baseStats, - baselineWeightedEfficiencyScore: - calculateBaselineWeightEfficiencyScores(baseStats) - }; -} - -function calculateStatistics(instructions: readonly number[]): Statistics { - if (instructions.length === 0) { - throw new Error('Cannot calculate statistics for empty array'); - } - - const sorted = [...instructions].sort((a, b) => a - b); - const mean = - instructions.reduce((acc, val) => acc + val, 0) / instructions.length; - const mid = Math.floor(sorted.length / 2); - - const median = - sorted.length % 2 === 0 - ? (sorted[mid - 1] + sorted[mid]) / 2 - : sorted[mid]; - - const standardDeviation = Math.sqrt( - instructions - .map((value) => Math.pow(value - mean, 2)) - .reduce((acc, val) => acc + val, 0) / instructions.length - ); - - return { - count: instructions.length, - mean, - median, - standardDeviation, - min: sorted[0], - baselineWeightedEfficiencyScore: 0 - }; -} - -function calculateBaselineWeightEfficiencyScores( - stats: Readonly -): number { - const weights = { - min: 0.7, - median: 0.3, - mean: 0.0 - } as const; - - return ( - weights.min * stats.min + - weights.median * stats.median + - weights.mean * stats.mean - ); -} - -function calculateVersionChanges( - previous: Statistics, - current: Statistics -): Record { - return { - baselineWeightedEfficiencyScoreChange: calculateChange( - previous.baselineWeightedEfficiencyScore, - current.baselineWeightedEfficiencyScore - ), - averageScoreChange: calculateChange(previous.mean, current.mean), - medianScoreChange: calculateChange(previous.median, current.median), - minScoreChange: calculateChange(previous.min, current.min) - }; -} +import { extractBenchmarkEntries, groupEntriesByVersion } from './extractor'; +import { findBenchmarkFiles } from './file_finder'; +import { reportResults } from './reporter'; +import { calculateVersionStatistics, Statistics } from './statistics'; async function analyzeAllBenchmarks( rootDir: string = '.' @@ -192,29 +23,9 @@ async function analyzeAllBenchmarks( ); } -function compareChanges(results: Record): void { - // Log comparison between versions - const versions = Object.keys(results).sort(); - if (versions.length >= 2) { - const [previous, current] = versions.slice(-2); - const changes = calculateVersionChanges( - results[previous], - results[current] - ); - - console.log('\nPerformance changes from', previous, 'to', current); - Object.entries(changes).forEach(([key, value]) => { - console.log(`${key}:`, `${value.toFixed(2)}%`); - }); - } -} - function main(): void { console.log('Analyzing benchmarks...'); - analyzeAllBenchmarks().then((results) => { - compareChanges(results); - console.log(JSON.stringify(results, null, 2)); - }); + analyzeAllBenchmarks().then(reportResults); } main(); diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts new file mode 100644 index 0000000000..909a68e8e8 --- /dev/null +++ b/scripts/analyze_benchmarks/reporter.ts @@ -0,0 +1,41 @@ +import { Statistics } from './statistics'; + +export function reportResults(results: Record): void { + compareChanges(results); + console.log(JSON.stringify(results, null, 2)); +} + +function compareChanges(results: Record): void { + const versions = Object.keys(results).sort(); + if (versions.length >= 2) { + const [previous, current] = versions.slice(-2); + const changes = calculateVersionChanges( + results[previous], + results[current] + ); + + console.log('\nPerformance changes from', previous, 'to', current); + Object.entries(changes).forEach(([key, value]) => { + console.log(`${key}:`, `${value.toFixed(2)}%`); + }); + } +} + +function calculateChange(prevValue: number, currValue: number): number { + return ((prevValue - currValue) / prevValue) * 100; +} + +function calculateVersionChanges( + previous: Statistics, + current: Statistics +): Record { + return { + baselineWeightedEfficiencyScoreChange: calculateChange( + previous.baselineWeightedEfficiencyScore, + current.baselineWeightedEfficiencyScore + ), + averageScoreChange: calculateChange(previous.mean, current.mean), + medianScoreChange: calculateChange(previous.median, current.median), + minScoreChange: calculateChange(previous.min, current.min) + }; +} diff --git a/scripts/analyze_benchmarks/statistics.ts b/scripts/analyze_benchmarks/statistics.ts new file mode 100644 index 0000000000..76cb81e1b5 --- /dev/null +++ b/scripts/analyze_benchmarks/statistics.ts @@ -0,0 +1,73 @@ +import { BenchmarkEntry } from './extractor'; + +export type Statistics = { + count: number; + mean: number; + median: number; + standardDeviation: number; + min: number; + baselineWeightedEfficiencyScore: number; +}; + +export function calculateVersionStatistics( + entries: BenchmarkEntry[] +): Statistics { + return calculateStatistics( + entries.map((entry) => Number(entry.instructions.__bigint__)) + ); +} + +function calculateStatistics(instructions: readonly number[]): Statistics { + if (instructions.length === 0) { + throw new Error('Cannot calculate statistics for empty array'); + } + + const sorted = [...instructions].sort((a, b) => a - b); + const mean = + instructions.reduce((acc, val) => acc + val, 0) / instructions.length; + const mid = Math.floor(sorted.length / 2); + + const median = + sorted.length % 2 === 0 + ? (sorted[mid - 1] + sorted[mid]) / 2 + : sorted[mid]; + + const standardDeviation = Math.sqrt( + instructions + .map((value) => Math.pow(value - mean, 2)) + .reduce((acc, val) => acc + val, 0) / instructions.length + ); + + return { + count: instructions.length, + mean, + median, + standardDeviation, + min: sorted[0], + baselineWeightedEfficiencyScore: + calculateBaselineWeightEfficiencyScores({ + count: instructions.length, + mean, + median, + standardDeviation, + min: sorted[0], + baselineWeightedEfficiencyScore: 0 + }) + }; +} + +function calculateBaselineWeightEfficiencyScores( + stats: Readonly +): number { + const weights = { + min: 0.7, + median: 0.3, + mean: 0.0 + } as const; + + return ( + weights.min * stats.min + + weights.median * stats.median + + weights.mean * stats.mean + ); +} From 49d96bfe21e5c9dedeb4005a8914c471f6f3caa6 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Mon, 2 Dec 2024 11:13:04 -0700 Subject: [PATCH 08/32] clean up --- benchmark_stats.json | 18 +++++++ scripts/analyze_benchmarks/extractor.ts | 15 +++++- scripts/analyze_benchmarks/file_finder.ts | 22 ++++----- scripts/analyze_benchmarks/index.ts | 37 +++++++-------- scripts/analyze_benchmarks/reporter.ts | 57 +++++++++++++++++++---- 5 files changed, 107 insertions(+), 42 deletions(-) create mode 100644 benchmark_stats.json diff --git a/benchmark_stats.json b/benchmark_stats.json new file mode 100644 index 0000000000..7febf2b6dc --- /dev/null +++ b/benchmark_stats.json @@ -0,0 +1,18 @@ +{ + "0.25.0-dev": { + "count": 1254, + "mean": 379520691.4322169, + "median": 1034429.5, + "standardDeviation": 2356491191.876872, + "min": 84524, + "baselineWeightedEfficiencyScore": 369495.64999999997 + }, + "0.25.0-pre-bifurcation": { + "count": 1311, + "mean": 689879985.884058, + "median": 1127512, + "standardDeviation": 2834180506.4537497, + "min": 83475, + "baselineWeightedEfficiencyScore": 396686.1 + } +} diff --git a/scripts/analyze_benchmarks/extractor.ts b/scripts/analyze_benchmarks/extractor.ts index 6dda0d51e4..caa5dfcc83 100644 --- a/scripts/analyze_benchmarks/extractor.ts +++ b/scripts/analyze_benchmarks/extractor.ts @@ -21,7 +21,18 @@ type BenchmarksJson = { [canisterName: string]: CanisterBenchmark; }; -export async function extractBenchmarkEntries( +export async function extractBenchmarksEntriesFromFiles( + files: string[] +): Promise> { + const versionEntriesArrays = await Promise.all( + files.map(extractBenchmarkEntries) + ); + const versionEntries = versionEntriesArrays.flat(); + + return groupEntriesByVersion(versionEntries); +} + +async function extractBenchmarkEntries( file: string ): Promise> { const data: BenchmarksJson = JSON.parse(await readFile(file, 'utf-8')); @@ -49,7 +60,7 @@ export async function extractBenchmarkEntries( }); } -export function groupEntriesByVersion( +function groupEntriesByVersion( entries: Array<[string, BenchmarkEntry]> ): Record { return entries.reduce( diff --git a/scripts/analyze_benchmarks/file_finder.ts b/scripts/analyze_benchmarks/file_finder.ts index af643dc34c..ac646f4fd6 100644 --- a/scripts/analyze_benchmarks/file_finder.ts +++ b/scripts/analyze_benchmarks/file_finder.ts @@ -1,6 +1,17 @@ import { readdir, stat } from 'fs/promises'; import { join } from 'path'; +export async function findBenchmarkFiles(dir: string): Promise { + if (dir.includes('node_modules')) { + return []; + } + const items = await readdir(dir); + const itemResults = await Promise.all( + items.map((item) => processDirectoryItem(dir, item)) + ); + return itemResults.flat(); +} + async function processDirectoryItem( dir: string, item: string @@ -13,14 +24,3 @@ async function processDirectoryItem( } return item === 'benchmarks.json' ? [fullPath] : []; } - -export async function findBenchmarkFiles(dir: string): Promise { - if (dir.includes('node_modules')) { - return []; - } - const items = await readdir(dir); - const itemResults = await Promise.all( - items.map((item) => processDirectoryItem(dir, item)) - ); - return itemResults.flat(); -} diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index 2450e9cbc4..b9bc2fe83d 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -1,31 +1,28 @@ -import { extractBenchmarkEntries, groupEntriesByVersion } from './extractor'; +import { version as currentAzleVersion } from '../../package.json'; +import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; +import { extractBenchmarksEntriesFromFiles } from './extractor'; import { findBenchmarkFiles } from './file_finder'; import { reportResults } from './reporter'; import { calculateVersionStatistics, Statistics } from './statistics'; -async function analyzeAllBenchmarks( - rootDir: string = '.' -): Promise> { - const benchmarkFiles = await findBenchmarkFiles(rootDir); - const versionEntriesArrays = await Promise.all( - benchmarkFiles.map(extractBenchmarkEntries) - ); - const versionEntries = versionEntriesArrays.flat(); +async function analyzeBenchmarksForVersion( + targetVersion: string +): Promise { + const benchmarkFilePaths = await findBenchmarkFiles(AZLE_PACKAGE_PATH); - const entriesByVersion = groupEntriesByVersion(versionEntries); + const benchmarkEntriesByVersion = + await extractBenchmarksEntriesFromFiles(benchmarkFilePaths); + const targetVersionEntries = benchmarkEntriesByVersion[targetVersion]; - return Object.entries(entriesByVersion).reduce( - (acc, [version, entries]) => ({ - ...acc, - [version]: calculateVersionStatistics(entries) - }), - {} as Record - ); + return calculateVersionStatistics(targetVersionEntries); } -function main(): void { +function runBenchmarkAnalysis(specifiedVersion?: string): void { + const versionToAnalyze = specifiedVersion ?? currentAzleVersion; console.log('Analyzing benchmarks...'); - analyzeAllBenchmarks().then(reportResults); + analyzeBenchmarksForVersion(versionToAnalyze).then((statistics) => + reportResults(statistics, versionToAnalyze) + ); } -main(); +runBenchmarkAnalysis(process.argv[2]); diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 909a68e8e8..553eda2087 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -1,12 +1,34 @@ +import { readFile, writeFile } from 'fs/promises'; +import { join } from 'path'; + +import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; import { Statistics } from './statistics'; -export function reportResults(results: Record): void { - compareChanges(results); - console.log(JSON.stringify(results, null, 2)); +const RESULTS_FILE = join(AZLE_PACKAGE_PATH, 'benchmark_stats.json'); + +export async function reportResults( + results: Statistics, + version: string +): Promise { + const fileContent = await readFile(RESULTS_FILE, 'utf-8'); + const allResults: Record = JSON.parse(fileContent); + + const updatedResults = { ...allResults, [version]: results }; + await writeFile(RESULTS_FILE, JSON.stringify(updatedResults, null, 2)); + + const comparisonResults = compareChanges(updatedResults); + + const versionResults = Object.entries(results).reduce( + (acc, [key, value]) => + `${acc}- ${camelToTitleCase(key)}: ${value.toFixed(0)}\n`, + `\`${version}\` results:\n` + ); + console.log(versionResults); + console.log(comparisonResults); } -function compareChanges(results: Record): void { - const versions = Object.keys(results).sort(); +function compareChanges(results: Record): string { + const versions = Object.keys(results); if (versions.length >= 2) { const [previous, current] = versions.slice(-2); const changes = calculateVersionChanges( @@ -14,11 +36,15 @@ function compareChanges(results: Record): void { results[current] ); - console.log('\nPerformance changes from', previous, 'to', current); - Object.entries(changes).forEach(([key, value]) => { - console.log(`${key}:`, `${value.toFixed(2)}%`); - }); + return Object.entries(changes).reduce( + (acc, [key, value]) => + `${acc}- ${camelToTitleCase( + key.replace('Change', '') + )}: ${value.toFixed(2)}%\n`, + `\nPerformance changes from \`${previous}\` to \`${current}\`:\n` + ); } + return ''; } function calculateChange(prevValue: number, currValue: number): number { @@ -39,3 +65,16 @@ function calculateVersionChanges( minScoreChange: calculateChange(previous.min, current.min) }; } + +function camelToTitleCase(camelCase: string): string { + // Split the camelCase string into words + const words = camelCase.replace(/([A-Z])/g, ' $1').split(' '); + + // Capitalize first letter of each word and join + return words + .map( + (word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() + ) + .join(' ') + .trim(); +} From 6f3da814d8cbd71cbc488f1eacf97a7c2ed725b4 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Mon, 2 Dec 2024 11:28:14 -0700 Subject: [PATCH 09/32] update formatting --- benchmark_stats.md | 33 ++++++++ scripts/analyze_benchmarks/reporter.ts | 106 +++++++++++++++++++++++-- 2 files changed, 133 insertions(+), 6 deletions(-) create mode 100644 benchmark_stats.md diff --git a/benchmark_stats.md b/benchmark_stats.md new file mode 100644 index 0000000000..195ed89901 --- /dev/null +++ b/benchmark_stats.md @@ -0,0 +1,33 @@ +# Benchmark Results (2024-12-02) + +## Version Results (`0.25.0-dev`) + +- **Count**: 1_254 +- **Mean**: 379_520_691 +- **Median**: 1_034_429 +- **Standard Deviation**: 2_356_491_191 +- **Min**: 84_524 +- **Baseline Weighted Efficiency Score**: 369_495 + +Performance changes from `0.25.0-dev` to `0.25.0-pre-bifurcation`: + +- Baseline Weighted Efficiency Score: -7.36% +- Average Score: -81.78% +- Median Score: -9.00% +- Min Score: 1.24% + +## Statistical Analysis + +- Within 1 standard deviation (84_524 to 2_736_011_883 instructions), approximately 68.3% of the methods fall in this range +- Within 2 standard deviations (84_524 to 5_092_503_075 instructions), approximately 95.5% of the methods fall in this range +- Within 3 standard deviations (84_524 to 7_448_994_267 instructions), approximately 99.7% of the methods fall in this range + +### Efficiency Insights + +- The codebase is performing below baseline expectations with an efficiency score of 369_495 +- The average instruction count is 379_520_691 +- The median instruction count is 1_034_429 + +--- + +_Report generated automatically by Azle benchmark tools_ diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 553eda2087..5b9df11692 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -5,6 +5,7 @@ import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; import { Statistics } from './statistics'; const RESULTS_FILE = join(AZLE_PACKAGE_PATH, 'benchmark_stats.json'); +const MARKDOWN_FILE = RESULTS_FILE.replace('.json', '.md'); export async function reportResults( results: Statistics, @@ -17,14 +18,103 @@ export async function reportResults( await writeFile(RESULTS_FILE, JSON.stringify(updatedResults, null, 2)); const comparisonResults = compareChanges(updatedResults); + const analysis = analyzeResults(results); - const versionResults = Object.entries(results).reduce( - (acc, [key, value]) => - `${acc}- ${camelToTitleCase(key)}: ${value.toFixed(0)}\n`, - `\`${version}\` results:\n` + const markdownContent = generateMarkdownReport( + version, + results, + comparisonResults, + analysis ); - console.log(versionResults); - console.log(comparisonResults); + await writeFile(MARKDOWN_FILE, markdownContent); + + // Still log to console for immediate feedback + console.log(`Report generated at ${MARKDOWN_FILE}`); +} + +function analyzeResults(stats: Statistics): string { + const standardRanges = [ + { range: 1, percentage: 0.6827 }, + { range: 2, percentage: 0.9545 }, + { range: 3, percentage: 0.9973 } + ]; + + let analysis = '## Statistical Analysis\n\n'; + + // Add distribution analysis + standardRanges.forEach(({ range, percentage }) => { + const theoreticalLower = stats.mean - range * stats.standardDeviation; + const theoreticalUpper = stats.mean + range * stats.standardDeviation; + + // Ensure lower bound is never below the minimum observed value + const lower = Math.max(stats.min, theoreticalLower); + // Ensure upper bound is never below the lower bound + const upper = Math.max(lower, theoreticalUpper); + + const expectedPercentage = (percentage * 100).toFixed(1); + + analysis += + `- Within ${range} standard deviation${range > 1 ? 's' : ''} ` + + `(${formatNumber(Math.floor(lower))} to ${formatNumber( + Math.floor(upper) + )} instructions), ` + + `approximately ${expectedPercentage}% of the methods fall in this range\n`; + }); + + // Add efficiency analysis + analysis += '\n### Efficiency Insights\n\n'; + const efficiencyScore = stats.baselineWeightedEfficiencyScore; + let efficiencyAnalysis = ''; + + if (efficiencyScore < 100) { + efficiencyAnalysis = + 'The codebase is performing better than the baseline'; + } else if (efficiencyScore === 100) { + efficiencyAnalysis = 'The codebase is performing at baseline levels'; + } else { + efficiencyAnalysis = + 'The codebase is performing below baseline expectations'; + } + + analysis += `- ${efficiencyAnalysis} with an efficiency score of ${formatNumber( + Math.floor(efficiencyScore) + )}\n`; + analysis += `- The average instruction count is ${formatNumber( + Math.floor(stats.mean) + )}\n`; + analysis += `- The median instruction count is ${formatNumber( + Math.floor(stats.median) + )}\n`; + + return analysis; +} + +function generateMarkdownReport( + version: string, + results: Statistics, + comparisonResults: string, + analysis: string +): string { + const timestamp = new Date().toISOString().split('T')[0]; + + return `# Benchmark Results (${timestamp}) + +## Version Results (\`${version}\`) + +${Object.entries(results) + .map( + ([key, value]) => + `- **${camelToTitleCase(key)}**: ${formatNumber(Math.floor(value))}` + ) + .join('\n')} + +${comparisonResults} + +${analysis} + +--- +*Report generated automatically by Azle benchmark tools* +`; } function compareChanges(results: Record): string { @@ -78,3 +168,7 @@ function camelToTitleCase(camelCase: string): string { .join(' ') .trim(); } + +function formatNumber(num: number): string { + return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '_'); +} From e26f6455ae5113afc043941a394cc28093e5238b Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Mon, 2 Dec 2024 13:54:04 -0700 Subject: [PATCH 10/32] attempt to use only lower percentiles --- benchmark_stats.json | 11 +++++---- benchmark_stats.md | 30 +++++++++++++----------- scripts/analyze_benchmarks/index.ts | 4 ++-- scripts/analyze_benchmarks/reporter.ts | 11 +++++---- scripts/analyze_benchmarks/statistics.ts | 24 ++++++++++++++++--- 5 files changed, 52 insertions(+), 28 deletions(-) diff --git a/benchmark_stats.json b/benchmark_stats.json index 7febf2b6dc..78fb5546ed 100644 --- a/benchmark_stats.json +++ b/benchmark_stats.json @@ -1,11 +1,12 @@ { "0.25.0-dev": { - "count": 1254, - "mean": 379520691.4322169, - "median": 1034429.5, - "standardDeviation": 2356491191.876872, + "count": 1191, + "mean": 23917158.525608733, + "median": 1018593, + "standardDeviation": 48806379.57471642, "min": 84524, - "baselineWeightedEfficiencyScore": 369495.64999999997 + "max": 168239538, + "baselineWeightedEfficiencyScore": 364744.69999999995 }, "0.25.0-pre-bifurcation": { "count": 1311, diff --git a/benchmark_stats.md b/benchmark_stats.md index 195ed89901..31e4400c03 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -2,31 +2,33 @@ ## Version Results (`0.25.0-dev`) -- **Count**: 1_254 -- **Mean**: 379_520_691 -- **Median**: 1_034_429 -- **Standard Deviation**: 2_356_491_191 +- **Count**: 1_191 +- **Mean**: 23_917_158 +- **Median**: 1_018_593 +- **Standard Deviation**: 48_806_379 - **Min**: 84_524 -- **Baseline Weighted Efficiency Score**: 369_495 +- **Max**: 168_239_538 +- **Baseline Weighted Efficiency Score**: 364_744 Performance changes from `0.25.0-dev` to `0.25.0-pre-bifurcation`: -- Baseline Weighted Efficiency Score: -7.36% -- Average Score: -81.78% -- Median Score: -9.00% +- Baseline Weighted Efficiency Score: -8.76% +- Average Score: -2784.46% +- Median Score: -10.69% - Min Score: 1.24% ## Statistical Analysis -- Within 1 standard deviation (84_524 to 2_736_011_883 instructions), approximately 68.3% of the methods fall in this range -- Within 2 standard deviations (84_524 to 5_092_503_075 instructions), approximately 95.5% of the methods fall in this range -- Within 3 standard deviations (84_524 to 7_448_994_267 instructions), approximately 99.7% of the methods fall in this range +- Within 1 standard deviation (84_524 to 72_723_538 instructions), approximately 813 of the methods fall in this range +- Within 2 standard deviations (84_524 to 121_529_917 instructions), approximately 1_136 of the methods fall in this range +- Within 3 standard deviations (84_524 to 168_239_538 instructions), approximately 1_187 of the methods fall in this range ### Efficiency Insights -- The codebase is performing below baseline expectations with an efficiency score of 369_495 -- The average instruction count is 379_520_691 -- The median instruction count is 1_034_429 +- The codebase is performing below baseline expectations with an efficiency score of 364_744 +- The average instruction count is 23_917_158 +- The median instruction count is 1_018_593 +- The range of instructions spans from 84_524 to 168_239_538 --- diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index b9bc2fe83d..0e54e1a5de 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -7,7 +7,7 @@ import { calculateVersionStatistics, Statistics } from './statistics'; async function analyzeBenchmarksForVersion( targetVersion: string -): Promise { +): Promise<[Statistics, Statistics]> { const benchmarkFilePaths = await findBenchmarkFiles(AZLE_PACKAGE_PATH); const benchmarkEntriesByVersion = @@ -21,7 +21,7 @@ function runBenchmarkAnalysis(specifiedVersion?: string): void { const versionToAnalyze = specifiedVersion ?? currentAzleVersion; console.log('Analyzing benchmarks...'); analyzeBenchmarksForVersion(versionToAnalyze).then((statistics) => - reportResults(statistics, versionToAnalyze) + reportResults(statistics[1], versionToAnalyze) ); } diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 5b9df11692..960940e5f5 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -49,16 +49,16 @@ function analyzeResults(stats: Statistics): string { // Ensure lower bound is never below the minimum observed value const lower = Math.max(stats.min, theoreticalLower); // Ensure upper bound is never below the lower bound - const upper = Math.max(lower, theoreticalUpper); - - const expectedPercentage = (percentage * 100).toFixed(1); + const upper = Math.min(stats.max, theoreticalUpper); analysis += `- Within ${range} standard deviation${range > 1 ? 's' : ''} ` + `(${formatNumber(Math.floor(lower))} to ${formatNumber( Math.floor(upper) )} instructions), ` + - `approximately ${expectedPercentage}% of the methods fall in this range\n`; + `approximately ${formatNumber( + Math.floor(percentage * stats.count) + )} of the methods fall in this range\n`; }); // Add efficiency analysis @@ -85,6 +85,9 @@ function analyzeResults(stats: Statistics): string { analysis += `- The median instruction count is ${formatNumber( Math.floor(stats.median) )}\n`; + analysis += `- The range of instructions spans from ${formatNumber( + Math.floor(stats.min) + )} to ${formatNumber(Math.floor(stats.max))}\n`; return analysis; } diff --git a/scripts/analyze_benchmarks/statistics.ts b/scripts/analyze_benchmarks/statistics.ts index 76cb81e1b5..9f0c40d905 100644 --- a/scripts/analyze_benchmarks/statistics.ts +++ b/scripts/analyze_benchmarks/statistics.ts @@ -6,15 +6,31 @@ export type Statistics = { median: number; standardDeviation: number; min: number; + max: number; baselineWeightedEfficiencyScore: number; }; export function calculateVersionStatistics( entries: BenchmarkEntry[] -): Statistics { - return calculateStatistics( - entries.map((entry) => Number(entry.instructions.__bigint__)) +): [Statistics, Statistics] { + const instructions = entries.map((entry) => + Number(entry.instructions.__bigint__) ); + + // Calculate raw statistics + const rawStats = calculateStatistics(instructions); + + // Calculate 75th percentile + const sorted = [...instructions].sort((a, b) => a - b); + const p75Index = sorted.length * 0.95; + + // Use slice to get values >= 75th percentile + const filteredInstructions = sorted.slice(0, p75Index); + + // Calculate filtered statistics + const filteredStats = calculateStatistics(filteredInstructions); + + return [rawStats, filteredStats]; } function calculateStatistics(instructions: readonly number[]): Statistics { @@ -44,6 +60,7 @@ function calculateStatistics(instructions: readonly number[]): Statistics { median, standardDeviation, min: sorted[0], + max: sorted[sorted.length - 1], baselineWeightedEfficiencyScore: calculateBaselineWeightEfficiencyScores({ count: instructions.length, @@ -51,6 +68,7 @@ function calculateStatistics(instructions: readonly number[]): Statistics { median, standardDeviation, min: sorted[0], + max: sorted[sorted.length - 1], baselineWeightedEfficiencyScore: 0 }) }; From abc4f9238e514dc66743e9c822922404c2b17041 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Fri, 13 Dec 2024 16:39:49 -0700 Subject: [PATCH 11/32] filter out methods longer than max instructions --- scripts/analyze_benchmarks/statistics.ts | 28 +++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/scripts/analyze_benchmarks/statistics.ts b/scripts/analyze_benchmarks/statistics.ts index 9f0c40d905..0ed0a3fe26 100644 --- a/scripts/analyze_benchmarks/statistics.ts +++ b/scripts/analyze_benchmarks/statistics.ts @@ -38,9 +38,21 @@ function calculateStatistics(instructions: readonly number[]): Statistics { throw new Error('Cannot calculate statistics for empty array'); } - const sorted = [...instructions].sort((a, b) => a - b); + // Filter out instructions > 40 billion + const filteredInstructions = instructions.filter( + (val) => val <= 40_000_000_000 + ); + + if (filteredInstructions.length === 0) { + throw new Error( + 'No valid instructions after filtering (all values > 40 billion)' + ); + } + + const sorted = [...filteredInstructions].sort((a, b) => a - b); const mean = - instructions.reduce((acc, val) => acc + val, 0) / instructions.length; + filteredInstructions.reduce((acc, val) => acc + val, 0) / + filteredInstructions.length; const mid = Math.floor(sorted.length / 2); const median = @@ -49,13 +61,13 @@ function calculateStatistics(instructions: readonly number[]): Statistics { : sorted[mid]; const standardDeviation = Math.sqrt( - instructions + filteredInstructions .map((value) => Math.pow(value - mean, 2)) - .reduce((acc, val) => acc + val, 0) / instructions.length + .reduce((acc, val) => acc + val, 0) / filteredInstructions.length ); return { - count: instructions.length, + count: filteredInstructions.length, mean, median, standardDeviation, @@ -63,7 +75,7 @@ function calculateStatistics(instructions: readonly number[]): Statistics { max: sorted[sorted.length - 1], baselineWeightedEfficiencyScore: calculateBaselineWeightEfficiencyScores({ - count: instructions.length, + count: filteredInstructions.length, mean, median, standardDeviation, @@ -78,9 +90,9 @@ function calculateBaselineWeightEfficiencyScores( stats: Readonly ): number { const weights = { - min: 0.7, + min: 0.6, median: 0.3, - mean: 0.0 + mean: 0.1 } as const; return ( From 67543b01200e44fe623e8a7e96f9ec757c9be711 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Fri, 13 Dec 2024 16:41:05 -0700 Subject: [PATCH 12/32] remove sd analysis since data is not a normal distribution --- scripts/analyze_benchmarks/reporter.ts | 30 +------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 960940e5f5..b75bf362ae 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -33,36 +33,8 @@ export async function reportResults( } function analyzeResults(stats: Statistics): string { - const standardRanges = [ - { range: 1, percentage: 0.6827 }, - { range: 2, percentage: 0.9545 }, - { range: 3, percentage: 0.9973 } - ]; - - let analysis = '## Statistical Analysis\n\n'; - - // Add distribution analysis - standardRanges.forEach(({ range, percentage }) => { - const theoreticalLower = stats.mean - range * stats.standardDeviation; - const theoreticalUpper = stats.mean + range * stats.standardDeviation; - - // Ensure lower bound is never below the minimum observed value - const lower = Math.max(stats.min, theoreticalLower); - // Ensure upper bound is never below the lower bound - const upper = Math.min(stats.max, theoreticalUpper); - - analysis += - `- Within ${range} standard deviation${range > 1 ? 's' : ''} ` + - `(${formatNumber(Math.floor(lower))} to ${formatNumber( - Math.floor(upper) - )} instructions), ` + - `approximately ${formatNumber( - Math.floor(percentage * stats.count) - )} of the methods fall in this range\n`; - }); - // Add efficiency analysis - analysis += '\n### Efficiency Insights\n\n'; + let analysis = '\n### Efficiency Insights\n\n'; const efficiencyScore = stats.baselineWeightedEfficiencyScore; let efficiencyAnalysis = ''; From e99979899d841958d3072ea98fcd13baff31e0b3 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Fri, 13 Dec 2024 16:47:01 -0700 Subject: [PATCH 13/32] find missing or wrong versions --- .../analyze_benchmarks/validate_versions.ts | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 scripts/analyze_benchmarks/validate_versions.ts diff --git a/scripts/analyze_benchmarks/validate_versions.ts b/scripts/analyze_benchmarks/validate_versions.ts new file mode 100644 index 0000000000..4c32fe83e3 --- /dev/null +++ b/scripts/analyze_benchmarks/validate_versions.ts @@ -0,0 +1,134 @@ +import * as fs from 'fs/promises'; + +import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; +import { findBenchmarkFiles } from './file_finder'; + +type BenchmarkIssue = { + filePath: string; + type: + | 'missing_previous' + | 'wrong_previous_version' + | 'wrong_current_version'; + expectedVersion: string; + actualVersion?: string; +}; + +async function validateBenchmarkVersions( + benchmarkFilePaths: string[], + expectedCurrentVersion: string, + expectedPreviousVersion: string +): Promise { + const issues: BenchmarkIssue[] = []; + + for (const filePath of benchmarkFilePaths) { + try { + const content = await fs.readFile(filePath, 'utf-8'); + const benchmarkData = JSON.parse(content); + + Object.values(benchmarkData).forEach((entry: any) => { + if (!entry.previous) { + issues.push({ + filePath, + type: 'missing_previous', + expectedVersion: expectedPreviousVersion + }); + return; + } + + if (entry.previous.version !== expectedPreviousVersion) { + issues.push({ + filePath, + type: 'wrong_previous_version', + expectedVersion: expectedPreviousVersion, + actualVersion: entry.previous.version + }); + } + + if (entry.current.version !== expectedCurrentVersion) { + issues.push({ + filePath, + type: 'wrong_current_version', + expectedVersion: expectedCurrentVersion, + actualVersion: entry.current.version + }); + } + }); + } catch (error) { + console.error(`Error reading/parsing file ${filePath}:`, error); + } + } + + return issues; +} + +async function main(): Promise { + const [currentVersion, previousVersion] = process.argv.slice(2); + + if (!currentVersion || !previousVersion) { + console.error( + 'Usage: node validate_versions.js ' + ); + process.exit(1); + } + + const benchmarkFilePaths = await findBenchmarkFiles(AZLE_PACKAGE_PATH); + const issues = await validateBenchmarkVersions( + benchmarkFilePaths, + currentVersion, + previousVersion + ); + + if (issues.length > 0) { + console.warn('\nWarning: Issues found in benchmark files:'); + + // Group issues by type + const missingPrevious = issues.filter( + (issue) => issue.type === 'missing_previous' + ); + const wrongPrevious = issues.filter( + (issue) => issue.type === 'wrong_previous_version' + ); + const wrongCurrent = issues.filter( + (issue) => issue.type === 'wrong_current_version' + ); + + if (missingPrevious.length > 0) { + console.warn('\nFiles missing "previous" key:'); + missingPrevious.forEach((issue) => + console.warn(`- ${issue.filePath}`) + ); + } + + if (wrongPrevious.length > 0) { + console.warn( + `\nFiles with incorrect previous version (expected ${previousVersion}):` + ); + wrongPrevious.forEach((issue) => + console.warn( + `- ${issue.filePath} (found version: ${issue.actualVersion})` + ) + ); + } + + if (wrongCurrent.length > 0) { + console.warn( + `\nFiles with incorrect current version (expected ${currentVersion}):` + ); + wrongCurrent.forEach((issue) => + console.warn( + `- ${issue.filePath} (found version: ${issue.actualVersion})` + ) + ); + } + + console.warn('\n'); + process.exit(1); + } + + console.log('All benchmark versions are valid! ✨'); +} + +main().catch((error) => { + console.error('Error:', error); + process.exit(1); +}); From 517f9908f7ff7ff847077306b36f28c6e277e85d Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Fri, 13 Dec 2024 16:47:31 -0700 Subject: [PATCH 14/32] update status --- benchmark_stats.json | 23 ++++++++--------- benchmark_stats.md | 34 +++++++++++--------------- scripts/analyze_benchmarks/reporter.ts | 2 +- 3 files changed, 27 insertions(+), 32 deletions(-) diff --git a/benchmark_stats.json b/benchmark_stats.json index 78fb5546ed..f3db9b9301 100644 --- a/benchmark_stats.json +++ b/benchmark_stats.json @@ -1,19 +1,20 @@ { "0.25.0-dev": { - "count": 1191, - "mean": 23917158.525608733, - "median": 1018593, - "standardDeviation": 48806379.57471642, + "count": 1289, + "mean": 92258471.74941815, + "median": 1114393, + "standardDeviation": 530621254.60251206, "min": 84524, - "max": 168239538, - "baselineWeightedEfficiencyScore": 364744.69999999995 + "max": 5594040442, + "baselineWeightedEfficiencyScore": 9610879.474941816 }, "0.25.0-pre-bifurcation": { - "count": 1311, - "mean": 689879985.884058, - "median": 1127512, - "standardDeviation": 2834180506.4537497, + "count": 1245, + "mean": 120719733.4875502, + "median": 1047702, + "standardDeviation": 731125022.9003621, "min": 83475, - "baselineWeightedEfficiencyScore": 396686.1 + "max": 8135798587, + "baselineWeightedEfficiencyScore": 12436368.94875502 } } diff --git a/benchmark_stats.md b/benchmark_stats.md index 31e4400c03..4cd607e438 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -1,34 +1,28 @@ -# Benchmark Results (2024-12-02) +# Benchmark Results (2024-12-13) ## Version Results (`0.25.0-dev`) -- **Count**: 1_191 -- **Mean**: 23_917_158 -- **Median**: 1_018_593 -- **Standard Deviation**: 48_806_379 +- **Count**: 1_289 +- **Mean**: 92_258_471 +- **Median**: 1_114_393 +- **Standard Deviation**: 530_621_254 - **Min**: 84_524 -- **Max**: 168_239_538 -- **Baseline Weighted Efficiency Score**: 364_744 +- **Max**: 5_594_040_442 +- **Baseline Weighted Efficiency Score**: 9_610_879 Performance changes from `0.25.0-dev` to `0.25.0-pre-bifurcation`: -- Baseline Weighted Efficiency Score: -8.76% -- Average Score: -2784.46% -- Median Score: -10.69% +- Baseline Weighted Efficiency Score: -29.40% +- Average Score: -30.85% +- Median Score: 5.98% - Min Score: 1.24% -## Statistical Analysis - -- Within 1 standard deviation (84_524 to 72_723_538 instructions), approximately 813 of the methods fall in this range -- Within 2 standard deviations (84_524 to 121_529_917 instructions), approximately 1_136 of the methods fall in this range -- Within 3 standard deviations (84_524 to 168_239_538 instructions), approximately 1_187 of the methods fall in this range - ### Efficiency Insights -- The codebase is performing below baseline expectations with an efficiency score of 364_744 -- The average instruction count is 23_917_158 -- The median instruction count is 1_018_593 -- The range of instructions spans from 84_524 to 168_239_538 +- The codebase is performing below baseline expectations with an efficiency score of 9_610_879 +- The average instruction count is 92_258_471 +- The median instruction count is 1_114_393 +- The range of instructions spans from 84_524 to 5_594_040_442 --- diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index b75bf362ae..6a7983ddc5 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -34,7 +34,7 @@ export async function reportResults( function analyzeResults(stats: Statistics): string { // Add efficiency analysis - let analysis = '\n### Efficiency Insights\n\n'; + let analysis = '### Efficiency Insights\n\n'; const efficiencyScore = stats.baselineWeightedEfficiencyScore; let efficiencyAnalysis = ''; From b78c45268e4898fd595c935dfd370b8a0ada52c9 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Mon, 16 Dec 2024 16:30:23 -0700 Subject: [PATCH 15/32] clean up --- benchmark_stats.json | 24 +- benchmark_stats.md | 31 +-- scripts/analyze_benchmarks/index.ts | 6 +- scripts/analyze_benchmarks/reporter.ts | 48 +--- scripts/analyze_benchmarks/statistics.ts | 54 ++--- .../analyze_benchmarks/validate_versions.ts | 213 +++++++++++------- 6 files changed, 176 insertions(+), 200 deletions(-) diff --git a/benchmark_stats.json b/benchmark_stats.json index f3db9b9301..48dc99f360 100644 --- a/benchmark_stats.json +++ b/benchmark_stats.json @@ -1,20 +1,20 @@ { "0.25.0-dev": { - "count": 1289, - "mean": 92258471.74941815, - "median": 1114393, - "standardDeviation": 530621254.60251206, + "count": 1356, + "mean": 618168541.4011799, + "median": 1332409.5, + "standardDeviation": 2444766278.71625, "min": 84524, - "max": 5594040442, - "baselineWeightedEfficiencyScore": 9610879.474941816 + "max": 19060732880, + "baselineWeightedEfficiencyScore": 62267291.390117995 }, "0.25.0-pre-bifurcation": { - "count": 1245, - "mean": 120719733.4875502, - "median": 1047702, - "standardDeviation": 731125022.9003621, + "count": 1310, + "mean": 652556137.521374, + "median": 1124780, + "standardDeviation": 2492467966.3263373, "min": 83475, - "max": 8135798587, - "baselineWeightedEfficiencyScore": 12436368.94875502 + "max": 18422514685, + "baselineWeightedEfficiencyScore": 65643132.7521374 } } diff --git a/benchmark_stats.md b/benchmark_stats.md index 4cd607e438..3c6c15a5ba 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -1,28 +1,21 @@ -# Benchmark Results (2024-12-13) +# Benchmark Results (2024-12-16) ## Version Results (`0.25.0-dev`) -- **Count**: 1_289 -- **Mean**: 92_258_471 -- **Median**: 1_114_393 -- **Standard Deviation**: 530_621_254 -- **Min**: 84_524 -- **Max**: 5_594_040_442 -- **Baseline Weighted Efficiency Score**: 9_610_879 +- **Count**: 1_356 +- **Mean**: 618_168_541 +- **Median**: 1_332_409 +- **Standard Deviation**: 2_444_766_278 +- **Min**: 84_524 +- **Max**: 19_060_732_880 +- **Baseline Weighted Efficiency Score**: 62_267_291 Performance changes from `0.25.0-dev` to `0.25.0-pre-bifurcation`: -- Baseline Weighted Efficiency Score: -29.40% -- Average Score: -30.85% -- Median Score: 5.98% -- Min Score: 1.24% - -### Efficiency Insights - -- The codebase is performing below baseline expectations with an efficiency score of 9_610_879 -- The average instruction count is 92_258_471 -- The median instruction count is 1_114_393 -- The range of instructions spans from 84_524 to 5_594_040_442 +- Baseline Weighted Efficiency Score: -5.42% +- Average Score: -5.56% +- Median Score: 15.58% +- Min Score: 1.24% --- diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index 0e54e1a5de..ddcb16a5bd 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -7,7 +7,7 @@ import { calculateVersionStatistics, Statistics } from './statistics'; async function analyzeBenchmarksForVersion( targetVersion: string -): Promise<[Statistics, Statistics]> { +): Promise { const benchmarkFilePaths = await findBenchmarkFiles(AZLE_PACKAGE_PATH); const benchmarkEntriesByVersion = @@ -19,9 +19,9 @@ async function analyzeBenchmarksForVersion( function runBenchmarkAnalysis(specifiedVersion?: string): void { const versionToAnalyze = specifiedVersion ?? currentAzleVersion; - console.log('Analyzing benchmarks...'); + console.info('Analyzing benchmarks...'); analyzeBenchmarksForVersion(versionToAnalyze).then((statistics) => - reportResults(statistics[1], versionToAnalyze) + reportResults(statistics, versionToAnalyze) ); } diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 6a7983ddc5..ced6249a6a 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -15,60 +15,24 @@ export async function reportResults( const allResults: Record = JSON.parse(fileContent); const updatedResults = { ...allResults, [version]: results }; - await writeFile(RESULTS_FILE, JSON.stringify(updatedResults, null, 2)); + await writeFile(RESULTS_FILE, JSON.stringify(updatedResults, null, 4)); const comparisonResults = compareChanges(updatedResults); - const analysis = analyzeResults(results); const markdownContent = generateMarkdownReport( version, results, - comparisonResults, - analysis + comparisonResults ); await writeFile(MARKDOWN_FILE, markdownContent); - // Still log to console for immediate feedback - console.log(`Report generated at ${MARKDOWN_FILE}`); -} - -function analyzeResults(stats: Statistics): string { - // Add efficiency analysis - let analysis = '### Efficiency Insights\n\n'; - const efficiencyScore = stats.baselineWeightedEfficiencyScore; - let efficiencyAnalysis = ''; - - if (efficiencyScore < 100) { - efficiencyAnalysis = - 'The codebase is performing better than the baseline'; - } else if (efficiencyScore === 100) { - efficiencyAnalysis = 'The codebase is performing at baseline levels'; - } else { - efficiencyAnalysis = - 'The codebase is performing below baseline expectations'; - } - - analysis += `- ${efficiencyAnalysis} with an efficiency score of ${formatNumber( - Math.floor(efficiencyScore) - )}\n`; - analysis += `- The average instruction count is ${formatNumber( - Math.floor(stats.mean) - )}\n`; - analysis += `- The median instruction count is ${formatNumber( - Math.floor(stats.median) - )}\n`; - analysis += `- The range of instructions spans from ${formatNumber( - Math.floor(stats.min) - )} to ${formatNumber(Math.floor(stats.max))}\n`; - - return analysis; + console.info(`Report generated at ${MARKDOWN_FILE}`); } function generateMarkdownReport( version: string, results: Statistics, - comparisonResults: string, - analysis: string + synthesis: string ): string { const timestamp = new Date().toISOString().split('T')[0]; @@ -83,9 +47,7 @@ ${Object.entries(results) ) .join('\n')} -${comparisonResults} - -${analysis} +${synthesis} --- *Report generated automatically by Azle benchmark tools* diff --git a/scripts/analyze_benchmarks/statistics.ts b/scripts/analyze_benchmarks/statistics.ts index 0ed0a3fe26..63ccd9d085 100644 --- a/scripts/analyze_benchmarks/statistics.ts +++ b/scripts/analyze_benchmarks/statistics.ts @@ -12,28 +12,15 @@ export type Statistics = { export function calculateVersionStatistics( entries: BenchmarkEntry[] -): [Statistics, Statistics] { +): Statistics { const instructions = entries.map((entry) => Number(entry.instructions.__bigint__) ); - // Calculate raw statistics - const rawStats = calculateStatistics(instructions); - - // Calculate 75th percentile - const sorted = [...instructions].sort((a, b) => a - b); - const p75Index = sorted.length * 0.95; - - // Use slice to get values >= 75th percentile - const filteredInstructions = sorted.slice(0, p75Index); - - // Calculate filtered statistics - const filteredStats = calculateStatistics(filteredInstructions); - - return [rawStats, filteredStats]; + return calculateStatistics(instructions); } -function calculateStatistics(instructions: readonly number[]): Statistics { +function calculateStatistics(instructions: number[]): Statistics { if (instructions.length === 0) { throw new Error('Cannot calculate statistics for empty array'); } @@ -53,8 +40,8 @@ function calculateStatistics(instructions: readonly number[]): Statistics { const mean = filteredInstructions.reduce((acc, val) => acc + val, 0) / filteredInstructions.length; - const mid = Math.floor(sorted.length / 2); + const mid = Math.floor(sorted.length / 2); const median = sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 @@ -66,28 +53,27 @@ function calculateStatistics(instructions: readonly number[]): Statistics { .reduce((acc, val) => acc + val, 0) / filteredInstructions.length ); + const count = filteredInstructions.length; + const min = sorted[0]; + const max = sorted[sorted.length - 1]; + const baselineWeightedEfficiencyScore = + calculateBaselineWeightEfficiencyScores(min, median, mean); + return { - count: filteredInstructions.length, + count, mean, median, standardDeviation, - min: sorted[0], - max: sorted[sorted.length - 1], - baselineWeightedEfficiencyScore: - calculateBaselineWeightEfficiencyScores({ - count: filteredInstructions.length, - mean, - median, - standardDeviation, - min: sorted[0], - max: sorted[sorted.length - 1], - baselineWeightedEfficiencyScore: 0 - }) + min, + max, + baselineWeightedEfficiencyScore }; } function calculateBaselineWeightEfficiencyScores( - stats: Readonly + min: number, + median: number, + mean: number ): number { const weights = { min: 0.6, @@ -95,9 +81,5 @@ function calculateBaselineWeightEfficiencyScores( mean: 0.1 } as const; - return ( - weights.min * stats.min + - weights.median * stats.median + - weights.mean * stats.mean - ); + return weights.min * min + weights.median * median + weights.mean * mean; } diff --git a/scripts/analyze_benchmarks/validate_versions.ts b/scripts/analyze_benchmarks/validate_versions.ts index 4c32fe83e3..5f906f1b5c 100644 --- a/scripts/analyze_benchmarks/validate_versions.ts +++ b/scripts/analyze_benchmarks/validate_versions.ts @@ -13,58 +13,141 @@ type BenchmarkIssue = { actualVersion?: string; }; +type BenchmarkEntry = { + previous?: { version: string }; + current: { version: string }; +}; + +type BenchmarkData = Record; + +function validateEntry( + filePath: string, + entry: BenchmarkEntry, + expectedCurrentVersion: string, + expectedPreviousVersion: string +): BenchmarkIssue[] { + if (entry.previous === undefined) { + return [ + { + filePath, + type: 'missing_previous', + expectedVersion: expectedPreviousVersion + } + ]; + } + + return [ + entry.previous.version !== expectedPreviousVersion && { + filePath, + type: 'wrong_previous_version', + expectedVersion: expectedPreviousVersion, + actualVersion: entry.previous.version + }, + entry.current.version !== expectedCurrentVersion && { + filePath, + type: 'wrong_current_version', + expectedVersion: expectedCurrentVersion, + actualVersion: entry.current.version + } + ].filter(Boolean) as BenchmarkIssue[]; +} + +async function validateFile( + filePath: string, + expectedCurrentVersion: string, + expectedPreviousVersion: string +): Promise { + const content = await fs.readFile(filePath, 'utf-8'); + const benchmarkData: BenchmarkData = JSON.parse(content); + + return Object.values(benchmarkData).flatMap((entry) => + validateEntry( + filePath, + entry, + expectedCurrentVersion, + expectedPreviousVersion + ) + ); +} + async function validateBenchmarkVersions( benchmarkFilePaths: string[], expectedCurrentVersion: string, expectedPreviousVersion: string ): Promise { - const issues: BenchmarkIssue[] = []; - - for (const filePath of benchmarkFilePaths) { - try { - const content = await fs.readFile(filePath, 'utf-8'); - const benchmarkData = JSON.parse(content); - - Object.values(benchmarkData).forEach((entry: any) => { - if (!entry.previous) { - issues.push({ - filePath, - type: 'missing_previous', - expectedVersion: expectedPreviousVersion - }); - return; - } - - if (entry.previous.version !== expectedPreviousVersion) { - issues.push({ - filePath, - type: 'wrong_previous_version', - expectedVersion: expectedPreviousVersion, - actualVersion: entry.previous.version - }); - } - - if (entry.current.version !== expectedCurrentVersion) { - issues.push({ - filePath, - type: 'wrong_current_version', - expectedVersion: expectedCurrentVersion, - actualVersion: entry.current.version - }); - } - }); - } catch (error) { - console.error(`Error reading/parsing file ${filePath}:`, error); - } + const allIssues = await Promise.all( + benchmarkFilePaths.map((filePath) => + validateFile( + filePath, + expectedCurrentVersion, + expectedPreviousVersion + ) + ) + ); + return allIssues.flat(); +} + +function groupIssuesByType(issues: BenchmarkIssue[]): { + missingPrevious: BenchmarkIssue[]; + wrongPrevious: BenchmarkIssue[]; + wrongCurrent: BenchmarkIssue[]; +} { + return { + missingPrevious: issues.filter( + (issue) => issue.type === 'missing_previous' + ), + wrongPrevious: issues.filter( + (issue) => issue.type === 'wrong_previous_version' + ), + wrongCurrent: issues.filter( + (issue) => issue.type === 'wrong_current_version' + ) + }; +} + +function printIssues( + groupedIssues: ReturnType, + currentVersion: string, + previousVersion: string +): void { + const { missingPrevious, wrongPrevious, wrongCurrent } = groupedIssues; + + if (missingPrevious.length > 0) { + console.warn('\nFiles missing "previous" key:'); + missingPrevious.forEach((issue) => { + console.warn(`- ${issue.filePath}`); + }); + } + + if (wrongPrevious.length > 0) { + console.warn( + `\nFiles with incorrect previous version (expected ${previousVersion}):` + ); + wrongPrevious.forEach((issue) => { + console.warn( + `- ${issue.filePath} (found version: ${issue.actualVersion})` + ); + }); + } + + if (wrongCurrent.length > 0) { + console.warn( + `\nFiles with incorrect current version (expected ${currentVersion}):` + ); + wrongCurrent.forEach((issue) => { + console.warn( + `- ${issue.filePath} (found version: ${issue.actualVersion})` + ); + }); } - return issues; + console.warn('\n'); } async function main(): Promise { const [currentVersion, previousVersion] = process.argv.slice(2); - if (!currentVersion || !previousVersion) { + if (currentVersion === undefined || previousVersion === undefined) { console.error( 'Usage: node validate_versions.js ' ); @@ -80,55 +163,11 @@ async function main(): Promise { if (issues.length > 0) { console.warn('\nWarning: Issues found in benchmark files:'); - - // Group issues by type - const missingPrevious = issues.filter( - (issue) => issue.type === 'missing_previous' - ); - const wrongPrevious = issues.filter( - (issue) => issue.type === 'wrong_previous_version' - ); - const wrongCurrent = issues.filter( - (issue) => issue.type === 'wrong_current_version' - ); - - if (missingPrevious.length > 0) { - console.warn('\nFiles missing "previous" key:'); - missingPrevious.forEach((issue) => - console.warn(`- ${issue.filePath}`) - ); - } - - if (wrongPrevious.length > 0) { - console.warn( - `\nFiles with incorrect previous version (expected ${previousVersion}):` - ); - wrongPrevious.forEach((issue) => - console.warn( - `- ${issue.filePath} (found version: ${issue.actualVersion})` - ) - ); - } - - if (wrongCurrent.length > 0) { - console.warn( - `\nFiles with incorrect current version (expected ${currentVersion}):` - ); - wrongCurrent.forEach((issue) => - console.warn( - `- ${issue.filePath} (found version: ${issue.actualVersion})` - ) - ); - } - - console.warn('\n'); + printIssues(groupIssuesByType(issues), currentVersion, previousVersion); process.exit(1); } - console.log('All benchmark versions are valid! ✨'); + console.info('All benchmark versions are valid! ✨'); } -main().catch((error) => { - console.error('Error:', error); - process.exit(1); -}); +main(); From 8d640c02b9cf9199730a7bf8cb4fd84e7fbf9db1 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 12:24:31 -0700 Subject: [PATCH 16/32] update into table --- benchmark_stats.json | 2 +- benchmark_stats.md | 35 ++++--- scripts/analyze_benchmarks/reporter.ts | 130 +++++++++++++++---------- 3 files changed, 100 insertions(+), 67 deletions(-) diff --git a/benchmark_stats.json b/benchmark_stats.json index 48dc99f360..d2789fc87a 100644 --- a/benchmark_stats.json +++ b/benchmark_stats.json @@ -3,7 +3,7 @@ "count": 1356, "mean": 618168541.4011799, "median": 1332409.5, - "standardDeviation": 2444766278.71625, + "standardDeviation": 2444766278.7162514, "min": 84524, "max": 19060732880, "baselineWeightedEfficiencyScore": 62267291.390117995 diff --git a/benchmark_stats.md b/benchmark_stats.md index 3c6c15a5ba..4690798224 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -1,21 +1,28 @@ -# Benchmark Results (2024-12-16) +# Benchmark Results -## Version Results (`0.25.0-dev`) +## Version (`0.25.0-dev`) -- **Count**: 1_356 -- **Mean**: 618_168_541 -- **Median**: 1_332_409 -- **Standard Deviation**: 2_444_766_278 -- **Min**: 84_524 -- **Max**: 19_060_732_880 -- **Baseline Weighted Efficiency Score**: 62_267_291 +| Metric | Value | Change | +| ---------------------------------- | -------------- | ---------------------------------------- | +| Count | 1_356 | 3.51% | +| Mean | 618_168_541 | -5.27% | +| Median | 1_332_409 | 18.46% | +| Standard Deviation | 2_444_766_278 | -1.91% | +| Min | 84_524 | 1.26% | +| Max | 19_060_732_880 | 3.46% | +| Baseline Weighted Efficiency Score | 62_267_291 | -5.14% | -Performance changes from `0.25.0-dev` to `0.25.0-pre-bifurcation`: +## Version (`0.25.0-pre-bifurcation`) -- Baseline Weighted Efficiency Score: -5.42% -- Average Score: -5.56% -- Median Score: 15.58% -- Min Score: 1.24% +| Metric | Value | Change | +| ---------------------------------- | -------------- | ------ | +| Count | 1_310 | 0.00% | +| Mean | 652_556_137 | 0.00% | +| Median | 1_124_780 | 0.00% | +| Standard Deviation | 2_492_467_966 | 0.00% | +| Min | 83_475 | 0.00% | +| Max | 18_422_514_685 | 0.00% | +| Baseline Weighted Efficiency Score | 65_643_132 | 0.00% | --- diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index ced6249a6a..a288c8e34a 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -10,87 +10,113 @@ const MARKDOWN_FILE = RESULTS_FILE.replace('.json', '.md'); export async function reportResults( results: Statistics, version: string +): Promise { + await updateJsonFile(results, version); + await outputMarkdownFromJson(); + console.info(`Report generated at ${MARKDOWN_FILE}`); +} + +async function updateJsonFile( + results: Statistics, + version: string ): Promise { const fileContent = await readFile(RESULTS_FILE, 'utf-8'); const allResults: Record = JSON.parse(fileContent); const updatedResults = { ...allResults, [version]: results }; await writeFile(RESULTS_FILE, JSON.stringify(updatedResults, null, 4)); +} + +async function outputMarkdownFromJson(): Promise { + const markdownContent = await generateMarkdownReport(); + await writeFile(MARKDOWN_FILE, markdownContent); +} + +async function generateMarkdownReport(): Promise { + const fileContent = await readFile(RESULTS_FILE, 'utf-8'); + const allResults: Record = JSON.parse(fileContent); - const comparisonResults = compareChanges(updatedResults); + return `# Benchmark Results - const markdownContent = generateMarkdownReport( - version, - results, - comparisonResults +${Object.entries(allResults).reduce((acc, [version, stats], index) => { + const comparison = compareChanges(allResults, index); + return ( + acc + + (acc ? '\n\n' : '') + + generateVersionTable(version, stats, comparison) ); - await writeFile(MARKDOWN_FILE, markdownContent); +}, '')} - console.info(`Report generated at ${MARKDOWN_FILE}`); +--- +*Report generated automatically by Azle benchmark tools*`; } -function generateMarkdownReport( +function generateVersionTable( version: string, results: Statistics, - synthesis: string + comparisonResults: Statistics ): string { - const timestamp = new Date().toISOString().split('T')[0]; - - return `# Benchmark Results (${timestamp}) - -## Version Results (\`${version}\`) + return `## Version (\`${version}\`) +| Metric | Value | Change | +|--------|-------|--------| ${Object.entries(results) - .map( - ([key, value]) => - `- **${camelToTitleCase(key)}**: ${formatNumber(Math.floor(value))}` - ) - .join('\n')} - -${synthesis} - ---- -*Report generated automatically by Azle benchmark tools* -`; + .map(([key, value]) => { + const change = comparisonResults[key as keyof Statistics]; + let changeText = `${change.toFixed(2)}%`; + if (change < 0) { + changeText = `${changeText}`; + } else if (change > 0) { + changeText = `${changeText}`; + } + return `| ${camelToTitleCase(key)} | ${formatNumber( + Math.floor(value) + )} | ${changeText} |`; + }) + .join('\n')}`; } -function compareChanges(results: Record): string { +function compareChanges( + results: Record, + index: number +): Statistics { const versions = Object.keys(results); - if (versions.length >= 2) { - const [previous, current] = versions.slice(-2); - const changes = calculateVersionChanges( - results[previous], - results[current] - ); - - return Object.entries(changes).reduce( - (acc, [key, value]) => - `${acc}- ${camelToTitleCase( - key.replace('Change', '') - )}: ${value.toFixed(2)}%\n`, - `\nPerformance changes from \`${previous}\` to \`${current}\`:\n` - ); + if (index + 1 < versions.length) { + const previous = versions[index + 1]; + const current = versions[index]; + return calculateVersionChanges(results[previous], results[current]); } - return ''; + // Return a Statistics object with all values set to 0 if there's no previous version + return { + baselineWeightedEfficiencyScore: 0, + mean: 0, + median: 0, + min: 0, + count: 0, + standardDeviation: 0, + max: 0 + }; } function calculateChange(prevValue: number, currValue: number): number { - return ((prevValue - currValue) / prevValue) * 100; + return ((currValue - prevValue) / prevValue) * 100; } function calculateVersionChanges( previous: Statistics, current: Statistics -): Record { - return { - baselineWeightedEfficiencyScoreChange: calculateChange( - previous.baselineWeightedEfficiencyScore, - current.baselineWeightedEfficiencyScore - ), - averageScoreChange: calculateChange(previous.mean, current.mean), - medianScoreChange: calculateChange(previous.median, current.median), - minScoreChange: calculateChange(previous.min, current.min) - }; +): Statistics { + const changes = {} as Statistics; + + // Calculate changes for all properties in Statistics + for (const key in previous) { + changes[key as keyof Statistics] = calculateChange( + previous[key as keyof Statistics], + current[key as keyof Statistics] + ); + } + + return changes; } function camelToTitleCase(camelCase: string): string { From 546fa3ae4de627d4b77adcc5864e7831c7f5140d Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 12:51:36 -0700 Subject: [PATCH 17/32] progress --- scripts/analyze_benchmarks/reporter.ts | 114 ++++++++++++++----------- 1 file changed, 62 insertions(+), 52 deletions(-) diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index a288c8e34a..bebecfd210 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -11,46 +11,56 @@ export async function reportResults( results: Statistics, version: string ): Promise { - await updateJsonFile(results, version); + await updateBenchmarkJsonFile(results, version); await outputMarkdownFromJson(); - console.info(`Report generated at ${MARKDOWN_FILE}`); } -async function updateJsonFile( - results: Statistics, - version: string -): Promise { +async function readBenchmarkJsonFile(): Promise> { const fileContent = await readFile(RESULTS_FILE, 'utf-8'); - const allResults: Record = JSON.parse(fileContent); + return JSON.parse(fileContent); +} - const updatedResults = { ...allResults, [version]: results }; - await writeFile(RESULTS_FILE, JSON.stringify(updatedResults, null, 4)); +async function updateBenchmarkJsonFile( + newResults: Statistics, + version: string +): Promise { + const previousResults = await readBenchmarkJsonFile(); + const allResults = { ...previousResults, [version]: newResults }; + await writeFile(RESULTS_FILE, JSON.stringify(allResults, null, 4)); } async function outputMarkdownFromJson(): Promise { const markdownContent = await generateMarkdownReport(); await writeFile(MARKDOWN_FILE, markdownContent); + console.info(`Report generated at ${MARKDOWN_FILE}`); } async function generateMarkdownReport(): Promise { - const fileContent = await readFile(RESULTS_FILE, 'utf-8'); - const allResults: Record = JSON.parse(fileContent); - + const benchmarksJson = await readBenchmarkJsonFile(); return `# Benchmark Results -${Object.entries(allResults).reduce((acc, [version, stats], index) => { - const comparison = compareChanges(allResults, index); - return ( - acc + - (acc ? '\n\n' : '') + - generateVersionTable(version, stats, comparison) - ); -}, '')} +${generateVersionTables(benchmarksJson)} --- *Report generated automatically by Azle benchmark tools*`; } +function generateVersionTables( + benchmarksJson: Record +): string { + return Object.entries(benchmarksJson).reduce( + (acc, [version, stats], index) => { + const comparison = compareChanges(benchmarksJson, index); + return ( + acc + + (acc === '' ? '' : '\n\n') + + generateVersionTable(version, stats, comparison) + ); + }, + '' + ); +} + function generateVersionTable( version: string, results: Statistics, @@ -60,20 +70,27 @@ function generateVersionTable( | Metric | Value | Change | |--------|-------|--------| -${Object.entries(results) - .map(([key, value]) => { - const change = comparisonResults[key as keyof Statistics]; - let changeText = `${change.toFixed(2)}%`; - if (change < 0) { - changeText = `${changeText}`; - } else if (change > 0) { - changeText = `${changeText}`; - } - return `| ${camelToTitleCase(key)} | ${formatNumber( - Math.floor(value) - )} | ${changeText} |`; - }) - .join('\n')}`; +${generateTableRows(results, comparisonResults)}`; +} + +function generateTableRows( + results: Statistics, + comparisonResults: Statistics +): string { + return Object.entries(results) + .map(([key, value]) => { + const change = comparisonResults[key as keyof Statistics]; + const metric = camelToTitleCase(key); + const formattedValue = formatNumber(Math.floor(value)); + const formattedChange = formatChangeValue(change); + return `| ${metric} | ${formattedValue} | ${formattedChange} |`; + }) + .join('\n'); +} + +function formatChangeValue(change: number): string { + if (change === 0) return `${change.toFixed(2)}%`; + return `${change.toFixed(2)}%`; } function compareChanges( @@ -106,30 +123,23 @@ function calculateVersionChanges( previous: Statistics, current: Statistics ): Statistics { - const changes = {} as Statistics; - - // Calculate changes for all properties in Statistics - for (const key in previous) { - changes[key as keyof Statistics] = calculateChange( - previous[key as keyof Statistics], - current[key as keyof Statistics] + return Object.keys(previous).reduce((changes, key) => { + const typedKey = key as keyof Statistics; + changes[typedKey] = calculateChange( + previous[typedKey], + current[typedKey] ); - } - - return changes; + return changes; + }, {} as Statistics); } function camelToTitleCase(camelCase: string): string { - // Split the camelCase string into words const words = camelCase.replace(/([A-Z])/g, ' $1').split(' '); + return words.map(capitalizeWord).join(' ').trim(); +} - // Capitalize first letter of each word and join - return words - .map( - (word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() - ) - .join(' ') - .trim(); +function capitalizeWord(word: string): string { + return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } function formatNumber(num: number): string { From e03b15fe86de2a173da10e08843a44cdf06e743d Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 13:04:47 -0700 Subject: [PATCH 18/32] pull count and bwe score out of the table --- benchmark_stats.md | 40 ++++++++++++++------------ scripts/analyze_benchmarks/reporter.ts | 18 ++++++++++-- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/benchmark_stats.md b/benchmark_stats.md index 4690798224..9cb6682342 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -2,27 +2,31 @@ ## Version (`0.25.0-dev`) -| Metric | Value | Change | -| ---------------------------------- | -------------- | ---------------------------------------- | -| Count | 1_356 | 3.51% | -| Mean | 618_168_541 | -5.27% | -| Median | 1_332_409 | 18.46% | -| Standard Deviation | 2_444_766_278 | -1.91% | -| Min | 84_524 | 1.26% | -| Max | 19_060_732_880 | 3.46% | -| Baseline Weighted Efficiency Score | 62_267_291 | -5.14% | +Benchmarks based on 1356 method executions. + +Baseline Weighted Efficiency Score: 62_267_291 (-5.14%) + +| Metric | Number of Instructions | Change | +| ------------------ | ---------------------- | ---------------------------------------- | +| Mean | 618_168_541 | -5.27% | +| Median | 1_332_409 | 18.46% | +| Standard Deviation | 2_444_766_278 | -1.91% | +| Min | 84_524 | 1.26% | +| Max | 19_060_732_880 | 3.46% | ## Version (`0.25.0-pre-bifurcation`) -| Metric | Value | Change | -| ---------------------------------- | -------------- | ------ | -| Count | 1_310 | 0.00% | -| Mean | 652_556_137 | 0.00% | -| Median | 1_124_780 | 0.00% | -| Standard Deviation | 2_492_467_966 | 0.00% | -| Min | 83_475 | 0.00% | -| Max | 18_422_514_685 | 0.00% | -| Baseline Weighted Efficiency Score | 65_643_132 | 0.00% | +Benchmarks based on 1310 method executions. + +Baseline Weighted Efficiency Score: 65_643_132 (0.00%) + +| Metric | Number of Instructions | Change | +| ------------------ | ---------------------- | ------ | +| Mean | 652_556_137 | 0.00% | +| Median | 1_124_780 | 0.00% | +| Standard Deviation | 2_492_467_966 | 0.00% | +| Min | 83_475 | 0.00% | +| Max | 18_422_514_685 | 0.00% | --- diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index bebecfd210..61736e776d 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -68,8 +68,14 @@ function generateVersionTable( ): string { return `## Version (\`${version}\`) -| Metric | Value | Change | -|--------|-------|--------| +Benchmarks based on ${results.count} method executions. + +Baseline Weighted Efficiency Score: ${formatNumber( + results.baselineWeightedEfficiencyScore + )} (${formatChangeValue(comparisonResults.baselineWeightedEfficiencyScore)}) + +| Metric | Number of Instructions | Change | +|--------|------------------------|--------| ${generateTableRows(results, comparisonResults)}`; } @@ -78,6 +84,10 @@ function generateTableRows( comparisonResults: Statistics ): string { return Object.entries(results) + .filter( + ([key]) => + key !== 'baselineWeightedEfficiencyScore' && key !== 'count' + ) .map(([key, value]) => { const change = comparisonResults[key as keyof Statistics]; const metric = camelToTitleCase(key); @@ -143,5 +153,7 @@ function capitalizeWord(word: string): string { } function formatNumber(num: number): string { - return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '_'); + return Math.floor(num) + .toString() + .replace(/\B(?=(\d{3})+(?!\d))/g, '_'); } From 631ec1e6383fab1f8c28d80f841024dd3c108870 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 13:58:35 -0700 Subject: [PATCH 19/32] split experimental and stable --- benchmark_stats.json | 50 ++++++++++---- benchmark_stats.md | 52 ++++++++------ scripts/analyze_benchmarks/index.ts | 28 ++++++-- scripts/analyze_benchmarks/reporter.ts | 93 +++++++++++++++++++------- 4 files changed, 159 insertions(+), 64 deletions(-) diff --git a/benchmark_stats.json b/benchmark_stats.json index d2789fc87a..eae16ec5ad 100644 --- a/benchmark_stats.json +++ b/benchmark_stats.json @@ -1,20 +1,42 @@ { "0.25.0-dev": { - "count": 1356, - "mean": 618168541.4011799, - "median": 1332409.5, - "standardDeviation": 2444766278.7162514, - "min": 84524, - "max": 19060732880, - "baselineWeightedEfficiencyScore": 62267291.390117995 + "stable": { + "count": 611, + "mean": 120237704.94599018, + "median": 1011216, + "standardDeviation": 1266731659.1596396, + "min": 163759, + "max": 19060732880, + "baselineWeightedEfficiencyScore": 12425390.694599018 + }, + "experimental": { + "count": 745, + "mean": 1026538663.6483221, + "median": 8922860, + "standardDeviation": 3031934484.2442517, + "min": 84524, + "max": 18426067752, + "baselineWeightedEfficiencyScore": 105381438.76483223 + } }, "0.25.0-pre-bifurcation": { - "count": 1310, - "mean": 652556137.521374, - "median": 1124780, - "standardDeviation": 2492467966.3263373, - "min": 83475, - "max": 18422514685, - "baselineWeightedEfficiencyScore": 65643132.7521374 + "stable": { + "count": 624, + "mean": 101374357.53525642, + "median": 1040987, + "standardDeviation": 1192914154.3810272, + "min": 155606, + "max": 18226207933, + "baselineWeightedEfficiencyScore": 10543095.453525642 + }, + "experimental": { + "count": 686, + "mean": 1153922654.5932944, + "median": 8920551.5, + "standardDeviation": 3168782029.724511, + "min": 83475, + "max": 18422514685, + "baselineWeightedEfficiencyScore": 118118515.90932944 + } } } diff --git a/benchmark_stats.md b/benchmark_stats.md index 9cb6682342..e89a22c502 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -1,32 +1,44 @@ # Benchmark Results -## Version (`0.25.0-dev`) +## Version `0.25.0-dev` -Benchmarks based on 1356 method executions. +Stable Benchmarks based on 611 method executions. -Baseline Weighted Efficiency Score: 62_267_291 (-5.14%) +Experimental Benchmarks based on 745 method executions. -| Metric | Number of Instructions | Change | -| ------------------ | ---------------------- | ---------------------------------------- | -| Mean | 618_168_541 | -5.27% | -| Median | 1_332_409 | 18.46% | -| Standard Deviation | 2_444_766_278 | -1.91% | -| Min | 84_524 | 1.26% | -| Max | 19_060_732_880 | 3.46% | +Baseline Weighted Efficiency Score: -## Version (`0.25.0-pre-bifurcation`) +- Stable: 12_425_390 (17.85%) -Benchmarks based on 1310 method executions. +- Experimental: 105_381_438 (-10.78%) -Baseline Weighted Efficiency Score: 65_643_132 (0.00%) +| Metric | Number of Instructions | Change | Experimental Number of Instructions | Experimental Change | +| ------------------ | ---------------------- | ---------------------------------------- | ----------------------------------- | ----------------------------------------- | +| Mean | 120_237_704 | 18.61% | 1_026_538_663 | -11.04% | +| Median | 1_011_216 | -2.86% | 8_922_860 | 0.03% | +| Standard Deviation | 1_266_731_659 | 6.19% | 3_031_934_484 | -4.32% | +| Min | 163_759 | 5.24% | 84_524 | 1.26% | +| Max | 19_060_732_880 | 4.58% | 18_426_067_752 | 0.02% | -| Metric | Number of Instructions | Change | -| ------------------ | ---------------------- | ------ | -| Mean | 652_556_137 | 0.00% | -| Median | 1_124_780 | 0.00% | -| Standard Deviation | 2_492_467_966 | 0.00% | -| Min | 83_475 | 0.00% | -| Max | 18_422_514_685 | 0.00% | +## Version `0.25.0-pre-bifurcation` + +Stable Benchmarks based on 624 method executions. + +Experimental Benchmarks based on 686 method executions. + +Baseline Weighted Efficiency Score: + +- Stable: 10_543_095 (0.00%) + +- Experimental: 118_118_515 (0.00%) + +| Metric | Number of Instructions | Change | Experimental Number of Instructions | Experimental Change | +| ------------------ | ---------------------- | ------ | ----------------------------------- | ------------------- | +| Mean | 101_374_357 | 0.00% | 1_153_922_654 | 0.00% | +| Median | 1_040_987 | 0.00% | 8_920_551 | 0.00% | +| Standard Deviation | 1_192_914_154 | 0.00% | 3_168_782_029 | 0.00% | +| Min | 155_606 | 0.00% | 83_475 | 0.00% | +| Max | 18_226_207_933 | 0.00% | 18_422_514_685 | 0.00% | --- diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index ddcb16a5bd..1b1c6c1ff4 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -1,3 +1,5 @@ +import { join } from 'path'; + import { version as currentAzleVersion } from '../../package.json'; import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; import { extractBenchmarksEntriesFromFiles } from './extractor'; @@ -7,14 +9,28 @@ import { calculateVersionStatistics, Statistics } from './statistics'; async function analyzeBenchmarksForVersion( targetVersion: string -): Promise { - const benchmarkFilePaths = await findBenchmarkFiles(AZLE_PACKAGE_PATH); +): Promise<[Statistics, Statistics]> { + const stableBenchmarkFilePaths = await findBenchmarkFiles( + join(AZLE_PACKAGE_PATH, 'examples', 'stable') + ); + const experimentalBenchmarkFilePaths = await findBenchmarkFiles( + join(AZLE_PACKAGE_PATH, 'examples', 'experimental') + ); + + const stableBenchmarkEntriesByVersion = + await extractBenchmarksEntriesFromFiles(stableBenchmarkFilePaths); + const experimentalBenchmarkEntriesByVersion = + await extractBenchmarksEntriesFromFiles(experimentalBenchmarkFilePaths); - const benchmarkEntriesByVersion = - await extractBenchmarksEntriesFromFiles(benchmarkFilePaths); - const targetVersionEntries = benchmarkEntriesByVersion[targetVersion]; + const targetVersionStableEntries = + stableBenchmarkEntriesByVersion[targetVersion]; + const targetVersionExperimentalEntries = + experimentalBenchmarkEntriesByVersion[targetVersion]; - return calculateVersionStatistics(targetVersionEntries); + return [ + calculateVersionStatistics(targetVersionStableEntries), + calculateVersionStatistics(targetVersionExperimentalEntries) + ]; } function runBenchmarkAnalysis(specifiedVersion?: string): void { diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 61736e776d..6d22ff3dbe 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -4,28 +4,38 @@ import { join } from 'path'; import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; import { Statistics } from './statistics'; +type StableOrExperimental = 'stable' | 'experimental'; + const RESULTS_FILE = join(AZLE_PACKAGE_PATH, 'benchmark_stats.json'); const MARKDOWN_FILE = RESULTS_FILE.replace('.json', '.md'); export async function reportResults( - results: Statistics, + results: [Statistics, Statistics], version: string ): Promise { await updateBenchmarkJsonFile(results, version); await outputMarkdownFromJson(); } -async function readBenchmarkJsonFile(): Promise> { +async function readBenchmarkJsonFile(): Promise< + Record> +> { const fileContent = await readFile(RESULTS_FILE, 'utf-8'); return JSON.parse(fileContent); } async function updateBenchmarkJsonFile( - newResults: Statistics, + newResults: [Statistics, Statistics], version: string ): Promise { const previousResults = await readBenchmarkJsonFile(); - const allResults = { ...previousResults, [version]: newResults }; + const allResults = { + ...previousResults, + [version]: { + stable: newResults[0], + experimental: newResults[1] + } + }; await writeFile(RESULTS_FILE, JSON.stringify(allResults, null, 4)); } @@ -46,7 +56,7 @@ ${generateVersionTables(benchmarksJson)} } function generateVersionTables( - benchmarksJson: Record + benchmarksJson: Record> ): string { return Object.entries(benchmarksJson).reduce( (acc, [version, stats], index) => { @@ -63,37 +73,57 @@ function generateVersionTables( function generateVersionTable( version: string, - results: Statistics, - comparisonResults: Statistics + results: Record, + comparisonResults: Record ): string { - return `## Version (\`${version}\`) + return `## Version \`${version}\` + +Stable Benchmarks based on ${results.stable.count} method executions. + +Experimental Benchmarks based on ${results.experimental.count} method executions. -Benchmarks based on ${results.count} method executions. +Baseline Weighted Efficiency Score: -Baseline Weighted Efficiency Score: ${formatNumber( - results.baselineWeightedEfficiencyScore - )} (${formatChangeValue(comparisonResults.baselineWeightedEfficiencyScore)}) +- Stable: ${formatNumber( + results.stable.baselineWeightedEfficiencyScore + )} (${formatChangeValue( + comparisonResults.stable.baselineWeightedEfficiencyScore + )}) -| Metric | Number of Instructions | Change | -|--------|------------------------|--------| +- Experimental: ${formatNumber( + results.experimental.baselineWeightedEfficiencyScore + )} (${formatChangeValue( + comparisonResults.experimental.baselineWeightedEfficiencyScore + )}) + +| Metric | Number of Instructions | Change | Experimental Number of Instructions | Experimental Change | +|--------|------------------------|--------|-------------------------------------|---------------------| ${generateTableRows(results, comparisonResults)}`; } function generateTableRows( - results: Statistics, - comparisonResults: Statistics + results: Record, + comparisonResults: Record ): string { - return Object.entries(results) + return Object.entries(results.stable) .filter( ([key]) => key !== 'baselineWeightedEfficiencyScore' && key !== 'count' ) .map(([key, value]) => { - const change = comparisonResults[key as keyof Statistics]; + const statsKey = key as keyof Statistics; + const stableChange = comparisonResults.stable[statsKey]; + const experimentalChange = comparisonResults.experimental[statsKey]; const metric = camelToTitleCase(key); - const formattedValue = formatNumber(Math.floor(value)); - const formattedChange = formatChangeValue(change); - return `| ${metric} | ${formattedValue} | ${formattedChange} |`; + const stableFormattedValue = formatNumber(Math.floor(value)); + const experimentalFormattedValue = formatNumber( + Math.floor(results.experimental[statsKey]) + ); + const stableFormattedChange = formatChangeValue(stableChange); + const experimentalFormattedChange = + formatChangeValue(experimentalChange); + + return `| ${metric} | ${stableFormattedValue} | ${stableFormattedChange} | ${experimentalFormattedValue} | ${experimentalFormattedChange} |`; }) .join('\n'); } @@ -104,16 +134,31 @@ function formatChangeValue(change: number): string { } function compareChanges( - results: Record, + results: Record>, index: number -): Statistics { +): Record { const versions = Object.keys(results); if (index + 1 < versions.length) { const previous = versions[index + 1]; const current = versions[index]; - return calculateVersionChanges(results[previous], results[current]); + const stable = calculateVersionChanges( + results[previous].stable, + results[current].stable + ); + const experimental = calculateVersionChanges( + results[previous].experimental, + results[current].experimental + ); + return { stable, experimental }; } // Return a Statistics object with all values set to 0 if there's no previous version + return { + stable: createDefaultStatistics(), + experimental: createDefaultStatistics() + }; +} + +function createDefaultStatistics(): Statistics { return { baselineWeightedEfficiencyScore: 0, mean: 0, From b91e915a89b5cdc4f0e15e17a39c94f17989fa4a Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 14:02:29 -0700 Subject: [PATCH 20/32] html table --- benchmark_stats.md | 112 +++++++++++++++++++++---- scripts/analyze_benchmarks/reporter.ts | 26 +++++- 2 files changed, 120 insertions(+), 18 deletions(-) diff --git a/benchmark_stats.md b/benchmark_stats.md index e89a22c502..59da501300 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -12,13 +12,55 @@ Baseline Weighted Efficiency Score: - Experimental: 105_381_438 (-10.78%) -| Metric | Number of Instructions | Change | Experimental Number of Instructions | Experimental Change | -| ------------------ | ---------------------- | ---------------------------------------- | ----------------------------------- | ----------------------------------------- | -| Mean | 120_237_704 | 18.61% | 1_026_538_663 | -11.04% | -| Median | 1_011_216 | -2.86% | 8_922_860 | 0.03% | -| Standard Deviation | 1_266_731_659 | 6.19% | 3_031_934_484 | -4.32% | -| Min | 163_759 | 5.24% | 84_524 | 1.26% | -| Max | 19_060_732_880 | 4.58% | 18_426_067_752 | 0.02% | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StableExperimental
MetricNumber of InstructionsChangeNumber of InstructionsChange
Mean120_237_70418.61%1_026_538_663-11.04%
Median1_011_216-2.86%8_922_8600.03%
Standard Deviation1_266_731_6596.19%3_031_934_484-4.32%
Min163_7595.24%84_5241.26%
Max19_060_732_8804.58%18_426_067_7520.02%
## Version `0.25.0-pre-bifurcation` @@ -32,13 +74,55 @@ Baseline Weighted Efficiency Score: - Experimental: 118_118_515 (0.00%) -| Metric | Number of Instructions | Change | Experimental Number of Instructions | Experimental Change | -| ------------------ | ---------------------- | ------ | ----------------------------------- | ------------------- | -| Mean | 101_374_357 | 0.00% | 1_153_922_654 | 0.00% | -| Median | 1_040_987 | 0.00% | 8_920_551 | 0.00% | -| Standard Deviation | 1_192_914_154 | 0.00% | 3_168_782_029 | 0.00% | -| Min | 155_606 | 0.00% | 83_475 | 0.00% | -| Max | 18_226_207_933 | 0.00% | 18_422_514_685 | 0.00% | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StableExperimental
MetricNumber of InstructionsChangeNumber of InstructionsChange
Mean101_374_3570.00%1_153_922_6540.00%
Median1_040_9870.00%8_920_5510.00%
Standard Deviation1_192_914_1540.00%3_168_782_0290.00%
Min155_6060.00%83_4750.00%
Max18_226_207_9330.00%18_422_514_6850.00%
--- diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 6d22ff3dbe..e1b819b065 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -96,9 +96,21 @@ Baseline Weighted Efficiency Score: comparisonResults.experimental.baselineWeightedEfficiencyScore )}) -| Metric | Number of Instructions | Change | Experimental Number of Instructions | Experimental Change | -|--------|------------------------|--------|-------------------------------------|---------------------| -${generateTableRows(results, comparisonResults)}`; + + + + + + + + + + + + + +${generateTableRows(results, comparisonResults)} +
StableExperimental
MetricNumber of InstructionsChangeNumber of InstructionsChange
`; } function generateTableRows( @@ -123,7 +135,13 @@ function generateTableRows( const experimentalFormattedChange = formatChangeValue(experimentalChange); - return `| ${metric} | ${stableFormattedValue} | ${stableFormattedChange} | ${experimentalFormattedValue} | ${experimentalFormattedChange} |`; + return ` + ${metric} + ${stableFormattedValue} + ${stableFormattedChange} + ${experimentalFormattedValue} + ${experimentalFormattedChange} +`; }) .join('\n'); } From 0ed1b5792bffc094e5b42a8e5c2a774446750731 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 15:21:29 -0700 Subject: [PATCH 21/32] split out markdown generation --- benchmark_stats.md | 96 ++++++++--- scripts/analyze_benchmarks/index.ts | 16 +- scripts/analyze_benchmarks/markdown.ts | 213 +++++++++++++++++++++++++ scripts/analyze_benchmarks/reporter.ts | 194 ++-------------------- 4 files changed, 304 insertions(+), 215 deletions(-) create mode 100644 scripts/analyze_benchmarks/markdown.ts diff --git a/benchmark_stats.md b/benchmark_stats.md index 59da501300..b60b0f4c5a 100644 --- a/benchmark_stats.md +++ b/benchmark_stats.md @@ -2,16 +2,6 @@ ## Version `0.25.0-dev` -Stable Benchmarks based on 611 method executions. - -Experimental Benchmarks based on 745 method executions. - -Baseline Weighted Efficiency Score: - -- Stable: 12_425_390 (17.85%) - -- Experimental: 105_381_438 (-10.78%) - @@ -20,10 +10,43 @@ Baseline Weighted Efficiency Score: - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -60,20 +83,11 @@ Baseline Weighted Efficiency Score: +
MetricNumber of InstructionsScore ChangeNumber of InstructionsScore Change
Baseline Weighted Efficiency12_425_39017.85%105_381_438-10.78%
 
CountCount
Method Executions611-2.08%7458.60%
 
Number of InstructionsNumber of Instructions
Mean18_426_067_752 0.02%
## Version `0.25.0-pre-bifurcation` -Stable Benchmarks based on 624 method executions. - -Experimental Benchmarks based on 686 method executions. - -Baseline Weighted Efficiency Score: - -- Stable: 10_543_095 (0.00%) - -- Experimental: 118_118_515 (0.00%) - @@ -82,10 +96,43 @@ Baseline Weighted Efficiency Score: - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -122,6 +169,7 @@ Baseline Weighted Efficiency Score: +
MetricNumber of InstructionsScore ChangeNumber of InstructionsScore Change
Baseline Weighted Efficiency10_543_0950.00%118_118_5150.00%
 
CountCount
Method Executions6240.00%6860.00%
 
Number of InstructionsNumber of Instructions
Mean18_422_514_685 0.00%
--- diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index 1b1c6c1ff4..9cffb78aca 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -4,12 +4,12 @@ import { version as currentAzleVersion } from '../../package.json'; import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; import { extractBenchmarksEntriesFromFiles } from './extractor'; import { findBenchmarkFiles } from './file_finder'; -import { reportResults } from './reporter'; -import { calculateVersionStatistics, Statistics } from './statistics'; +import { reportResults, StableAndExperimentalStatistics } from './reporter'; +import { calculateVersionStatistics } from './statistics'; async function analyzeBenchmarksForVersion( targetVersion: string -): Promise<[Statistics, Statistics]> { +): Promise { const stableBenchmarkFilePaths = await findBenchmarkFiles( join(AZLE_PACKAGE_PATH, 'examples', 'stable') ); @@ -27,10 +27,12 @@ async function analyzeBenchmarksForVersion( const targetVersionExperimentalEntries = experimentalBenchmarkEntriesByVersion[targetVersion]; - return [ - calculateVersionStatistics(targetVersionStableEntries), - calculateVersionStatistics(targetVersionExperimentalEntries) - ]; + return { + stable: calculateVersionStatistics(targetVersionStableEntries), + experimental: calculateVersionStatistics( + targetVersionExperimentalEntries + ) + }; } function runBenchmarkAnalysis(specifiedVersion?: string): void { diff --git a/scripts/analyze_benchmarks/markdown.ts b/scripts/analyze_benchmarks/markdown.ts new file mode 100644 index 0000000000..572cd6da3a --- /dev/null +++ b/scripts/analyze_benchmarks/markdown.ts @@ -0,0 +1,213 @@ +import { + readBenchmarkJsonFile, + StableAndExperimentalStatistics, + StableOrExperimental +} from './reporter'; +import { Statistics } from './statistics'; + +export async function generateMarkdownReport(): Promise { + const benchmarksJson = await readBenchmarkJsonFile(); + return `# Benchmark Results + +${generateVersionTables(benchmarksJson)} + +--- +*Report generated automatically by Azle benchmark tools*`; +} + +function generateVersionTables( + benchmarksJson: Record> +): string { + return Object.entries(benchmarksJson).reduce( + (acc, [version, stats], index) => { + const comparison = compareChanges(benchmarksJson, index); + return ( + acc + + (acc === '' ? '' : '\n\n') + + generateVersionTable(version, stats, comparison) + ); + }, + '' + ); +} + +function generateVersionTable( + version: string, + results: StableAndExperimentalStatistics, + comparisonResults: StableAndExperimentalStatistics +): string { + return `## Version \`${version}\` + + + + + + + +${generateBWEScoresTableRows(results, comparisonResults)} +${generateTableSpacer()} +${generateCountTableRows(results, comparisonResults)} +${generateTableSpacer()} +${generateStatsTableRows(results, comparisonResults)} +
StableExperimental
`; +} + +function generateTableSpacer(): string { + return ` +  +`; +} + +function generateCountTableRows( + results: StableAndExperimentalStatistics, + comparisonResults: StableAndExperimentalStatistics +): string { + return ` + + Count + + Count + + + + Method Executions + ${results.stable.count} + ${formatChangeValue(comparisonResults.stable.count)} + ${results.experimental.count} + ${formatChangeValue(comparisonResults.experimental.count)} +`; +} + +function generateBWEScoresTableRows( + results: StableAndExperimentalStatistics, + comparisonResults: StableAndExperimentalStatistics +): string { + return ` + Metric + Score + Change + Score + Change + + Baseline Weighted Efficiency + ${formatNumber(results.stable.baselineWeightedEfficiencyScore)} + ${formatChangeValue(comparisonResults.stable.baselineWeightedEfficiencyScore)} + ${formatNumber(results.experimental.baselineWeightedEfficiencyScore)} + ${formatChangeValue(comparisonResults.experimental.baselineWeightedEfficiencyScore)} +`; +} + +function generateStatsTableRows( + results: StableAndExperimentalStatistics, + comparisonResults: StableAndExperimentalStatistics +): string { + return ` + + Number of Instructions + + Number of Instructions + + +${Object.entries(results.stable) + .filter( + ([key]) => key !== 'count' && key !== 'baselineWeightedEfficiencyScore' + ) + .map(([key, value]) => { + const statsKey = key as keyof Statistics; + const stableChange = comparisonResults.stable[statsKey]; + const experimentalChange = comparisonResults.experimental[statsKey]; + const metric = camelToTitleCase(key); + const stableFormattedValue = formatNumber(Math.floor(value)); + const experimentalFormattedValue = formatNumber( + Math.floor(results.experimental[statsKey]) + ); + const stableFormattedChange = formatChangeValue(stableChange); + const experimentalFormattedChange = + formatChangeValue(experimentalChange); + + return ` + ${metric} + ${stableFormattedValue} + ${stableFormattedChange} + ${experimentalFormattedValue} + ${experimentalFormattedChange} +`; + }) + .join('\n')} +`; +} + +function formatChangeValue(change: number): string { + if (change === 0) return `${change.toFixed(2)}%`; + return `${change.toFixed(2)}%`; +} + +function compareChanges( + results: Record, + index: number +): StableAndExperimentalStatistics { + const versions = Object.keys(results); + if (index + 1 < versions.length) { + const previous = versions[index + 1]; + const current = versions[index]; + const stable = calculateVersionChanges( + results[previous].stable, + results[current].stable + ); + const experimental = calculateVersionChanges( + results[previous].experimental, + results[current].experimental + ); + return { stable, experimental }; + } + // Return a Statistics object with all values set to 0 if there's no previous version + return { + stable: createDefaultStatistics(), + experimental: createDefaultStatistics() + }; +} + +function createDefaultStatistics(): Statistics { + return { + baselineWeightedEfficiencyScore: 0, + mean: 0, + median: 0, + min: 0, + count: 0, + standardDeviation: 0, + max: 0 + }; +} + +function calculateChange(prevValue: number, currValue: number): number { + return ((currValue - prevValue) / prevValue) * 100; +} + +function calculateVersionChanges( + previous: Statistics, + current: Statistics +): Statistics { + return Object.keys(previous).reduce((changes, key) => { + const typedKey = key as keyof Statistics; + changes[typedKey] = calculateChange( + previous[typedKey], + current[typedKey] + ); + return changes; + }, {} as Statistics); +} + +function camelToTitleCase(camelCase: string): string { + const words = camelCase.replace(/([A-Z])/g, ' $1').split(' '); + return words.map(capitalizeWord).join(' ').trim(); +} + +function capitalizeWord(word: string): string { + return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); +} + +function formatNumber(num: number): string { + return Math.floor(num) + .toString() + .replace(/\B(?=(\d{3})+(?!\d))/g, '_'); +} diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index e1b819b065..24168b67ac 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -2,22 +2,27 @@ import { readFile, writeFile } from 'fs/promises'; import { join } from 'path'; import { AZLE_PACKAGE_PATH } from '../../src/build/stable/utils/global_paths'; +import { generateMarkdownReport } from './markdown'; import { Statistics } from './statistics'; -type StableOrExperimental = 'stable' | 'experimental'; +export type StableOrExperimental = 'stable' | 'experimental'; +export type StableAndExperimentalStatistics = { + stable: Statistics; + experimental: Statistics; +}; const RESULTS_FILE = join(AZLE_PACKAGE_PATH, 'benchmark_stats.json'); const MARKDOWN_FILE = RESULTS_FILE.replace('.json', '.md'); export async function reportResults( - results: [Statistics, Statistics], + results: StableAndExperimentalStatistics, version: string ): Promise { await updateBenchmarkJsonFile(results, version); await outputMarkdownFromJson(); } -async function readBenchmarkJsonFile(): Promise< +export async function readBenchmarkJsonFile(): Promise< Record> > { const fileContent = await readFile(RESULTS_FILE, 'utf-8'); @@ -25,16 +30,13 @@ async function readBenchmarkJsonFile(): Promise< } async function updateBenchmarkJsonFile( - newResults: [Statistics, Statistics], + newResults: StableAndExperimentalStatistics, version: string ): Promise { const previousResults = await readBenchmarkJsonFile(); const allResults = { ...previousResults, - [version]: { - stable: newResults[0], - experimental: newResults[1] - } + [version]: newResults }; await writeFile(RESULTS_FILE, JSON.stringify(allResults, null, 4)); } @@ -44,179 +46,3 @@ async function outputMarkdownFromJson(): Promise { await writeFile(MARKDOWN_FILE, markdownContent); console.info(`Report generated at ${MARKDOWN_FILE}`); } - -async function generateMarkdownReport(): Promise { - const benchmarksJson = await readBenchmarkJsonFile(); - return `# Benchmark Results - -${generateVersionTables(benchmarksJson)} - ---- -*Report generated automatically by Azle benchmark tools*`; -} - -function generateVersionTables( - benchmarksJson: Record> -): string { - return Object.entries(benchmarksJson).reduce( - (acc, [version, stats], index) => { - const comparison = compareChanges(benchmarksJson, index); - return ( - acc + - (acc === '' ? '' : '\n\n') + - generateVersionTable(version, stats, comparison) - ); - }, - '' - ); -} - -function generateVersionTable( - version: string, - results: Record, - comparisonResults: Record -): string { - return `## Version \`${version}\` - -Stable Benchmarks based on ${results.stable.count} method executions. - -Experimental Benchmarks based on ${results.experimental.count} method executions. - -Baseline Weighted Efficiency Score: - -- Stable: ${formatNumber( - results.stable.baselineWeightedEfficiencyScore - )} (${formatChangeValue( - comparisonResults.stable.baselineWeightedEfficiencyScore - )}) - -- Experimental: ${formatNumber( - results.experimental.baselineWeightedEfficiencyScore - )} (${formatChangeValue( - comparisonResults.experimental.baselineWeightedEfficiencyScore - )}) - - - - - - - - - - - - - - -${generateTableRows(results, comparisonResults)} -
StableExperimental
MetricNumber of InstructionsChangeNumber of InstructionsChange
`; -} - -function generateTableRows( - results: Record, - comparisonResults: Record -): string { - return Object.entries(results.stable) - .filter( - ([key]) => - key !== 'baselineWeightedEfficiencyScore' && key !== 'count' - ) - .map(([key, value]) => { - const statsKey = key as keyof Statistics; - const stableChange = comparisonResults.stable[statsKey]; - const experimentalChange = comparisonResults.experimental[statsKey]; - const metric = camelToTitleCase(key); - const stableFormattedValue = formatNumber(Math.floor(value)); - const experimentalFormattedValue = formatNumber( - Math.floor(results.experimental[statsKey]) - ); - const stableFormattedChange = formatChangeValue(stableChange); - const experimentalFormattedChange = - formatChangeValue(experimentalChange); - - return ` - ${metric} - ${stableFormattedValue} - ${stableFormattedChange} - ${experimentalFormattedValue} - ${experimentalFormattedChange} -`; - }) - .join('\n'); -} - -function formatChangeValue(change: number): string { - if (change === 0) return `${change.toFixed(2)}%`; - return `${change.toFixed(2)}%`; -} - -function compareChanges( - results: Record>, - index: number -): Record { - const versions = Object.keys(results); - if (index + 1 < versions.length) { - const previous = versions[index + 1]; - const current = versions[index]; - const stable = calculateVersionChanges( - results[previous].stable, - results[current].stable - ); - const experimental = calculateVersionChanges( - results[previous].experimental, - results[current].experimental - ); - return { stable, experimental }; - } - // Return a Statistics object with all values set to 0 if there's no previous version - return { - stable: createDefaultStatistics(), - experimental: createDefaultStatistics() - }; -} - -function createDefaultStatistics(): Statistics { - return { - baselineWeightedEfficiencyScore: 0, - mean: 0, - median: 0, - min: 0, - count: 0, - standardDeviation: 0, - max: 0 - }; -} - -function calculateChange(prevValue: number, currValue: number): number { - return ((currValue - prevValue) / prevValue) * 100; -} - -function calculateVersionChanges( - previous: Statistics, - current: Statistics -): Statistics { - return Object.keys(previous).reduce((changes, key) => { - const typedKey = key as keyof Statistics; - changes[typedKey] = calculateChange( - previous[typedKey], - current[typedKey] - ); - return changes; - }, {} as Statistics); -} - -function camelToTitleCase(camelCase: string): string { - const words = camelCase.replace(/([A-Z])/g, ' $1').split(' '); - return words.map(capitalizeWord).join(' ').trim(); -} - -function capitalizeWord(word: string): string { - return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); -} - -function formatNumber(num: number): string { - return Math.floor(num) - .toString() - .replace(/\B(?=(\d{3})+(?!\d))/g, '_'); -} From e507126da6dc978b9894d82ebf4134ef9eee51c5 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 15:24:32 -0700 Subject: [PATCH 22/32] clean up markdown report --- scripts/analyze_benchmarks/markdown.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/analyze_benchmarks/markdown.ts b/scripts/analyze_benchmarks/markdown.ts index 572cd6da3a..116d491cdf 100644 --- a/scripts/analyze_benchmarks/markdown.ts +++ b/scripts/analyze_benchmarks/markdown.ts @@ -21,11 +21,12 @@ function generateVersionTables( return Object.entries(benchmarksJson).reduce( (acc, [version, stats], index) => { const comparison = compareChanges(benchmarksJson, index); - return ( - acc + - (acc === '' ? '' : '\n\n') + - generateVersionTable(version, stats, comparison) + const versionTable = generateVersionTable( + version, + stats, + comparison ); + return `${acc}${versionTable}\n\n`; }, '' ); From 133a4bee6750b1ef7e4e1e1b154808e2e37ae67f Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 15:28:27 -0700 Subject: [PATCH 23/32] clean up --- scripts/analyze_benchmarks/markdown.ts | 7 ++- scripts/analyze_benchmarks/statistics.ts | 65 +++++++++++++++--------- 2 files changed, 45 insertions(+), 27 deletions(-) diff --git a/scripts/analyze_benchmarks/markdown.ts b/scripts/analyze_benchmarks/markdown.ts index 116d491cdf..777cb364ff 100644 --- a/scripts/analyze_benchmarks/markdown.ts +++ b/scripts/analyze_benchmarks/markdown.ts @@ -139,7 +139,10 @@ ${Object.entries(results.stable) } function formatChangeValue(change: number): string { - if (change === 0) return `${change.toFixed(2)}%`; + if (change === 0) { + return `${change.toFixed(2)}%`; + } + return `${change.toFixed(2)}%`; } @@ -161,7 +164,7 @@ function compareChanges( ); return { stable, experimental }; } - // Return a Statistics object with all values set to 0 if there's no previous version + return { stable: createDefaultStatistics(), experimental: createDefaultStatistics() diff --git a/scripts/analyze_benchmarks/statistics.ts b/scripts/analyze_benchmarks/statistics.ts index 63ccd9d085..730f7fadb7 100644 --- a/scripts/analyze_benchmarks/statistics.ts +++ b/scripts/analyze_benchmarks/statistics.ts @@ -10,6 +10,13 @@ export type Statistics = { baselineWeightedEfficiencyScore: number; }; +const MAX_VALID_INSTRUCTIONS = 40_000_000_000; +const EFFICIENCY_WEIGHTS = { + min: 0.6, + median: 0.3, + mean: 0.1 +} as const; + export function calculateVersionStatistics( entries: BenchmarkEntry[] ): Statistics { @@ -27,7 +34,7 @@ function calculateStatistics(instructions: number[]): Statistics { // Filter out instructions > 40 billion const filteredInstructions = instructions.filter( - (val) => val <= 40_000_000_000 + (val) => val <= MAX_VALID_INSTRUCTIONS ); if (filteredInstructions.length === 0) { @@ -37,27 +44,15 @@ function calculateStatistics(instructions: number[]): Statistics { } const sorted = [...filteredInstructions].sort((a, b) => a - b); - const mean = - filteredInstructions.reduce((acc, val) => acc + val, 0) / - filteredInstructions.length; - - const mid = Math.floor(sorted.length / 2); - const median = - sorted.length % 2 === 0 - ? (sorted[mid - 1] + sorted[mid]) / 2 - : sorted[mid]; - - const standardDeviation = Math.sqrt( - filteredInstructions - .map((value) => Math.pow(value - mean, 2)) - .reduce((acc, val) => acc + val, 0) / filteredInstructions.length - ); const count = filteredInstructions.length; const min = sorted[0]; + const median = calculateMedian(sorted); + const mean = calculateMean(filteredInstructions); + const standardDeviation = calculateStandardDeviation(filteredInstructions); const max = sorted[sorted.length - 1]; const baselineWeightedEfficiencyScore = - calculateBaselineWeightEfficiencyScores(min, median, mean); + calculateBaselineWeightEfficiencyScore(min, median, mean); return { count, @@ -70,16 +65,36 @@ function calculateStatistics(instructions: number[]): Statistics { }; } -function calculateBaselineWeightEfficiencyScores( +function calculateMean(instructions: readonly number[]): number { + return ( + instructions.reduce((acc, val) => acc + val, 0) / instructions.length + ); +} + +function calculateMedian(sorted: readonly number[]): number { + const mid = Math.floor(sorted.length / 2); + return sorted.length % 2 === 0 + ? (sorted[mid - 1] + sorted[mid]) / 2 + : sorted[mid]; +} + +function calculateStandardDeviation(instructions: readonly number[]): number { + const mean = calculateMean(instructions); + return Math.sqrt( + instructions + .map((value) => Math.pow(value - mean, 2)) + .reduce((acc, val) => acc + val, 0) / instructions.length + ); +} + +function calculateBaselineWeightEfficiencyScore( min: number, median: number, mean: number ): number { - const weights = { - min: 0.6, - median: 0.3, - mean: 0.1 - } as const; - - return weights.min * min + weights.median * median + weights.mean * mean; + return ( + EFFICIENCY_WEIGHTS.min * min + + EFFICIENCY_WEIGHTS.median * median + + EFFICIENCY_WEIGHTS.mean * mean + ); } From f2b556a2988b056de3b98164e3cfa619627f4cd0 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 15:46:27 -0700 Subject: [PATCH 24/32] add js doc --- scripts/analyze_benchmarks/extractor.ts | 15 +++++++ scripts/analyze_benchmarks/file_finder.ts | 11 ++++++ scripts/analyze_benchmarks/index.ts | 9 +++++ scripts/analyze_benchmarks/reporter.ts | 9 +++++ scripts/analyze_benchmarks/statistics.ts | 39 +++++++++++++++++-- .../analyze_benchmarks/validate_versions.ts | 22 +++++++++++ 6 files changed, 102 insertions(+), 3 deletions(-) diff --git a/scripts/analyze_benchmarks/extractor.ts b/scripts/analyze_benchmarks/extractor.ts index caa5dfcc83..da24bbe59f 100644 --- a/scripts/analyze_benchmarks/extractor.ts +++ b/scripts/analyze_benchmarks/extractor.ts @@ -21,6 +21,11 @@ type BenchmarksJson = { [canisterName: string]: CanisterBenchmark; }; +/** + * Extracts benchmark entries from multiple files and groups them by version + * @param files Array of file paths to process + * @returns A record mapping version strings to arrays of benchmark entries + */ export async function extractBenchmarksEntriesFromFiles( files: string[] ): Promise> { @@ -32,6 +37,11 @@ export async function extractBenchmarksEntriesFromFiles( return groupEntriesByVersion(versionEntries); } +/** + * Extracts benchmark entries from a single file + * @param file Path to the benchmark file + * @returns Array of tuples containing version and benchmark entry pairs + */ async function extractBenchmarkEntries( file: string ): Promise> { @@ -60,6 +70,11 @@ async function extractBenchmarkEntries( }); } +/** + * Groups benchmark entries by their version + * @param entries Array of version and benchmark entry pairs + * @returns A record mapping version strings to arrays of benchmark entries + */ function groupEntriesByVersion( entries: Array<[string, BenchmarkEntry]> ): Record { diff --git a/scripts/analyze_benchmarks/file_finder.ts b/scripts/analyze_benchmarks/file_finder.ts index ac646f4fd6..b8992d048c 100644 --- a/scripts/analyze_benchmarks/file_finder.ts +++ b/scripts/analyze_benchmarks/file_finder.ts @@ -1,6 +1,11 @@ import { readdir, stat } from 'fs/promises'; import { join } from 'path'; +/** + * Recursively finds all benchmark.json files in a directory and its subdirectories + * @param dir Directory path to search + * @returns Array of full paths to benchmark.json files + */ export async function findBenchmarkFiles(dir: string): Promise { if (dir.includes('node_modules')) { return []; @@ -12,6 +17,12 @@ export async function findBenchmarkFiles(dir: string): Promise { return itemResults.flat(); } +/** + * Processes a single item in a directory to determine if it's a benchmark file + * @param dir Parent directory path + * @param item Name of the item to process + * @returns Array of paths to benchmark files (empty if item is not a benchmark file) + */ async function processDirectoryItem( dir: string, item: string diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index 9cffb78aca..7fc030a60e 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -7,6 +7,11 @@ import { findBenchmarkFiles } from './file_finder'; import { reportResults, StableAndExperimentalStatistics } from './reporter'; import { calculateVersionStatistics } from './statistics'; +/** + * Analyzes benchmarks for a specific version across stable and experimental examples + * @param targetVersion Version string to analyze + * @returns Statistics for both stable and experimental benchmarks + */ async function analyzeBenchmarksForVersion( targetVersion: string ): Promise { @@ -35,6 +40,10 @@ async function analyzeBenchmarksForVersion( }; } +/** + * Runs the benchmark analysis for a specified version or current version + * @param specifiedVersion Optional version to analyze. If not provided, uses current package version + */ function runBenchmarkAnalysis(specifiedVersion?: string): void { const versionToAnalyze = specifiedVersion ?? currentAzleVersion; console.info('Analyzing benchmarks...'); diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 24168b67ac..4237a270bd 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -14,6 +14,11 @@ export type StableAndExperimentalStatistics = { const RESULTS_FILE = join(AZLE_PACKAGE_PATH, 'benchmark_stats.json'); const MARKDOWN_FILE = RESULTS_FILE.replace('.json', '.md'); +/** + * Reports benchmark results by updating JSON file and generating markdown report + * @param results Statistics for stable and experimental benchmarks + * @param version Version string for the results + */ export async function reportResults( results: StableAndExperimentalStatistics, version: string @@ -22,6 +27,10 @@ export async function reportResults( await outputMarkdownFromJson(); } +/** + * Reads the benchmark statistics from the JSON file + * @returns Record of version-keyed benchmark statistics + */ export async function readBenchmarkJsonFile(): Promise< Record> > { diff --git a/scripts/analyze_benchmarks/statistics.ts b/scripts/analyze_benchmarks/statistics.ts index 730f7fadb7..8ece2f376e 100644 --- a/scripts/analyze_benchmarks/statistics.ts +++ b/scripts/analyze_benchmarks/statistics.ts @@ -17,6 +17,11 @@ const EFFICIENCY_WEIGHTS = { mean: 0.1 } as const; +/** + * Calculates statistics for a set of benchmark entries + * @param entries Array of benchmark entries to analyze + * @returns Statistical analysis of the benchmark data + */ export function calculateVersionStatistics( entries: BenchmarkEntry[] ): Statistics { @@ -27,6 +32,12 @@ export function calculateVersionStatistics( return calculateStatistics(instructions); } +/** + * Calculates statistical measures for an array of instruction counts + * @param instructions Array of instruction counts + * @returns Statistical analysis including mean, median, standard deviation, etc. + * @throws Error if input array is empty or contains no valid instructions + */ function calculateStatistics(instructions: number[]): Statistics { if (instructions.length === 0) { throw new Error('Cannot calculate statistics for empty array'); @@ -65,20 +76,35 @@ function calculateStatistics(instructions: number[]): Statistics { }; } -function calculateMean(instructions: readonly number[]): number { +/** + * Calculates the mean of an array of numbers + * @param instructions Array of instruction counts + * @returns Arithmetic mean + */ +function calculateMean(instructions: number[]): number { return ( instructions.reduce((acc, val) => acc + val, 0) / instructions.length ); } -function calculateMedian(sorted: readonly number[]): number { +/** + * Calculates the median of a sorted array of numbers + * @param sorted Sorted array of numbers + * @returns Median value + */ +function calculateMedian(sorted: number[]): number { const mid = Math.floor(sorted.length / 2); return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid]; } -function calculateStandardDeviation(instructions: readonly number[]): number { +/** + * Calculates the standard deviation of an array of numbers + * @param instructions Array of instruction counts + * @returns Standard deviation + */ +function calculateStandardDeviation(instructions: number[]): number { const mean = calculateMean(instructions); return Math.sqrt( instructions @@ -87,6 +113,13 @@ function calculateStandardDeviation(instructions: readonly number[]): number { ); } +/** + * Calculates a weighted efficiency score based on min, median, and mean values + * @param min Minimum instruction count + * @param median Median instruction count + * @param mean Mean instruction count + * @returns Weighted efficiency score + */ function calculateBaselineWeightEfficiencyScore( min: number, median: number, diff --git a/scripts/analyze_benchmarks/validate_versions.ts b/scripts/analyze_benchmarks/validate_versions.ts index 5f906f1b5c..c4eee0e8fe 100644 --- a/scripts/analyze_benchmarks/validate_versions.ts +++ b/scripts/analyze_benchmarks/validate_versions.ts @@ -20,6 +20,14 @@ type BenchmarkEntry = { type BenchmarkData = Record; +/** + * Validates benchmark entries against expected versions + * @param filePath Path to the benchmark file + * @param entry Benchmark entry to validate + * @param expectedCurrentVersion Expected current version + * @param expectedPreviousVersion Expected previous version + * @returns Array of validation issues found + */ function validateEntry( filePath: string, entry: BenchmarkEntry, @@ -52,6 +60,13 @@ function validateEntry( ].filter(Boolean) as BenchmarkIssue[]; } +/** + * Validates versions in a benchmark file + * @param filePath Path to the benchmark file + * @param expectedCurrentVersion Expected current version + * @param expectedPreviousVersion Expected previous version + * @returns Array of validation issues found + */ async function validateFile( filePath: string, expectedCurrentVersion: string, @@ -70,6 +85,13 @@ async function validateFile( ); } +/** + * Validates versions across multiple benchmark files + * @param benchmarkFilePaths Array of paths to benchmark files + * @param expectedCurrentVersion Expected current version + * @param expectedPreviousVersion Expected previous version + * @returns Array of all validation issues found + */ async function validateBenchmarkVersions( benchmarkFilePaths: string[], expectedCurrentVersion: string, From fc69d3a7183e7fba7439a1e21c256aa0f79ff904 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 16:06:23 -0700 Subject: [PATCH 25/32] add indentation --- benchmark_stats.md | 177 ----------------------- benchmark_stats.json => benchmarks.json | 0 benchmarks.md | 179 ++++++++++++++++++++++++ scripts/analyze_benchmarks/markdown.ts | 142 ++++++++++--------- scripts/analyze_benchmarks/reporter.ts | 2 +- 5 files changed, 252 insertions(+), 248 deletions(-) delete mode 100644 benchmark_stats.md rename benchmark_stats.json => benchmarks.json (100%) create mode 100644 benchmarks.md diff --git a/benchmark_stats.md b/benchmark_stats.md deleted file mode 100644 index b60b0f4c5a..0000000000 --- a/benchmark_stats.md +++ /dev/null @@ -1,177 +0,0 @@ -# Benchmark Results - -## Version `0.25.0-dev` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StableExperimental
MetricScoreChangeScoreChange
Baseline Weighted Efficiency12_425_39017.85%105_381_438-10.78%
 
CountCount
Method Executions611-2.08%7458.60%
 
Number of InstructionsNumber of Instructions
Mean120_237_70418.61%1_026_538_663-11.04%
Median1_011_216-2.86%8_922_8600.03%
Standard Deviation1_266_731_6596.19%3_031_934_484-4.32%
Min163_7595.24%84_5241.26%
Max19_060_732_8804.58%18_426_067_7520.02%
- -## Version `0.25.0-pre-bifurcation` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StableExperimental
MetricScoreChangeScoreChange
Baseline Weighted Efficiency10_543_0950.00%118_118_5150.00%
 
CountCount
Method Executions6240.00%6860.00%
 
Number of InstructionsNumber of Instructions
Mean101_374_3570.00%1_153_922_6540.00%
Median1_040_9870.00%8_920_5510.00%
Standard Deviation1_192_914_1540.00%3_168_782_0290.00%
Min155_6060.00%83_4750.00%
Max18_226_207_9330.00%18_422_514_6850.00%
- ---- - -_Report generated automatically by Azle benchmark tools_ diff --git a/benchmark_stats.json b/benchmarks.json similarity index 100% rename from benchmark_stats.json rename to benchmarks.json diff --git a/benchmarks.md b/benchmarks.md new file mode 100644 index 0000000000..fd776a056d --- /dev/null +++ b/benchmarks.md @@ -0,0 +1,179 @@ +# Benchmarks + +## Version `0.25.0-dev` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StableExperimental
MetricScoreChangeScoreChange
Baseline Weighted Efficiency12_425_39017.85%105_381_438-10.78%
 
CountCount
Method Executions611-2.08%7458.60%
 
Number of InstructionsNumber of Instructions
Mean120_237_70418.61%1_026_538_663-11.04%
Median1_011_216-2.86%8_922_8600.03%
Standard Deviation1_266_731_6596.19%3_031_934_484-4.32%
Min163_7595.24%84_5241.26%
Max19_060_732_8804.58%18_426_067_7520.02%
+ +## Version `0.25.0-pre-bifurcation` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StableExperimental
MetricScoreChangeScoreChange
Baseline Weighted Efficiency10_543_0950.00%118_118_5150.00%
 
CountCount
Method Executions6240.00%6860.00%
 
Number of InstructionsNumber of Instructions
Mean101_374_3570.00%1_153_922_6540.00%
Median1_040_9870.00%8_920_5510.00%
Standard Deviation1_192_914_1540.00%3_168_782_0290.00%
Min155_6060.00%83_4750.00%
Max18_226_207_9330.00%18_422_514_6850.00%
+ +--- + +_Report generated automatically by Azle_ diff --git a/scripts/analyze_benchmarks/markdown.ts b/scripts/analyze_benchmarks/markdown.ts index 777cb364ff..adc5993919 100644 --- a/scripts/analyze_benchmarks/markdown.ts +++ b/scripts/analyze_benchmarks/markdown.ts @@ -7,12 +7,12 @@ import { Statistics } from './statistics'; export async function generateMarkdownReport(): Promise { const benchmarksJson = await readBenchmarkJsonFile(); - return `# Benchmark Results + return `# Benchmarks ${generateVersionTables(benchmarksJson)} --- -*Report generated automatically by Azle benchmark tools*`; +*Report generated automatically by Azle*`; } function generateVersionTables( @@ -40,23 +40,23 @@ function generateVersionTable( return `## Version \`${version}\` - - - - - -${generateBWEScoresTableRows(results, comparisonResults)} -${generateTableSpacer()} -${generateCountTableRows(results, comparisonResults)} -${generateTableSpacer()} -${generateStatsTableRows(results, comparisonResults)} + + + + + + ${generateBWEScoresTableRows(results, comparisonResults)} + ${generateTableSpacer()} + ${generateCountTableRows(results, comparisonResults)} + ${generateTableSpacer()} + ${generateStatsTableRows(results, comparisonResults)}
StableExperimental
StableExperimental
`; } function generateTableSpacer(): string { return ` -  -`; +   + `; } function generateCountTableRows( @@ -64,19 +64,19 @@ function generateCountTableRows( comparisonResults: StableAndExperimentalStatistics ): string { return ` - - Count - - Count - - + + Count + + Count + + - Method Executions - ${results.stable.count} - ${formatChangeValue(comparisonResults.stable.count)} - ${results.experimental.count} - ${formatChangeValue(comparisonResults.experimental.count)} -`; + Method Executions + ${results.stable.count} + ${formatChangeValue(comparisonResults.stable.count)} + ${results.experimental.count} + ${formatChangeValue(comparisonResults.experimental.count)} + `; } function generateBWEScoresTableRows( @@ -84,18 +84,19 @@ function generateBWEScoresTableRows( comparisonResults: StableAndExperimentalStatistics ): string { return ` - Metric - Score - Change - Score - Change - - Baseline Weighted Efficiency - ${formatNumber(results.stable.baselineWeightedEfficiencyScore)} - ${formatChangeValue(comparisonResults.stable.baselineWeightedEfficiencyScore)} - ${formatNumber(results.experimental.baselineWeightedEfficiencyScore)} - ${formatChangeValue(comparisonResults.experimental.baselineWeightedEfficiencyScore)} -`; + Metric + Score + Change + Score + Change + + + Baseline Weighted Efficiency + ${formatNumber(results.stable.baselineWeightedEfficiencyScore)} + ${formatChangeValue(comparisonResults.stable.baselineWeightedEfficiencyScore)} + ${formatNumber(results.experimental.baselineWeightedEfficiencyScore)} + ${formatChangeValue(comparisonResults.experimental.baselineWeightedEfficiencyScore)} + `; } function generateStatsTableRows( @@ -103,38 +104,39 @@ function generateStatsTableRows( comparisonResults: StableAndExperimentalStatistics ): string { return ` - - Number of Instructions - - Number of Instructions - - -${Object.entries(results.stable) - .filter( - ([key]) => key !== 'count' && key !== 'baselineWeightedEfficiencyScore' - ) - .map(([key, value]) => { - const statsKey = key as keyof Statistics; - const stableChange = comparisonResults.stable[statsKey]; - const experimentalChange = comparisonResults.experimental[statsKey]; - const metric = camelToTitleCase(key); - const stableFormattedValue = formatNumber(Math.floor(value)); - const experimentalFormattedValue = formatNumber( - Math.floor(results.experimental[statsKey]) - ); - const stableFormattedChange = formatChangeValue(stableChange); - const experimentalFormattedChange = - formatChangeValue(experimentalChange); - - return ` - ${metric} - ${stableFormattedValue} - ${stableFormattedChange} - ${experimentalFormattedValue} - ${experimentalFormattedChange} -`; - }) - .join('\n')} + + Number of Instructions + + Number of Instructions + + + ${Object.entries(results.stable) + .filter( + ([key]) => + key !== 'count' && key !== 'baselineWeightedEfficiencyScore' + ) + .map(([key, value]) => { + const statsKey = key as keyof Statistics; + const stableChange = comparisonResults.stable[statsKey]; + const experimentalChange = comparisonResults.experimental[statsKey]; + const metric = camelToTitleCase(key); + const stableFormattedValue = formatNumber(Math.floor(value)); + const experimentalFormattedValue = formatNumber( + Math.floor(results.experimental[statsKey]) + ); + const stableFormattedChange = formatChangeValue(stableChange); + const experimentalFormattedChange = + formatChangeValue(experimentalChange); + + return `\t + ${metric} + ${stableFormattedValue} + ${stableFormattedChange} + ${experimentalFormattedValue} + ${experimentalFormattedChange} + `; + }) + .join('\n')} `; } diff --git a/scripts/analyze_benchmarks/reporter.ts b/scripts/analyze_benchmarks/reporter.ts index 4237a270bd..13cf1001bd 100644 --- a/scripts/analyze_benchmarks/reporter.ts +++ b/scripts/analyze_benchmarks/reporter.ts @@ -11,7 +11,7 @@ export type StableAndExperimentalStatistics = { experimental: Statistics; }; -const RESULTS_FILE = join(AZLE_PACKAGE_PATH, 'benchmark_stats.json'); +const RESULTS_FILE = join(AZLE_PACKAGE_PATH, 'benchmarks.json'); const MARKDOWN_FILE = RESULTS_FILE.replace('.json', '.md'); /** From 536bce041c981af1e583a0f904b3a59f8ecbd9af Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 16:07:45 -0700 Subject: [PATCH 26/32] correct pluralization --- scripts/analyze_benchmarks/file_finder.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/analyze_benchmarks/file_finder.ts b/scripts/analyze_benchmarks/file_finder.ts index b8992d048c..3cfc422352 100644 --- a/scripts/analyze_benchmarks/file_finder.ts +++ b/scripts/analyze_benchmarks/file_finder.ts @@ -2,9 +2,9 @@ import { readdir, stat } from 'fs/promises'; import { join } from 'path'; /** - * Recursively finds all benchmark.json files in a directory and its subdirectories + * Recursively finds all benchmarks.json files in a directory and its subdirectories * @param dir Directory path to search - * @returns Array of full paths to benchmark.json files + * @returns Array of full paths to benchmarks.json files */ export async function findBenchmarkFiles(dir: string): Promise { if (dir.includes('node_modules')) { From fea5fea64285e1c50aca07a24ff23b845ae1fc94 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 16:21:30 -0700 Subject: [PATCH 27/32] add benchmark analysis to the benchmark workflow --- .github/workflows/benchmark.yml | 58 +++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 1a549b7e10..e92cf23a1d 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -51,22 +51,37 @@ jobs: fail-fast: false matrix: benchmark_group: - - { name: 'Examples', directories: './examples' } - { - name: 'E2E Class', - directories: './tests/end_to_end/candid_rpc/class_syntax' + name: 'Stable Demo', + directories: './examples/stable/demo' } - { - name: 'E2E Functional', - directories: './tests/end_to_end/candid_rpc/functional_syntax' + name: 'Experimental Demo', + directories: './examples/experimental/demo' } - { - name: 'E2E HTTP Server', - directories: './tests/end_to_end/http_server' + name: 'Stable E2E CRPC', + directories: './examples/stable/test/end_to_end/candid_rpc' } - { - name: 'Property Class', - directories: './tests/property/candid_rpc/class_api' + name: 'Experimental E2E CRPC', + directories: './examples/experimental/test/end_to_end/candid_rpc' + } + - { + name: 'Experimental E2E HTTP Server', + directories: './examples/experimental/test/end_to_end/http_server' + } + - { + name: 'Stable Property CRPC', + directories: './examples/stable/test/property/candid_rpc' + } + - { + name: 'Experimental Property CRPC', + directories: './examples/experimental/test/property/candid_rpc' + } + - { + name: 'Stable Property IC API', + directories: './examples/stable/test/property/ic_api' } uses: ./.github/workflows/benchmark_parallel.yml secrets: @@ -91,11 +106,34 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} LASTMJS_GITHUB_TOKEN: ${{ secrets.LASTMJS_GITHUB_TOKEN }} - create-pr: + analyze-benchmarks: + name: Analyze Benchmark Results needs: - squash-branches - create-branch-prefix runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ needs.create-branch-prefix.outputs.base-branch }} + + - uses: ./.github/actions/setup_node + + - name: Analyze benchmarks + run: npx tsx scripts/analyze_benchmarks/index.ts + + - uses: ./.github/actions/commit_and_push + with: + gpg_signing_key: ${{ secrets.GPG_SIGNING_KEY }} + branch-name: ${{ needs.create-branch-prefix.outputs.base-branch }} + commit-message: 'analyze benchmark results' + create-branch: 'false' + + create-pr: + needs: + - analyze-benchmarks + - create-branch-prefix + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: From 4234f764b98689e4d8dff143bff899836eebf69a Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 16:47:23 -0700 Subject: [PATCH 28/32] make extractor more declarative --- scripts/analyze_benchmarks/extractor.ts | 55 ++++++++++++------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/scripts/analyze_benchmarks/extractor.ts b/scripts/analyze_benchmarks/extractor.ts index da24bbe59f..65150d3412 100644 --- a/scripts/analyze_benchmarks/extractor.ts +++ b/scripts/analyze_benchmarks/extractor.ts @@ -6,15 +6,14 @@ export type BenchmarkEntry = { timestamp: { __bigint__: string }; }; +type VersionBenchmarks = { + version: string; + benchmarks: BenchmarkEntry[]; +}; + type CanisterBenchmark = { - current?: { - version: string; - benchmarks: BenchmarkEntry[]; - }; - previous: { - version: string; - benchmarks: BenchmarkEntry[]; - }; + current: VersionBenchmarks; + previous: VersionBenchmarks; }; type BenchmarksJson = { @@ -29,10 +28,9 @@ type BenchmarksJson = { export async function extractBenchmarksEntriesFromFiles( files: string[] ): Promise> { - const versionEntriesArrays = await Promise.all( - files.map(extractBenchmarkEntries) - ); - const versionEntries = versionEntriesArrays.flat(); + const versionEntries = ( + await Promise.all(files.map(extractBenchmarkEntries)) + ).flat(); return groupEntriesByVersion(versionEntries); } @@ -48,28 +46,27 @@ async function extractBenchmarkEntries( const data: BenchmarksJson = JSON.parse(await readFile(file, 'utf-8')); return Object.values(data).flatMap((canisterData) => { - const currentEntries = canisterData.current - ? canisterData.current.benchmarks.map( - (benchmark) => - [canisterData.current!.version, benchmark] as [ - string, - BenchmarkEntry - ] - ) - : []; - - const previousEntries = canisterData.previous.benchmarks.map( - (benchmark) => - [canisterData.previous.version, benchmark] as [ - string, - BenchmarkEntry - ] - ); + const currentEntries = getBenchmarkEntries(canisterData.current); + const previousEntries = getBenchmarkEntries(canisterData.previous); return [...currentEntries, ...previousEntries]; }); } +/** + * Extracts benchmark entries with their versions from a VersionBenchmarks object + * @param versionBenchmarks Object containing version and its benchmark entries + * @returns Array of tuples containing version and benchmark entry pairs + */ +function getBenchmarkEntries( + versionBenchmarks: VersionBenchmarks +): [string, BenchmarkEntry][] { + return versionBenchmarks.benchmarks.map((benchmark) => [ + versionBenchmarks.version, + benchmark + ]); +} + /** * Groups benchmark entries by their version * @param entries Array of version and benchmark entry pairs From 16da7a8cb51437fcdd68264839b03f2e7acb9bb6 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Tue, 17 Dec 2024 17:02:21 -0700 Subject: [PATCH 29/32] pr fixes --- scripts/analyze_benchmarks/index.ts | 7 +++---- scripts/analyze_benchmarks/markdown.ts | 11 +++++------ scripts/analyze_benchmarks/statistics.ts | 14 +++++++------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/scripts/analyze_benchmarks/index.ts b/scripts/analyze_benchmarks/index.ts index 7fc030a60e..4f0c0c460f 100644 --- a/scripts/analyze_benchmarks/index.ts +++ b/scripts/analyze_benchmarks/index.ts @@ -44,12 +44,11 @@ async function analyzeBenchmarksForVersion( * Runs the benchmark analysis for a specified version or current version * @param specifiedVersion Optional version to analyze. If not provided, uses current package version */ -function runBenchmarkAnalysis(specifiedVersion?: string): void { +async function runBenchmarkAnalysis(specifiedVersion?: string): Promise { const versionToAnalyze = specifiedVersion ?? currentAzleVersion; console.info('Analyzing benchmarks...'); - analyzeBenchmarksForVersion(versionToAnalyze).then((statistics) => - reportResults(statistics, versionToAnalyze) - ); + const statistics = await analyzeBenchmarksForVersion(versionToAnalyze); + await reportResults(statistics, versionToAnalyze); } runBenchmarkAnalysis(process.argv[2]); diff --git a/scripts/analyze_benchmarks/markdown.ts b/scripts/analyze_benchmarks/markdown.ts index adc5993919..032a871226 100644 --- a/scripts/analyze_benchmarks/markdown.ts +++ b/scripts/analyze_benchmarks/markdown.ts @@ -194,12 +194,11 @@ function calculateVersionChanges( current: Statistics ): Statistics { return Object.keys(previous).reduce((changes, key) => { - const typedKey = key as keyof Statistics; - changes[typedKey] = calculateChange( - previous[typedKey], - current[typedKey] - ); - return changes; + const statsKey = key as keyof Statistics; + return { + ...changes, + [statsKey]: calculateChange(previous[statsKey], current[statsKey]) + }; }, {} as Statistics); } diff --git a/scripts/analyze_benchmarks/statistics.ts b/scripts/analyze_benchmarks/statistics.ts index 8ece2f376e..b26ef1cafc 100644 --- a/scripts/analyze_benchmarks/statistics.ts +++ b/scripts/analyze_benchmarks/statistics.ts @@ -11,11 +11,11 @@ export type Statistics = { }; const MAX_VALID_INSTRUCTIONS = 40_000_000_000; -const EFFICIENCY_WEIGHTS = { +const BASELINE_EFFICIENCY_WEIGHTS = { min: 0.6, median: 0.3, mean: 0.1 -} as const; +}; /** * Calculates statistics for a set of benchmark entries @@ -63,7 +63,7 @@ function calculateStatistics(instructions: number[]): Statistics { const standardDeviation = calculateStandardDeviation(filteredInstructions); const max = sorted[sorted.length - 1]; const baselineWeightedEfficiencyScore = - calculateBaselineWeightEfficiencyScore(min, median, mean); + calculateBaselineWeightedEfficiencyScore(min, median, mean); return { count, @@ -120,14 +120,14 @@ function calculateStandardDeviation(instructions: number[]): number { * @param mean Mean instruction count * @returns Weighted efficiency score */ -function calculateBaselineWeightEfficiencyScore( +function calculateBaselineWeightedEfficiencyScore( min: number, median: number, mean: number ): number { return ( - EFFICIENCY_WEIGHTS.min * min + - EFFICIENCY_WEIGHTS.median * median + - EFFICIENCY_WEIGHTS.mean * mean + BASELINE_EFFICIENCY_WEIGHTS.min * min + + BASELINE_EFFICIENCY_WEIGHTS.median * median + + BASELINE_EFFICIENCY_WEIGHTS.mean * mean ); } From aa1e33d3823610995f7c5607a03f0bfe19f5f050 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 18 Dec 2024 11:00:44 -0700 Subject: [PATCH 30/32] use semver to sort our benchmark versions --- benchmarks.json | 2 +- benchmarks.md | 2 +- .../candid_rpc/async_await/benchmarks.json | 2 +- .../candid_rpc/async_await/benchmarks.md | 12 ++++++------ .../candid_rpc/audio_recorder/benchmarks.json | 2 +- .../candid_rpc/audio_recorder/benchmarks.md | 12 ++++++------ .../candid_rpc/blob_array/benchmarks.json | 2 +- .../candid_rpc/blob_array/benchmarks.md | 12 ++++++------ .../candid_rpc/bytes/benchmarks.json | 2 +- .../end_to_end/candid_rpc/bytes/benchmarks.md | 12 ++++++------ .../candid_rpc/call_raw/benchmarks.json | 2 +- .../candid_rpc/call_raw/benchmarks.md | 12 ++++++------ .../candid_rpc/candid_encoding/benchmarks.json | 2 +- .../candid_rpc/candid_encoding/benchmarks.md | 12 ++++++------ .../candid_rpc/candid_keywords/benchmarks.json | 2 +- .../candid_rpc/candid_keywords/benchmarks.md | 12 ++++++------ .../candid_rpc/complex_init/benchmarks.json | 4 ++-- .../candid_rpc/complex_init/benchmarks.md | 14 +++++++------- .../candid_rpc/complex_types/benchmarks.json | 2 +- .../candid_rpc/complex_types/benchmarks.md | 12 ++++++------ .../composite_queries/benchmarks.json | 2 +- .../candid_rpc/composite_queries/benchmarks.md | 12 ++++++------ .../candid_rpc/counter/benchmarks.json | 2 +- .../candid_rpc/counter/benchmarks.md | 12 ++++++------ .../end_to_end/candid_rpc/date/benchmarks.json | 2 +- .../end_to_end/candid_rpc/date/benchmarks.md | 12 ++++++------ .../ethereum_json_rpc/benchmarks.json | 2 +- .../candid_rpc/ethereum_json_rpc/benchmarks.md | 12 ++++++------ .../candid_rpc/heartbeat/benchmarks.json | 4 ++-- .../candid_rpc/heartbeat/benchmarks.md | 14 +++++++------- .../candid_rpc/ic_api/benchmarks.json | 2 +- .../end_to_end/candid_rpc/ic_api/benchmarks.md | 12 ++++++------ .../candid_rpc/imports/benchmarks.json | 2 +- .../candid_rpc/imports/benchmarks.md | 12 ++++++------ .../end_to_end/candid_rpc/init/benchmarks.json | 2 +- .../end_to_end/candid_rpc/init/benchmarks.md | 12 ++++++------ .../candid_rpc/inspect_message/benchmarks.json | 2 +- .../candid_rpc/inspect_message/benchmarks.md | 12 ++++++------ .../candid_rpc/key_value_store/benchmarks.json | 2 +- .../candid_rpc/key_value_store/benchmarks.md | 12 ++++++------ .../candid_rpc/list_of_lists/benchmarks.json | 2 +- .../candid_rpc/list_of_lists/benchmarks.md | 12 ++++++------ .../management_canister/benchmarks.json | 2 +- .../management_canister/benchmarks.md | 12 ++++++------ .../candid_rpc/manual_reply/benchmarks.json | 2 +- .../candid_rpc/manual_reply/benchmarks.md | 12 ++++++------ .../motoko_examples/calc/benchmarks.json | 2 +- .../motoko_examples/calc/benchmarks.md | 12 ++++++------ .../motoko_examples/counter/benchmarks.json | 2 +- .../motoko_examples/counter/benchmarks.md | 12 ++++++------ .../motoko_examples/echo/benchmarks.json | 2 +- .../motoko_examples/echo/benchmarks.md | 12 ++++++------ .../motoko_examples/factorial/benchmarks.json | 2 +- .../motoko_examples/factorial/benchmarks.md | 12 ++++++------ .../hello-world/benchmarks.json | 2 +- .../motoko_examples/hello-world/benchmarks.md | 12 ++++++------ .../motoko_examples/hello/benchmarks.json | 2 +- .../motoko_examples/hello/benchmarks.md | 12 ++++++------ .../http_counter/benchmarks.json | 2 +- .../motoko_examples/http_counter/benchmarks.md | 12 ++++++------ .../minimal-counter-dapp/benchmarks.json | 2 +- .../minimal-counter-dapp/benchmarks.md | 12 ++++++------ .../persistent-storage/benchmarks.json | 2 +- .../persistent-storage/benchmarks.md | 12 ++++++------ .../motoko_examples/phone-book/benchmarks.json | 2 +- .../motoko_examples/phone-book/benchmarks.md | 12 ++++++------ .../motoko_examples/quicksort/benchmarks.json | 2 +- .../motoko_examples/quicksort/benchmarks.md | 12 ++++++------ .../simple-to-do/benchmarks.json | 2 +- .../motoko_examples/simple-to-do/benchmarks.md | 12 ++++++------ .../superheroes/benchmarks.json | 2 +- .../motoko_examples/superheroes/benchmarks.md | 12 ++++++------ .../threshold_ecdsa/benchmarks.json | 2 +- .../threshold_ecdsa/benchmarks.md | 12 ++++++------ .../candid_rpc/notify_raw/benchmarks.json | 4 ++-- .../candid_rpc/notify_raw/benchmarks.md | 14 +++++++------- .../candid_rpc/null_example/benchmarks.json | 2 +- .../candid_rpc/null_example/benchmarks.md | 12 ++++++------ .../candid_rpc/optional_types/benchmarks.json | 2 +- .../candid_rpc/optional_types/benchmarks.md | 12 ++++++------ .../outgoing_http_requests/benchmarks.json | 2 +- .../outgoing_http_requests/benchmarks.md | 12 ++++++------ .../pre_and_post_upgrade/benchmarks.json | 2 +- .../pre_and_post_upgrade/benchmarks.md | 12 ++++++------ .../candid_rpc/primitive_types/benchmarks.json | 2 +- .../candid_rpc/primitive_types/benchmarks.md | 12 ++++++------ .../candid_rpc/principal/benchmarks.json | 2 +- .../candid_rpc/principal/benchmarks.md | 12 ++++++------ .../candid_rpc/query/benchmarks.json | 2 +- .../end_to_end/candid_rpc/query/benchmarks.md | 12 ++++++------ .../candid_rpc/randomness/benchmarks.json | 2 +- .../candid_rpc/randomness/benchmarks.md | 12 ++++++------ .../candid_rpc/robust_imports/benchmarks.json | 2 +- .../candid_rpc/robust_imports/benchmarks.md | 12 ++++++------ .../candid_rpc/simple_erc20/benchmarks.json | 2 +- .../candid_rpc/simple_erc20/benchmarks.md | 12 ++++++------ .../simple_user_accounts/benchmarks.json | 2 +- .../simple_user_accounts/benchmarks.md | 12 ++++++------ .../benchmarks.json | 2 +- .../benchmarks.md | 12 ++++++------ .../stable_structures/benchmarks.json | 6 +++--- .../candid_rpc/stable_structures/benchmarks.md | 16 ++++++++-------- .../candid_rpc/timers/benchmarks.json | 2 +- .../end_to_end/candid_rpc/timers/benchmarks.md | 12 ++++++------ .../candid_rpc/tuple_types/benchmarks.json | 2 +- .../candid_rpc/tuple_types/benchmarks.md | 12 ++++++------ .../candid_rpc/update/benchmarks.json | 2 +- .../end_to_end/candid_rpc/update/benchmarks.md | 12 ++++++------ .../candid_rpc/vanilla_js/benchmarks.json | 2 +- .../candid_rpc/vanilla_js/benchmarks.md | 12 ++++++------ .../http_server/apollo_server/benchmarks.json | 2 +- .../http_server/apollo_server/benchmarks.md | 12 ++++++------ .../http_server/autoreload/benchmarks.json | 2 +- .../http_server/autoreload/benchmarks.md | 12 ++++++------ .../http_server/bitcoinjs_lib/benchmarks.json | 2 +- .../http_server/bitcoinjs_lib/benchmarks.md | 12 ++++++------ .../http_server/bitcore_lib/benchmarks.json | 2 +- .../http_server/bitcore_lib/benchmarks.md | 12 ++++++------ .../http_server/ethers/benchmarks.json | 2 +- .../http_server/ethers/benchmarks.md | 12 ++++++------ .../hybrid_canister/benchmarks.json | 8 ++++---- .../http_server/hybrid_canister/benchmarks.md | 18 +++++++++--------- .../http_server/large_files/benchmarks.json | 2 +- .../http_server/large_files/benchmarks.md | 12 ++++++------ .../http_server/nest/benchmarks.json | 2 +- .../end_to_end/http_server/nest/benchmarks.md | 12 ++++++------ .../open_value_sharing/benchmarks.json | 2 +- .../open_value_sharing/benchmarks.md | 12 ++++++------ .../http_server/sqlite/benchmarks.json | 2 +- .../http_server/sqlite/benchmarks.md | 12 ++++++------ .../http_server/sqlite_drizzle/benchmarks.json | 2 +- .../http_server/sqlite_drizzle/benchmarks.md | 12 ++++++------ .../http_server/sqlite_typeorm/benchmarks.json | 2 +- .../http_server/sqlite_typeorm/benchmarks.md | 12 ++++++------ .../http_server/web_assembly/benchmarks.json | 2 +- .../http_server/web_assembly/benchmarks.md | 12 ++++++------ .../stable/demo/hello_world/benchmarks.json | 2 +- examples/stable/demo/hello_world/benchmarks.md | 12 ++++++------ .../candid_rpc/async_await/benchmarks.json | 2 +- .../candid_rpc/async_await/benchmarks.md | 12 ++++++------ .../candid_rpc/audio_recorder/benchmarks.json | 2 +- .../candid_rpc/audio_recorder/benchmarks.md | 12 ++++++------ .../candid_rpc/blob_array/benchmarks.json | 2 +- .../candid_rpc/blob_array/benchmarks.md | 12 ++++++------ .../candid_rpc/bytes/benchmarks.json | 2 +- .../end_to_end/candid_rpc/bytes/benchmarks.md | 12 ++++++------ .../candid_rpc/call_raw/benchmarks.json | 2 +- .../candid_rpc/call_raw/benchmarks.md | 12 ++++++------ .../candid_rpc/candid_encoding/benchmarks.json | 2 +- .../candid_rpc/candid_encoding/benchmarks.md | 12 ++++++------ .../candid_rpc/candid_keywords/benchmarks.json | 2 +- .../candid_rpc/candid_keywords/benchmarks.md | 12 ++++++------ .../candid_rpc/canister/benchmarks.json | 2 +- .../candid_rpc/canister/benchmarks.md | 12 ++++++------ .../candid_rpc/complex_init/benchmarks.json | 4 ++-- .../candid_rpc/complex_init/benchmarks.md | 14 +++++++------- .../candid_rpc/complex_types/benchmarks.json | 2 +- .../candid_rpc/complex_types/benchmarks.md | 12 ++++++------ .../composite_queries/benchmarks.json | 2 +- .../candid_rpc/composite_queries/benchmarks.md | 12 ++++++------ .../candid_rpc/counter/benchmarks.json | 2 +- .../candid_rpc/counter/benchmarks.md | 12 ++++++------ .../cross_canister_calls/benchmarks.json | 4 ++-- .../cross_canister_calls/benchmarks.md | 14 +++++++------- .../candid_rpc/cycles/benchmarks.json | 4 ++-- .../end_to_end/candid_rpc/cycles/benchmarks.md | 14 +++++++------- .../end_to_end/candid_rpc/date/benchmarks.json | 2 +- .../end_to_end/candid_rpc/date/benchmarks.md | 12 ++++++------ .../ethereum_json_rpc/benchmarks.json | 2 +- .../candid_rpc/ethereum_json_rpc/benchmarks.md | 12 ++++++------ .../candid_rpc/func_types/benchmarks.json | 2 +- .../candid_rpc/func_types/benchmarks.md | 12 ++++++------ .../candid_rpc/heartbeat/benchmarks.json | 4 ++-- .../candid_rpc/heartbeat/benchmarks.md | 14 +++++++------- .../candid_rpc/ic_api/benchmarks.json | 2 +- .../end_to_end/candid_rpc/ic_api/benchmarks.md | 12 ++++++------ .../end_to_end/candid_rpc/icrc/benchmarks.json | 2 +- .../end_to_end/candid_rpc/icrc/benchmarks.md | 12 ++++++------ .../candid_rpc/imports/benchmarks.json | 2 +- .../candid_rpc/imports/benchmarks.md | 12 ++++++------ .../end_to_end/candid_rpc/init/benchmarks.json | 2 +- .../end_to_end/candid_rpc/init/benchmarks.md | 12 ++++++------ .../candid_rpc/inspect_message/benchmarks.json | 2 +- .../candid_rpc/inspect_message/benchmarks.md | 12 ++++++------ .../candid_rpc/key_value_store/benchmarks.json | 2 +- .../candid_rpc/key_value_store/benchmarks.md | 12 ++++++------ .../candid_rpc/ledger_canister/benchmarks.json | 2 +- .../candid_rpc/ledger_canister/benchmarks.md | 12 ++++++------ .../candid_rpc/list_of_lists/benchmarks.json | 2 +- .../candid_rpc/list_of_lists/benchmarks.md | 12 ++++++------ .../management_canister/benchmarks.json | 2 +- .../management_canister/benchmarks.md | 12 ++++++------ .../candid_rpc/manual_reply/benchmarks.json | 2 +- .../candid_rpc/manual_reply/benchmarks.md | 12 ++++++------ .../motoko_examples/calc/benchmarks.json | 2 +- .../motoko_examples/calc/benchmarks.md | 12 ++++++------ .../motoko_examples/counter/benchmarks.json | 2 +- .../motoko_examples/counter/benchmarks.md | 12 ++++++------ .../motoko_examples/echo/benchmarks.json | 2 +- .../motoko_examples/echo/benchmarks.md | 12 ++++++------ .../motoko_examples/factorial/benchmarks.json | 2 +- .../motoko_examples/factorial/benchmarks.md | 12 ++++++------ .../hello-world/benchmarks.json | 2 +- .../motoko_examples/hello-world/benchmarks.md | 12 ++++++------ .../motoko_examples/hello/benchmarks.json | 2 +- .../motoko_examples/hello/benchmarks.md | 12 ++++++------ .../minimal-counter-dapp/benchmarks.json | 2 +- .../minimal-counter-dapp/benchmarks.md | 12 ++++++------ .../persistent-storage/benchmarks.json | 2 +- .../persistent-storage/benchmarks.md | 12 ++++++------ .../motoko_examples/phone-book/benchmarks.json | 2 +- .../motoko_examples/phone-book/benchmarks.md | 12 ++++++------ .../motoko_examples/quicksort/benchmarks.json | 2 +- .../motoko_examples/quicksort/benchmarks.md | 12 ++++++------ .../simple-to-do/benchmarks.json | 2 +- .../motoko_examples/simple-to-do/benchmarks.md | 12 ++++++------ .../superheroes/benchmarks.json | 2 +- .../motoko_examples/superheroes/benchmarks.md | 12 ++++++------ .../threshold_ecdsa/benchmarks.json | 2 +- .../threshold_ecdsa/benchmarks.md | 12 ++++++------ .../motoko_examples/whoami/benchmarks.json | 2 +- .../motoko_examples/whoami/benchmarks.md | 12 ++++++------ .../candid_rpc/notify_raw/benchmarks.json | 4 ++-- .../candid_rpc/notify_raw/benchmarks.md | 14 +++++++------- .../candid_rpc/null_example/benchmarks.json | 2 +- .../candid_rpc/null_example/benchmarks.md | 12 ++++++------ .../candid_rpc/optional_types/benchmarks.json | 2 +- .../candid_rpc/optional_types/benchmarks.md | 12 ++++++------ .../outgoing_http_requests/benchmarks.json | 2 +- .../outgoing_http_requests/benchmarks.md | 12 ++++++------ .../pre_and_post_upgrade/benchmarks.json | 2 +- .../pre_and_post_upgrade/benchmarks.md | 12 ++++++------ .../candid_rpc/primitive_types/benchmarks.json | 2 +- .../candid_rpc/primitive_types/benchmarks.md | 12 ++++++------ .../candid_rpc/principal/benchmarks.json | 2 +- .../candid_rpc/principal/benchmarks.md | 12 ++++++------ .../candid_rpc/query/benchmarks.json | 2 +- .../end_to_end/candid_rpc/query/benchmarks.md | 12 ++++++------ .../candid_rpc/randomness/benchmarks.json | 2 +- .../candid_rpc/randomness/benchmarks.md | 12 ++++++------ .../candid_rpc/recursion/benchmarks.json | 4 ++-- .../candid_rpc/recursion/benchmarks.md | 14 +++++++------- .../candid_rpc/rejections/benchmarks.json | 2 +- .../candid_rpc/rejections/benchmarks.md | 12 ++++++------ .../candid_rpc/simple_erc20/benchmarks.json | 2 +- .../candid_rpc/simple_erc20/benchmarks.md | 12 ++++++------ .../simple_user_accounts/benchmarks.json | 2 +- .../simple_user_accounts/benchmarks.md | 12 ++++++------ .../benchmarks.json | 2 +- .../benchmarks.md | 12 ++++++------ .../candid_rpc/timers/benchmarks.json | 2 +- .../end_to_end/candid_rpc/timers/benchmarks.md | 12 ++++++------ .../candid_rpc/tuple_types/benchmarks.json | 2 +- .../candid_rpc/tuple_types/benchmarks.md | 12 ++++++------ .../candid_rpc/update/benchmarks.json | 2 +- .../end_to_end/candid_rpc/update/benchmarks.md | 12 ++++++------ .../candid_rpc/vanilla_js/benchmarks.json | 2 +- .../candid_rpc/vanilla_js/benchmarks.md | 12 ++++++------ package-lock.json | 8 ++++++++ package.json | 2 ++ scripts/analyze_benchmarks/markdown.ts | 11 ++++++++++- 261 files changed, 946 insertions(+), 927 deletions(-) diff --git a/benchmarks.json b/benchmarks.json index eae16ec5ad..d9fd2c4799 100644 --- a/benchmarks.json +++ b/benchmarks.json @@ -19,7 +19,7 @@ "baselineWeightedEfficiencyScore": 105381438.76483223 } }, - "0.25.0-pre-bifurcation": { + "0.25.0-alpha": { "stable": { "count": 624, "mean": 101374357.53525642, diff --git a/benchmarks.md b/benchmarks.md index fd776a056d..fc8cf110c4 100644 --- a/benchmarks.md +++ b/benchmarks.md @@ -87,7 +87,7 @@ -## Version `0.25.0-pre-bifurcation` +## Version `0.25.0-alpha` diff --git a/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.json index 796a190086..3d9c173308 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.json @@ -1,7 +1,7 @@ { "async_await": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "140032707" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.md index 8ebd455932..81e4d9ee3a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/async_await/benchmarks.md @@ -9,7 +9,7 @@ | 2 | getRandomnessSuperIndirectly | 140_168_252 | 56_657_300 | $0.0000753355 | $75.33 | +154_190 | | 3 | returnPromiseVoid | 140_137_414 | 56_644_965 | $0.0000753191 | $75.31 | +12_241 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------------------- | ------------ | ---------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json index 9a63087f37..e0e3d02094 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json @@ -1,7 +1,7 @@ { "audio_recorder": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "14169770" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md index 5452ab5da5..3231834779 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md @@ -10,7 +10,7 @@ | 3 | createRecording | 34_426_195 | 14_360_478 | $0.0000190947 | $19.09 | -498 | | 4 | deleteUser | 34_118_381 | 14_237_352 | $0.0000189310 | $18.93 | +304 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | --------------- | ------------ | ---------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.json index be34af96da..844aa90282 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.json @@ -1,6 +1,6 @@ { "blob_array": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.md index fb6489dab8..e122ff780a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/blob_array/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.json index 9a29b28f5a..62ca04a17f 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.json @@ -1,7 +1,7 @@ { "bytes_canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1970302" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.md index d1b810fdd8..502bf5755a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/bytes/benchmarks.md @@ -10,7 +10,7 @@ | 3 | getBytes | 79_931_211 | 32_562_484 | $0.0000432974 | $43.29 | +4_279 | | 4 | getBytes | 157_924_895 | 63_759_958 | $0.0000847797 | $84.77 | +2_370 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ---------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.json index e9fc0c4a58..c04743413a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.json @@ -1,7 +1,7 @@ { "call_raw": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1461529" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.md index 58c9ffef39..13f30aea57 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/call_raw/benchmarks.md @@ -7,7 +7,7 @@ | 0 | executeCallRaw | 1_462_696 | 1_175_078 | $0.0000015625 | $1.56 | +1_167 | | 1 | executeCallRaw | 1_966_368 | 1_376_547 | $0.0000018304 | $1.83 | -2_830 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json index 613f445ef8..7982a74428 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json @@ -1,6 +1,6 @@ { "candid_encoding": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md index bbbd5e8851..e02561e78b 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json index f98ff89ab3..b13a913d72 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json @@ -1,6 +1,6 @@ { "candid_keywords": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md index 69b13d8713..514feefeb5 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.json index 562f765880..47849d3f99 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.json @@ -1,7 +1,7 @@ { "complex_init": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5352215311" }, @@ -23,7 +23,7 @@ }, "rec_init": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5357331916" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.md index e81c741b3d..1a8118da9a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/complex_init/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | ----------------------------------- | | 0 | init | 5_354_643_315 | 4_142_447_326 | $0.0055080879 | $5_508.08 | +2_428_004 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -20,7 +20,7 @@ | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | --------------------------------- | | 0 | init | 5_357_850_811 | 4_143_730_324 | $0.0055097939 | $5_509.79 | +518_895 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -30,11 +30,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.json index ddb53f2e38..5cf5e7e3ba 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.json @@ -1,7 +1,7 @@ { "complex_types": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "80582078" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.md index 17e999c1ab..fa7ac48836 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/complex_types/benchmarks.md @@ -9,7 +9,7 @@ | 2 | createPost | 86_849_221 | 35_329_688 | $0.0000469768 | $46.97 | -18_190 | | 3 | createReaction | 173_151_893 | 69_850_757 | $0.0000928785 | $92.87 | +34_426 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | ---------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.json index 8b2a7fb9e1..4efa3b4183 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.json @@ -1,7 +1,7 @@ { "canister1": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [] }, "current": { diff --git a/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.md index a5c246af57..bf55dd273d 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/composite_queries/benchmarks.md @@ -7,7 +7,7 @@ | 0 | init | 5_499_208_898 | 4_200_273_559 | $0.0055849777 | $5_584.97 | | 1 | simpleUpdate | 11_963_642 | 5_375_456 | $0.0000071476 | $7.14 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -15,11 +15,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.json index 728db9ab23..db42f477cd 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.json @@ -1,7 +1,7 @@ { "counter": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1481635" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.md index cc8909589e..0c3bb6d3b9 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/counter/benchmarks.md @@ -8,7 +8,7 @@ | 1 | incrementCount | 1_455_480 | 1_172_192 | $0.0000015586 | $1.55 | +468 | | 2 | incrementCount | 1_459_299 | 1_173_719 | $0.0000015607 | $1.56 | +4_984 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.json index a4ff9ec961..92b27780c9 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.json @@ -1,6 +1,6 @@ { "date": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.md index 36972a803a..371124a860 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/date/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json index ca4ffe8cbc..50e4b395d1 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json @@ -1,7 +1,7 @@ { "ethereum_json_rpc": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5469808001" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md index e4199604c4..8eb632e16b 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md @@ -12,7 +12,7 @@ | 5 | ethGetBlockByNumber | 169_494_470 | 68_387_788 | $0.0000909332 | $90.93 | +31_827 | | 6 | ethGetBlockByNumber | 169_513_520 | 68_395_408 | $0.0000909433 | $90.94 | +101_634 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------- | ------------- | ------------- | ----------------- | @@ -28,11 +28,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.json index e17708ca71..11794da312 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.json @@ -1,7 +1,7 @@ { "heartbeat_async": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "139749330" }, @@ -1558,7 +1558,7 @@ }, "heartbeat_sync": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "91478" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.md index 9a826e9dd4..1b8be4c5be 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/heartbeat/benchmarks.md @@ -161,7 +161,7 @@ | 154 | heartbeat | 140_133_870 | 56_643_548 | $0.0000753172 | $75.31 | | | 155 | heartbeat | 140_256_025 | 56_692_410 | $0.0000753822 | $75.38 | | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ---------- | ------------- | ----------------- | @@ -504,7 +504,7 @@ | 176 | heartbeat | 86_628 | 624_651 | $0.0000008306 | $0.83 | | | 177 | heartbeat | 85_225 | 624_090 | $0.0000008298 | $0.82 | | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ------- | ------------- | ----------------- | @@ -685,11 +685,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.json index 16d7b328bc..08d758397c 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.json @@ -1,7 +1,7 @@ { "ic_api": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1678855" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.md index ba22f32df5..00b274d237 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/ic_api/benchmarks.md @@ -7,7 +7,7 @@ | 0 | dataCertificateNull | 1_674_128 | 1_259_651 | $0.0000016749 | $1.67 | -4_727 | | 1 | setCertifiedData | 1_213_309 | 1_075_323 | $0.0000014298 | $1.42 | -2_133 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.json index 64b81c350f..0386f8422b 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.json @@ -1,6 +1,6 @@ { "imports": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.md index 7d650cdd9e..e1fc70e1c7 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/imports/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.json index da16801792..a028015e57 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.json @@ -1,7 +1,7 @@ { "init": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5358645869" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.md index 16d095d2a5..193d956cdd 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/init/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | ------------------------------------- | | 0 | init | 5_357_496_684 | 4_143_588_673 | $0.0055096056 | $5_509.60 | -1_149_185 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.json index 4bbf6fab65..7c5181a06b 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.json @@ -1,7 +1,7 @@ { "inspect_message": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1054509" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.md index 6ec00b9bc2..d67bcf2126 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/inspect_message/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------ | --------- | ------------- | ----------------- | ------------------------------- | | 0 | accessible | 1_058_689 | 1_013_475 | $0.0000013476 | $1.34 | +4_180 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.json index 53352e45bd..2cd2573c97 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.json @@ -1,7 +1,7 @@ { "key_value_store": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1414666" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.md index 0561fd5a1f..d38fb4b8d9 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/key_value_store/benchmarks.md @@ -7,7 +7,7 @@ | 0 | set | 1_419_001 | 1_157_600 | $0.0000015392 | $1.53 | +4_335 | | 1 | set | 1_386_382 | 1_144_552 | $0.0000015219 | $1.52 | +503 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json index c36f38a9cb..b37c7ebfff 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json @@ -1,6 +1,6 @@ { "list_of_lists": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md index d30211cf50..31c1562e43 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.json index 77d82d3193..a6bc90a884 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.json @@ -1,7 +1,7 @@ { "management_canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [] }, "current": { diff --git a/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.md index 0ee27dd8e4..994fc3bd6e 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/management_canister/benchmarks.md @@ -33,7 +33,7 @@ | 26 | executeDeleteCanister | 142_488_904 | 57_585_561 | $0.0000765698 | $76.56 | | 27 | getRawRand | 140_227_619 | 56_681_047 | $0.0000753671 | $75.36 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -41,11 +41,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.json index 24474a1dbb..3986d6dd46 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.json @@ -1,7 +1,7 @@ { "manual_reply": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "668973" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.md index 0910d404f6..b1e61814f0 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/manual_reply/benchmarks.md @@ -19,7 +19,7 @@ | 12 | updateFloat32 | 1_029_394 | 1_001_757 | $0.0000013320 | $1.33 | -2_303 | | 13 | replyRaw | 456_194 | 772_477 | $0.0000010271 | $1.02 | +1_171 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -42,11 +42,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json index a89371a821..3ba4b68a5a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json @@ -1,7 +1,7 @@ { "calc": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1276291" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md index 8fa5530479..12e986594b 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md @@ -11,7 +11,7 @@ | 4 | clearall | 849_588 | 929_835 | $0.0000012364 | $1.23 | -587 | | 5 | add | 1_252_734 | 1_091_093 | $0.0000014508 | $1.45 | +2_115 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json index e5ebff728e..42ef99654f 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json @@ -1,7 +1,7 @@ { "counter": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "993893" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md index 8a23e5001a..d85484c2c2 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md @@ -8,7 +8,7 @@ | 1 | inc | 849_579 | 929_831 | $0.0000012364 | $1.23 | -2_313 | | 2 | inc | 850_833 | 930_333 | $0.0000012370 | $1.23 | -1_072 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json index cccc1fdcae..9ae3c50c15 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json @@ -1,6 +1,6 @@ { "echo": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md index 9b0264e92b..6ebfa015ab 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json index 0be06fff62..914851b1a4 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json @@ -1,7 +1,7 @@ { "factorial": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1248857" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md index 26dbe39d9f..d1cf31bf2c 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md @@ -10,7 +10,7 @@ | 3 | fac | 2_962_328 | 1_774_931 | $0.0000023601 | $2.36 | +10_409 | | 4 | fac | 5_503_616 | 2_791_446 | $0.0000037117 | $3.71 | -16_990 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json index f6e6940fa4..0ce9b6f0c1 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json @@ -1,6 +1,6 @@ { "hello_world": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md index a230da4646..d6c22a7607 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json index ceb0348fe9..f5ddb13ef0 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json @@ -1,6 +1,6 @@ { "hello": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md index e8a1711230..4f5dbdf021 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.json index c132e704fa..c1619f60d8 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.json @@ -1,7 +1,7 @@ { "http_counter": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5388631992" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.md index 3d884b448c..bca26d153a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/http_counter/benchmarks.md @@ -9,7 +9,7 @@ | 2 | http_request_update | 36_596_427 | 15_228_570 | $0.0000202490 | $20.24 | +21_853 | | 3 | http_request_update | 36_850_774 | 15_330_309 | $0.0000203843 | $20.38 | +72_151 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------- | ------------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json index 9448ff175d..8b18a7d7ac 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json @@ -1,7 +1,7 @@ { "minimal_dapp": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1122048" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md index 5ea1416761..959ea98562 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md @@ -9,7 +9,7 @@ | 2 | reset | 1_093_187 | 1_027_274 | $0.0000013659 | $1.36 | +1_541 | | 3 | count | 1_099_071 | 1_029_628 | $0.0000013691 | $1.36 | +824 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json index f2abaf5a0a..8f0e6e07e5 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json @@ -1,7 +1,7 @@ { "persistent_storage": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5365081297" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md index c64267c957..91cf8dee19 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | ----------------------------------- | | 0 | postUpgrade | 5_368_366_066 | 4_147_936_426 | $0.0055153866 | $5_515.38 | +3_284_769 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json index 7ab57b4819..af1e0d3620 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json @@ -1,7 +1,7 @@ { "phone_book": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "3414930" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md index 8ec41b4a4c..84c1243b14 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------ | --------- | ------------- | ----------------- | ------------------------------- | | 0 | insert | 3_414_074 | 1_955_629 | $0.0000026003 | $2.60 | -856 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json index 766191f1c1..39939e501d 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json @@ -1,6 +1,6 @@ { "quicksort": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md index 4a48a65aaa..609d2dcd73 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json index 65fe3f1b58..ea473854e7 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json @@ -1,7 +1,7 @@ { "simple_to_do": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1923734" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md index 72e4e18d60..bd5828a5c4 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md @@ -11,7 +11,7 @@ | 4 | completeTodo | 985_274 | 984_109 | $0.0000013085 | $1.30 | +2_277 | | 5 | clearCompleted | 882_112 | 942_844 | $0.0000012537 | $1.25 | +739 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json index f7d6faf6e2..c823c1d488 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json @@ -1,7 +1,7 @@ { "superheroes": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "4480732" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md index 2014b133be..678aea8229 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md @@ -11,7 +11,7 @@ | 4 | deleteHero | 1_220_028 | 1_078_011 | $0.0000014334 | $1.43 | -3_054 | | 5 | deleteHero | 1_211_339 | 1_074_535 | $0.0000014288 | $1.42 | -743 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json index afc0011f20..0ec5f3bf6f 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json @@ -1,7 +1,7 @@ { "threshold_ecdsa": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "148423098" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md index 11ab7f9a49..f1789e9ea4 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md @@ -7,7 +7,7 @@ | 0 | publicKey | 148_390_394 | 59_946_157 | $0.0000797086 | $79.70 | -32_704 | | 1 | sign | 148_548_313 | 60_009_325 | $0.0000797926 | $79.79 | -12_120 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ---------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.json index b0cf398181..7cd1601852 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.json @@ -1,7 +1,7 @@ { "canister1": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1637207" }, @@ -23,7 +23,7 @@ }, "canister2": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "865000" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.md index 3d3c9f391f..bc862d9312 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/notify_raw/benchmarks.md @@ -6,7 +6,7 @@ | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | --------------------------------- | | 0 | sendNotification | 1_634_778 | 1_243_911 | $0.0000016540 | $1.65 | -2_429 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | @@ -20,7 +20,7 @@ | --- | ------------------- | ------------ | ------- | ------------- | ----------------- | ------------------------------- | | 0 | receiveNotification | 866_190 | 936_476 | $0.0000012452 | $1.24 | +1_190 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------ | ------- | ------------- | ----------------- | @@ -30,11 +30,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.json index cc06336de3..546c8ad38a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.json @@ -1,7 +1,7 @@ { "null_example": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8986991" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.md index b50a25f864..3acf2421bb 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/null_example/benchmarks.md @@ -8,7 +8,7 @@ | 1 | setSmallNullRecord | 5_375_052 | 2_740_020 | $0.0000036433 | $3.64 | -27_102 | | 2 | setLargeNullRecord | 8_703_421 | 4_071_368 | $0.0000054136 | $5.41 | -14_709 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------------- | ------------ | --------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.json index 74a053a7d0..2ad879a4b2 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.json @@ -1,6 +1,6 @@ { "optional_types": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.md index 6678bd9a11..8ec469ba8a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/optional_types/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json index d7df08bbc7..722e9e5a99 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json @@ -1,7 +1,7 @@ { "outgoing_http_requests": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "168030994" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md index fafd360ffd..2e49e41233 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md @@ -7,7 +7,7 @@ | 0 | xkcd | 168_239_538 | 67_885_815 | $0.0000902657 | $90.26 | +208_544 | | 1 | xkcdRaw | 2_125_891 | 1_440_356 | $0.0000019152 | $1.91 | -6_621 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ---------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json index 1cae1810f5..956f6d1d4d 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json @@ -1,7 +1,7 @@ { "pre_and_post_upgrade": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5369433219" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md index e93c9b9bc3..36b5dbefd6 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | ----------------------------------- | | 0 | postUpgrade | 5_374_037_941 | 4_150_205_176 | $0.0055184033 | $5_518.40 | +4_604_722 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.json index bdf022a7cb..7b4163cc59 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.json @@ -1,6 +1,6 @@ { "primitive_types": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.md index 5fbc18d707..be95d5e18b 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/primitive_types/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.json index b455fa33c5..7b9d80e4bf 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.json @@ -1,6 +1,6 @@ { "principal": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.md index d59798767b..a5436bf3dd 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/principal/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.json index 10d1c38fe6..bd69d1a3ce 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.json @@ -1,6 +1,6 @@ { "query": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.md index 710d1599d7..e359307ad2 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/query/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.json index 83e53c8a4a..f1badca4d1 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.json @@ -1,7 +1,7 @@ { "randomness": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5874961038" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.md index 0283278d47..e682218858 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/randomness/benchmarks.md @@ -11,7 +11,7 @@ | 4 | randomNumber | 1_020_631 | 998_252 | $0.0000013273 | $1.32 | -170 | | 5 | randomNumber | 1_023_113 | 999_245 | $0.0000013287 | $1.32 | +917 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------ | ------------- | ------------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.json index 9c9c44b2ec..961b6e646d 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.json @@ -1,7 +1,7 @@ { "robust_imports": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "6251005422" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.md index 95fbcbe6b6..a33c099122 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/robust_imports/benchmarks.md @@ -139,7 +139,7 @@ | 132 | buyHoneydew | 8_936_606 | 4_164_642 | $0.0000055376 | $5.53 | | | 133 | buyHoneydew | 8_934_899 | 4_163_959 | $0.0000055367 | $5.53 | | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | --------------------- | ------------- | ------------- | ------------- | ----------------- | @@ -257,11 +257,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json index 41d97ba004..ef3849e201 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json @@ -1,7 +1,7 @@ { "simple_erc20": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "2179897" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md index a4de2114b9..addcfa0372 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md @@ -7,7 +7,7 @@ | 0 | initializeSupply | 2_180_949 | 1_462_379 | $0.0000019445 | $1.94 | +1_052 | | 1 | transfer | 1_801_014 | 1_310_405 | $0.0000017424 | $1.74 | -5_956 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json index 40c59661b7..64c095bc46 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json @@ -1,7 +1,7 @@ { "simple_user_accounts": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "3939857" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md index 75fe7122bd..88c596ffbb 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------ | --------- | ------------- | ----------------- | ------------------------------- | | 0 | createUser | 3_943_113 | 2_167_245 | $0.0000028817 | $2.88 | +3_256 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json index 317153d342..ef8853ab65 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json @@ -1,7 +1,7 @@ { "stable_b_tree_map_instruction_threshold": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "17894934617" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md index d9aa0228a7..00f2c1db94 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md @@ -8,7 +8,7 @@ | 1 | insertMediumRecord | 16_064_491_905 | 12_826_386_762 | $0.0170548617 | $17_054.86 | -7_876_295 | | 2 | insertLargeRecord | 18_426_067_752 | 14_571_017_100 | $0.0193746443 | $19_374.64 | +3_553_067 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------ | -------------- | -------------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.json index 76c908c37d..d2f371ff53 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.json @@ -1,7 +1,7 @@ { "canister1": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { @@ -121,7 +121,7 @@ }, "canister2": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { @@ -241,7 +241,7 @@ }, "canister3": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { diff --git a/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.md index 5975d4fc70..e8afc14e08 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/stable_structures/benchmarks.md @@ -11,7 +11,7 @@ | 4 | stableMap3Remove | 3_566_497 | 2_016_598 | $0.0000026814 | $2.68 | -8_742 | | 5 | stableMap4Remove | 5_486_940 | 2_784_776 | $0.0000037028 | $3.70 | -6_633 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------- | ------------- | ------------- | ----------------- | @@ -35,7 +35,7 @@ | 4 | stableMap8Remove | 1_927_100 | 1_360_840 | $0.0000018095 | $1.80 | -3_902 | | 5 | stableMap9Remove | 2_967_797 | 1_777_118 | $0.0000023630 | $2.36 | +3_001 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------- | ------------- | ------------- | ----------------- | @@ -62,7 +62,7 @@ | 7 | stableMap16Remove | 2_979_649 | 1_781_859 | $0.0000023693 | $2.36 | -1_125 | | 8 | stableMap17Remove | 3_108_645 | 1_833_458 | $0.0000024379 | $2.43 | -2_332 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------------- | ------------- | ------------- | ------------- | ----------------- | @@ -80,11 +80,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.json index 698c54a9e5..0dab99714b 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.json @@ -1,7 +1,7 @@ { "timers": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "16662690" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.md index 4bbdfb35f3..aed42c40c0 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/timers/benchmarks.md @@ -8,7 +8,7 @@ | 1 | clearTimer | 1_181_083 | 1_062_433 | $0.0000014127 | $1.41 | -1_988 | | 2 | clearTimer | 1_180_442 | 1_062_176 | $0.0000014123 | $1.41 | -2_784 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.json index de582340e8..49fa71ec07 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.json @@ -1,6 +1,6 @@ { "tuple_types": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.md index 14cacfb02b..a38167a70a 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/tuple_types/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.json index 1dd5305ac7..14ca9a1f6e 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.json @@ -1,7 +1,7 @@ { "update": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1298570" }, diff --git a/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.md index b871348738..2a71311838 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/update/benchmarks.md @@ -6,7 +6,7 @@ | --- | ------------ | ------------ | --------- | ------------- | ----------------- | ----------------------------- | | 0 | simpleUpdate | 1_298_881 | 1_109_552 | $0.0000014753 | $1.47 | +311 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------ | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json b/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json index e5f888a858..096e17a0a0 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json +++ b/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json @@ -1,6 +1,6 @@ { "vanilla_js": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md b/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md index 740b8896ec..a8a4e0aa64 100644 --- a/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md +++ b/examples/experimental/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.json b/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.json index d1af1ba18a..9e54cf84bd 100644 --- a/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.json @@ -1,7 +1,7 @@ { "apollo_server": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "11876320268" }, diff --git a/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.md b/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.md index dac89a8ff2..8cf3502bb3 100644 --- a/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/apollo_server/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | -------------- | ------------- | ------------- | ----------------- | ----------------------------------- | | 0 | init | 11_885_097_106 | 9_154_628_842 | $0.0121726353 | $12_172.63 | +8_776_838 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | -------------- | ------------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.json b/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.json index 9e330ba621..cd25d97390 100644 --- a/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.json @@ -1,7 +1,7 @@ { "autoreload": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { diff --git a/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.md b/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.md index 23f58739bc..1d07d69960 100644 --- a/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/autoreload/benchmarks.md @@ -44,7 +44,7 @@ | 37 | postUpgrade | 9_983_537_463 | 7_594_004_985 | $0.0100975206 | $10_097.52 | +144_764_746 | | 38 | postUpgrade | 9_853_900_539 | 7_542_150_215 | $0.0100285709 | $10_028.57 | +12_771_231 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -96,11 +96,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.json b/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.json index 1cc535d551..1fb9004d48 100644 --- a/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.json @@ -1,7 +1,7 @@ { "bitcoinjs_lib": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "49584121341" }, diff --git a/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.md b/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.md index c58dbc8ad4..e44915530b 100644 --- a/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/bitcoinjs_lib/benchmarks.md @@ -15,7 +15,7 @@ | 8 | http_request_update | 11_328_833_196 | 8_932_123_278 | $0.0118767764 | $11_876.77 | +334_606 | | 9 | http_request_update | 11_335_452_121 | 8_934_770_848 | $0.0118802968 | $11_880.29 | +1_069_043 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | -------------- | -------------- | ------------- | ----------------- | @@ -34,11 +34,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.json b/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.json index 5939c81e39..7bc5096b3c 100644 --- a/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.json @@ -1,7 +1,7 @@ { "bitcore_lib": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "10822163299" }, diff --git a/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.md b/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.md index 32787fbcd2..d1cedc9cd9 100644 --- a/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/bitcore_lib/benchmarks.md @@ -10,7 +10,7 @@ | 3 | http_request_update | 13_892_751_309 | 10_757_690_523 | $0.0143041784 | $14_304.17 | +63_779_524 | | 4 | http_request_update | 17_576_327_808 | 13_831_121_123 | $0.0183908268 | $18_390.82 | +5_092_071_918 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | -------------- | -------------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.json b/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.json index b5a07fbdcc..f07b5fcf36 100644 --- a/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.json @@ -1,7 +1,7 @@ { "ethers": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8135798587" }, diff --git a/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.md b/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.md index 4e79f54ede..8cb67e4756 100644 --- a/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/ethers/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | ----------------------------------- | | 0 | init | 8_137_053_096 | 6_455_411_238 | $0.0085835667 | $8_583.56 | +1_254_509 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.json b/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.json index a9001723e5..25969f53a9 100644 --- a/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.json @@ -1,7 +1,7 @@ { "server": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8135229603" }, @@ -43,7 +43,7 @@ }, "server_init_and_post_upgrade": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8146812651" }, @@ -85,7 +85,7 @@ }, "canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8136193902" }, @@ -127,7 +127,7 @@ }, "canister_init_and_post_upgrade": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8147477834" }, diff --git a/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.md b/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.md index 10b7ad24f6..ec31822fe2 100644 --- a/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/hybrid_canister/benchmarks.md @@ -8,7 +8,7 @@ | 1 | http_request_update | 44_780_337 | 18_502_134 | $0.0000246017 | $24.60 | -3_238 | | 2 | candidUpdate | 1_430_674 | 1_162_269 | $0.0000015454 | $1.54 | +3_609 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------- | ------------- | ------------- | ----------------- | @@ -26,7 +26,7 @@ | 1 | http_request_update | 45_205_098 | 18_672_039 | $0.0000248277 | $24.82 | +101_022 | | 2 | candidUpdate | 1_798_186 | 1_309_274 | $0.0000017409 | $1.74 | +4_704 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------- | ------------- | ------------- | ----------------- | @@ -44,7 +44,7 @@ | 1 | http_request_update | 44_787_036 | 18_504_814 | $0.0000246053 | $24.60 | -14_716 | | 2 | candidUpdate | 1_453_301 | 1_171_320 | $0.0000015575 | $1.55 | -215 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------- | ------------- | ------------- | ----------------- | @@ -62,7 +62,7 @@ | 1 | http_request_update | 45_228_817 | 18_681_526 | $0.0000248403 | $24.84 | +86_450 | | 2 | candidUpdate | 1_821_544 | 1_318_617 | $0.0000017533 | $1.75 | -67 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------- | ------------- | ------------- | ----------------- | @@ -74,11 +74,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.json b/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.json index 157f75f534..f680a52960 100644 --- a/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.json @@ -2,7 +2,7 @@ "backend": { "previous": { "version": "No previous benchmarks", "benchmarks": [] }, "current": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8147445070" }, diff --git a/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.md b/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.md index e0f60f6dd9..eb62300507 100644 --- a/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/large_files/benchmarks.md @@ -1,6 +1,6 @@ # Benchmarks for backend -## Current benchmarks Azle version: 0.25.0-pre-bifurcation +## Current benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -14,11 +14,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/nest/benchmarks.json b/examples/experimental/test/end_to_end/http_server/nest/benchmarks.json index 613773bd92..c758ec20ab 100644 --- a/examples/experimental/test/end_to_end/http_server/nest/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/nest/benchmarks.json @@ -1,7 +1,7 @@ { "api": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "12614239316" }, diff --git a/examples/experimental/test/end_to_end/http_server/nest/benchmarks.md b/examples/experimental/test/end_to_end/http_server/nest/benchmarks.md index 38bbbb1cda..d90a94cb2e 100644 --- a/examples/experimental/test/end_to_end/http_server/nest/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/nest/benchmarks.md @@ -21,7 +21,7 @@ | 14 | http_request_update | 44_609_194 | 18_433_677 | $0.0000245107 | $24.51 | -386 | | 15 | http_request_update | 47_974_149 | 19_779_659 | $0.0000263004 | $26.30 | -1_900 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | -------------- | ------------- | ------------- | ----------------- | @@ -46,11 +46,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.json b/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.json index 9fc71258a6..1fcde1344c 100644 --- a/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.json @@ -1,7 +1,7 @@ { "wallet": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { diff --git a/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.md b/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.md index 9c8ad4a4ca..f841dcec57 100644 --- a/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/open_value_sharing/benchmarks.md @@ -18,7 +18,7 @@ | 11 | wallet_receive | 1_723_719 | 1_279_487 | $0.0000017013 | $1.70 | -1_230 | | 12 | wallet_receive | 1_723_613 | 1_279_445 | $0.0000017012 | $1.70 | +217 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | @@ -40,11 +40,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.json b/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.json index d76cb0269f..93a8f5dec7 100644 --- a/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.json @@ -1,7 +1,7 @@ { "sqlite": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "12558654348" }, diff --git a/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.md b/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.md index 6a072dc996..b845eaa68c 100644 --- a/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/sqlite/benchmarks.md @@ -10,7 +10,7 @@ | 3 | http_request_update | 163_886_086 | 66_144_434 | $0.0000879503 | $87.95 | +19_293_804 | | 4 | http_request_update | 83_781_557 | 34_102_622 | $0.0000453452 | $45.34 | +33_932 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | -------------- | ------------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.json b/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.json index 009f951d0f..1fb32e0dfc 100644 --- a/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.json @@ -1,7 +1,7 @@ { "sqlite_drizzle": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "13187501172" }, diff --git a/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.md b/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.md index b9d9e7e654..d40ff9e35f 100644 --- a/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/sqlite_drizzle/benchmarks.md @@ -10,7 +10,7 @@ | 3 | http_request_update | 170_685_673 | 68_864_269 | $0.0000915668 | $91.56 | +94_325 | | 4 | http_request_update | 77_716_254 | 31_676_501 | $0.0000421193 | $42.11 | +56_562 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | -------------- | -------------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.json b/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.json index be167b2f22..d8ce7b118e 100644 --- a/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.json @@ -1,7 +1,7 @@ { "sqlite_typeorm": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "14074214853" }, diff --git a/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.md b/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.md index 3b79bcfd1c..ecfcf11ea3 100644 --- a/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/sqlite_typeorm/benchmarks.md @@ -10,7 +10,7 @@ | 3 | http_request_update | 170_447_905 | 68_769_162 | $0.0000914403 | $91.44 | +12_518_402 | | 4 | http_request_update | 66_898_469 | 27_349_387 | $0.0000363657 | $36.36 | -35_070 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | -------------- | -------------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.json b/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.json index ff7b095d9a..638a813c50 100644 --- a/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.json +++ b/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.json @@ -1,7 +1,7 @@ { "web_assembly": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8198292206" }, diff --git a/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.md b/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.md index ed60810423..1a05bedd9e 100644 --- a/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.md +++ b/examples/experimental/test/end_to_end/http_server/web_assembly/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | ----------------------------------- | | 0 | init | 8_203_406_473 | 6_481_952_589 | $0.0086188579 | $8_618.85 | +5_114_267 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ------------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/demo/hello_world/benchmarks.json b/examples/stable/demo/hello_world/benchmarks.json index e1e4aaca4b..61ed08c021 100644 --- a/examples/stable/demo/hello_world/benchmarks.json +++ b/examples/stable/demo/hello_world/benchmarks.json @@ -1,7 +1,7 @@ { "hello_world": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1300399" }, diff --git a/examples/stable/demo/hello_world/benchmarks.md b/examples/stable/demo/hello_world/benchmarks.md index c4bf07238f..1aac808e29 100644 --- a/examples/stable/demo/hello_world/benchmarks.md +++ b/examples/stable/demo/hello_world/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------ | --------- | ------------- | ----------------- | -------------------------------- | | 0 | setMessage | 1_338_854 | 1_125_541 | $0.0000014966 | $1.49 | +38_455 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.json index 005cc986ab..a018555aee 100644 --- a/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.json @@ -1,7 +1,7 @@ { "async_await": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1403216" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.md index 74fceddf37..c2551e348b 100644 --- a/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/async_await/benchmarks.md @@ -9,7 +9,7 @@ | 2 | getRandomnessSuperIndirectly | 1_372_516 | 1_139_006 | $0.0000015145 | $1.51 | +1_808 | | 3 | returnPromiseVoid | 1_326_092 | 1_120_436 | $0.0000014898 | $1.48 | +10_558 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------------------- | ------------ | --------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json index 1798b0916b..65ded74a77 100644 --- a/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.json @@ -1,7 +1,7 @@ { "audio_recorder": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "11210958" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md index 595c7d16b5..66e313b272 100644 --- a/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/audio_recorder/benchmarks.md @@ -10,7 +10,7 @@ | 3 | createRecording | 30_419_558 | 12_757_823 | $0.0000169637 | $16.96 | -249_376 | | 4 | deleteUser | 29_329_040 | 12_321_616 | $0.0000163837 | $16.38 | -466_399 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | --------------- | ------------ | ---------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.json index be34af96da..844aa90282 100644 --- a/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.json @@ -1,6 +1,6 @@ { "blob_array": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.md index fb6489dab8..e122ff780a 100644 --- a/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/blob_array/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.json index 3421113526..ddc7df1656 100644 --- a/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.json @@ -1,7 +1,7 @@ { "bytes_canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1927510" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.md index 2f7e68a30e..c25b262efc 100644 --- a/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/bytes/benchmarks.md @@ -10,7 +10,7 @@ | 3 | getBytes | 1_501_555_942 | 1_001_212_376 | $0.0013312821 | $1_331.28 | +1_423_700_405 | | 4 | getBytes | 3_000_282_806 | 2_400_703_122 | $0.0031921429 | $3_192.14 | +2_846_432_322 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ---------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.json index 6ecdfe15d3..883d972da0 100644 --- a/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.json @@ -1,7 +1,7 @@ { "call_raw": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1485330" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.md index 46a7fa3bf0..ad94804733 100644 --- a/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/call_raw/benchmarks.md @@ -7,7 +7,7 @@ | 0 | executeCallRaw | 1_545_843 | 1_208_337 | $0.0000016067 | $1.60 | +60_513 | | 1 | executeCallRaw | 2_020_527 | 1_398_210 | $0.0000018592 | $1.85 | +129_457 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json index 613f445ef8..7982a74428 100644 --- a/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.json @@ -1,6 +1,6 @@ { "candid_encoding": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md index bbbd5e8851..e02561e78b 100644 --- a/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/candid_encoding/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json index f98ff89ab3..b13a913d72 100644 --- a/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.json @@ -1,6 +1,6 @@ { "candid_keywords": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md index 69b13d8713..514feefeb5 100644 --- a/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/candid_keywords/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.json index 8b957a138d..4d8d158ed3 100644 --- a/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.json @@ -1,7 +1,7 @@ { "canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "6222466" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.md index 5000233914..5f20d86d3d 100644 --- a/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/canister/benchmarks.md @@ -8,7 +8,7 @@ | 1 | canisterList | 6_772_931 | 3_299_172 | $0.0000043868 | $4.38 | +67_863 | | 2 | canisterCrossCanisterCall | 2_599_017 | 1_629_606 | $0.0000021668 | $2.16 | +73_271 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------------- | ------------ | --------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.json index 355ca96218..1fdd992d88 100644 --- a/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.json @@ -1,7 +1,7 @@ { "complex_init": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1020600223" }, @@ -23,7 +23,7 @@ }, "rec_init": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1020561092" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.md index 83ef0054da..99a5ce2061 100644 --- a/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/complex_init/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | ------------------------------------- | | 0 | init | 1_337_523_744 | 935_599_497 | $0.0012440386 | $1_244.03 | +316_923_521 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | @@ -20,7 +20,7 @@ | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | ------------------------------------- | | 0 | init | 1_337_409_820 | 935_553_928 | $0.0012439780 | $1_243.97 | +316_848_728 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | @@ -30,11 +30,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.json index db789cec78..a4882af194 100644 --- a/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.json @@ -1,7 +1,7 @@ { "complex_types": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "18927372" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.md index e51507f596..6faa272e05 100644 --- a/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/complex_types/benchmarks.md @@ -9,7 +9,7 @@ | 2 | createPost | 21_816_144 | 9_316_457 | $0.0000123878 | $12.38 | -648_532 | | 3 | createReaction | 24_761_621 | 10_494_648 | $0.0000139544 | $13.95 | -678_503 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | ---------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.json index 34956cce17..f5b2dffd5c 100644 --- a/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.json @@ -1,7 +1,7 @@ { "canister1": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1722673" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.md index c82411d648..923caa98b6 100644 --- a/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/composite_queries/benchmarks.md @@ -6,7 +6,7 @@ | --- | ------------ | ------------ | --------- | ------------- | ----------------- | ---------------------------------- | | 0 | simpleUpdate | 1_702_618 | 1_271_047 | $0.0000016901 | $1.69 | -20_055 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------ | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.json index 1ab0067cbe..c735723b97 100644 --- a/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.json @@ -1,7 +1,7 @@ { "counter": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1493886" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.md index 4060648a37..dac95f9acb 100644 --- a/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/counter/benchmarks.md @@ -8,7 +8,7 @@ | 1 | incrementCount | 1_471_932 | 1_178_772 | $0.0000015674 | $1.56 | +25_338 | | 2 | incrementCount | 1_467_017 | 1_176_806 | $0.0000015648 | $1.56 | +18_922 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.json index 3e10929184..35fa241666 100644 --- a/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.json @@ -1,7 +1,7 @@ { "canister1": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "2296798" }, @@ -143,7 +143,7 @@ }, "canister2": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "2165032" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.md index 216db8647e..d23d9574c8 100644 --- a/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/cross_canister_calls/benchmarks.md @@ -18,7 +18,7 @@ | 11 | trap | 1_616_594 | 1_236_637 | $0.0000016443 | $1.64 | -8_809 | | 12 | sendNotification | 2_653_658 | 1_651_463 | $0.0000021959 | $2.19 | +5_607 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | @@ -45,7 +45,7 @@ | 0 | transfer | 2_189_412 | 1_465_764 | $0.0000019490 | $1.94 | +24_380 | | 1 | receiveNotification | 1_447_501 | 1_169_000 | $0.0000015544 | $1.55 | +60_070 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------ | --------- | ------------- | ----------------- | @@ -56,11 +56,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.json index a418ce4981..a4e24ac0b8 100644 --- a/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.json @@ -1,7 +1,7 @@ { "cycles": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1522184" }, @@ -43,7 +43,7 @@ }, "intermediary": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1731011" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.md index 7ab2ffd0a5..b7b0ae3e00 100644 --- a/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/cycles/benchmarks.md @@ -8,7 +8,7 @@ | 1 | receiveCycles | 1_519_792 | 1_197_916 | $0.0000015928 | $1.59 | +4_593 | | 2 | receiveCycles | 1_522_381 | 1_198_952 | $0.0000015942 | $1.59 | +6_078 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------- | ------------ | --------- | ------------- | ----------------- | @@ -25,7 +25,7 @@ | 0 | sendCycles | 1_706_711 | 1_272_684 | $0.0000016922 | $1.69 | -24_300 | | 1 | sendCyclesNotify | 2_024_283 | 1_399_713 | $0.0000018612 | $1.86 | +33_479 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | @@ -36,11 +36,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.json index a4ff9ec961..92b27780c9 100644 --- a/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.json @@ -1,6 +1,6 @@ { "date": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.md index 36972a803a..371124a860 100644 --- a/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/date/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json index dfb12a70a2..46bff54da0 100644 --- a/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.json @@ -1,7 +1,7 @@ { "ethereum_json_rpc": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1122930559" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md index 1cb3958d05..e9b4f53765 100644 --- a/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/ethereum_json_rpc/benchmarks.md @@ -12,7 +12,7 @@ | 5 | ethGetBlockByNumber | 25_341_733 | 10_726_693 | $0.0000142630 | $14.26 | -1_481_746 | | 6 | ethGetBlockByNumber | 25_336_678 | 10_724_671 | $0.0000142603 | $14.26 | -1_492_404 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------- | ----------- | ------------- | ----------------- | @@ -28,11 +28,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.json index 339a3cef3a..59c3e05e47 100644 --- a/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.json @@ -1,7 +1,7 @@ { "func_types": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1042137033" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.md index c0283b5459..f7545522a3 100644 --- a/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/func_types/benchmarks.md @@ -7,7 +7,7 @@ | 0 | init | 1_360_370_814 | 944_738_325 | $0.0012561902 | $1_256.19 | +318_233_781 | | 1 | getNotifierFromNotifiersCanister | 1_656_909 | 1_252_763 | $0.0000016658 | $1.66 | -1_508 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------------------------- | ------------- | ----------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.json index cadfdff8ce..55ff3e7eeb 100644 --- a/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.json @@ -1,7 +1,7 @@ { "heartbeat_async": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1111383" }, @@ -1858,7 +1858,7 @@ }, "heartbeat_sync": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "166216" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.md index 73903fc447..9c0762c45b 100644 --- a/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/heartbeat/benchmarks.md @@ -186,7 +186,7 @@ | 179 | heartbeat | 1_009_340 | 993_736 | $0.0000013213 | $1.32 | -31_656 | | 180 | heartbeat | 1_014_778 | 995_911 | $0.0000013242 | $1.32 | -30_197 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -624,7 +624,7 @@ | 236 | heartbeat | 165_583 | 656_233 | $0.0000008726 | $0.87 | +9_026 | | 237 | heartbeat | 166_268 | 656_507 | $0.0000008729 | $0.87 | +9_944 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ------- | ------------- | ----------------- | @@ -877,11 +877,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.json index b5126b7686..2a734bd8ca 100644 --- a/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.json @@ -1,7 +1,7 @@ { "ic_api": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1644758" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.md index 8789d1e946..f90baf717c 100644 --- a/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/ic_api/benchmarks.md @@ -7,7 +7,7 @@ | 0 | dataCertificateNull | 1_666_952 | 1_256_780 | $0.0000016711 | $1.67 | +22_194 | | 1 | setCertifiedData | 1_233_860 | 1_083_544 | $0.0000014408 | $1.44 | +64_236 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.json index 536e1d0489..739546c6c0 100644 --- a/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.json @@ -1,7 +1,7 @@ { "proxy": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "14832948" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.md index e86261580a..74363e7ed1 100644 --- a/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/icrc/benchmarks.md @@ -9,7 +9,7 @@ | 2 | icrc2_transfer_from | 17_056_173 | 7_412_469 | $0.0000098561 | $9.85 | -200_354 | | 3 | icrc2_allowance | 9_870_138 | 4_538_055 | $0.0000060341 | $6.03 | -156_051 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------ | --------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.json index 64b81c350f..0386f8422b 100644 --- a/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.json @@ -1,6 +1,6 @@ { "imports": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.md index 7d650cdd9e..e1fc70e1c7 100644 --- a/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/imports/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.json index fa5ad3c09b..a25b5e9c45 100644 --- a/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.json @@ -1,7 +1,7 @@ { "init": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1022115532" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.md index 1dd1f91d26..7dd8df455c 100644 --- a/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/init/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | ------------------------------------- | | 0 | init | 1_338_531_545 | 936_002_618 | $0.0012445746 | $1_244.57 | +316_416_013 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.json index dadcd4d7f2..3347703ab2 100644 --- a/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.json @@ -1,7 +1,7 @@ { "inspect_message": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1084452" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.md index fcba44cf88..445947f8cc 100644 --- a/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/inspect_message/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------ | --------- | ------------- | ----------------- | ------------------------------- | | 0 | accessible | 1_087_497 | 1_024_998 | $0.0000013629 | $1.36 | +3_045 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.json index c42f706964..7a8205da6a 100644 --- a/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.json @@ -1,7 +1,7 @@ { "key_value_store": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1403875" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.md index 61e0a7b363..2513e3cb9c 100644 --- a/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/key_value_store/benchmarks.md @@ -7,7 +7,7 @@ | 0 | set | 1_430_991 | 1_162_396 | $0.0000015456 | $1.54 | +27_116 | | 1 | set | 1_386_326 | 1_144_530 | $0.0000015218 | $1.52 | +33_704 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.json index 79a27250f9..b354e4f519 100644 --- a/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.json @@ -1,7 +1,7 @@ { "ledger_canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "4878992" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.md index 06187e4921..f316e77464 100644 --- a/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/ledger_canister/benchmarks.md @@ -20,7 +20,7 @@ | 13 | executeTransfer | 14_128_818 | 6_241_527 | $0.0000082992 | $8.29 | -153_182 | | 14 | executeTransfer | 14_107_989 | 6_233_195 | $0.0000082881 | $8.28 | -187_449 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------------- | ------------ | --------- | ------------- | ----------------- | @@ -44,11 +44,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json index c36f38a9cb..b37c7ebfff 100644 --- a/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.json @@ -1,6 +1,6 @@ { "list_of_lists": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md index d30211cf50..31c1562e43 100644 --- a/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/list_of_lists/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.json index f6cf893df7..269ed1d376 100644 --- a/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.json @@ -1,7 +1,7 @@ { "management_canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "14219769" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.md index c9eb7b7948..e566f87f32 100644 --- a/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/management_canister/benchmarks.md @@ -33,7 +33,7 @@ | 26 | executeDeleteCanister | 2_840_170 | 1_726_068 | $0.0000022951 | $2.29 | -37_562 | | 27 | getRawRand | 1_291_874 | 1_106_749 | $0.0000014716 | $1.47 | +4_095 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------------- | ------------ | ---------- | ------------- | ----------------- | @@ -70,11 +70,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.json index f69350b7ba..dae6f26d9e 100644 --- a/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.json @@ -1,7 +1,7 @@ { "manual_reply": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "682146" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.md index 1dc7053fbd..9ef97a602c 100644 --- a/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/manual_reply/benchmarks.md @@ -19,7 +19,7 @@ | 12 | updateFloat32 | 1_057_247 | 1_012_898 | $0.0000013468 | $1.34 | +29_330 | | 13 | replyRaw | 528_326 | 801_330 | $0.0000010655 | $1.06 | +39_614 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -42,11 +42,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json index 573948e9c1..c978b515f1 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.json @@ -1,7 +1,7 @@ { "calc": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1277852" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md index 106fc7b1a9..1e49c87f04 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/calc/benchmarks.md @@ -11,7 +11,7 @@ | 4 | clearall | 902_205 | 950_882 | $0.0000012644 | $1.26 | +23_580 | | 5 | add | 1_256_317 | 1_092_526 | $0.0000014527 | $1.45 | +25_991 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json index bd75b95e1b..fe1658dff6 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.json @@ -1,7 +1,7 @@ { "counter": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1003092" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md index 2a6f8498fd..52cfbab1cc 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/counter/benchmarks.md @@ -8,7 +8,7 @@ | 1 | inc | 899_086 | 949_634 | $0.0000012627 | $1.26 | +28_138 | | 2 | inc | 893_922 | 947_568 | $0.0000012600 | $1.25 | +23_040 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json index cccc1fdcae..9ae3c50c15 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.json @@ -1,6 +1,6 @@ { "echo": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md index 9b0264e92b..6ebfa015ab 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/echo/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json index a40199ea40..b9c840a9c6 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.json @@ -1,7 +1,7 @@ { "factorial": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1239149" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md index 2c02184ed4..b9c4a91bca 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/factorial/benchmarks.md @@ -10,7 +10,7 @@ | 3 | fac | 2_983_666 | 1_783_466 | $0.0000023714 | $2.37 | +71_767 | | 4 | fac | 5_525_643 | 2_800_257 | $0.0000037234 | $3.72 | +77_008 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json index f6e6940fa4..0ce9b6f0c1 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.json @@ -1,6 +1,6 @@ { "hello_world": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md index a230da4646..d6c22a7607 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello-world/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json index ceb0348fe9..f5ddb13ef0 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.json @@ -1,6 +1,6 @@ { "hello": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md index e8a1711230..4f5dbdf021 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/hello/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json index 89d7d41f90..0232e7c344 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.json @@ -1,7 +1,7 @@ { "minimal_dapp": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1143272" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md index 2d7b7b04cb..d629498710 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/minimal-counter-dapp/benchmarks.md @@ -9,7 +9,7 @@ | 2 | reset | 1_114_393 | 1_035_757 | $0.0000013772 | $1.37 | +24_285 | | 3 | count | 1_126_021 | 1_040_408 | $0.0000013834 | $1.38 | +29_431 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -22,11 +22,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json index cdf86112d0..be3548cab0 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.json @@ -1,7 +1,7 @@ { "persistent_storage": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1024942770" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md index 4ef675cff5..ae50d701c4 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/persistent-storage/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | ------------------------------------- | | 0 | postUpgrade | 1_342_974_884 | 937_779_953 | $0.0012469379 | $1_246.93 | +318_032_114 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json index a628220766..50fbf1e6d2 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.json @@ -1,7 +1,7 @@ { "phone_book": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "2932924" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md index c803805900..8a10046d53 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/phone-book/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------ | --------- | ------------- | ----------------- | --------------------------------- | | 0 | insert | 3_044_077 | 1_807_630 | $0.0000024036 | $2.40 | +111_153 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json index 766191f1c1..39939e501d 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.json @@ -1,6 +1,6 @@ { "quicksort": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md index 4a48a65aaa..609d2dcd73 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/quicksort/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json index 7b6b8b4460..4fdfeb5f49 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.json @@ -1,7 +1,7 @@ { "simple_to_do": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1908472" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md index 7915153ff2..3452aff8fc 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/simple-to-do/benchmarks.md @@ -11,7 +11,7 @@ | 4 | completeTodo | 999_059 | 989_623 | $0.0000013159 | $1.31 | +29_254 | | 5 | clearCompleted | 921_093 | 958_437 | $0.0000012744 | $1.27 | +22_949 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | -------------- | ------------ | --------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json index e104d5f190..7be057692d 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.json @@ -1,7 +1,7 @@ { "superheroes": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "3585243" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md index a2dc207542..0fcc0d2077 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/superheroes/benchmarks.md @@ -11,7 +11,7 @@ | 4 | deleteHero | 1_221_842 | 1_078_736 | $0.0000014344 | $1.43 | +33_514 | | 5 | deleteHero | 1_207_029 | 1_072_811 | $0.0000014265 | $1.42 | +28_954 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json index 31cf611212..e096f9c0e7 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.json @@ -1,7 +1,7 @@ { "threshold_ecdsa": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "8876819" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md index 28e37e3817..19b4cba387 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/threshold_ecdsa/benchmarks.md @@ -7,7 +7,7 @@ | 0 | publicKey | 8_728_678 | 4_081_471 | $0.0000054270 | $5.42 | -148_141 | | 1 | sign | 8_915_339 | 4_156_135 | $0.0000055263 | $5.52 | -45_915 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.json index 0aaca94315..d5b34666a7 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.json @@ -1,7 +1,7 @@ { "whoami": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1027546042" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.md index 8114453ab9..0e9ca63b43 100644 --- a/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/motoko_examples/whoami/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | ------------------------------------- | | 0 | postUpgrade | 1_345_834_456 | 938_923_782 | $0.0012484588 | $1_248.45 | +318_288_414 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.json index 1b9bd9a91d..e5577b6d35 100644 --- a/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.json @@ -1,7 +1,7 @@ { "canister1": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1605051" }, @@ -23,7 +23,7 @@ }, "canister2": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "912297" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.md index ecb873959d..21686f1705 100644 --- a/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/notify_raw/benchmarks.md @@ -6,7 +6,7 @@ | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | ------------------------------- | | 0 | sendNotification | 1_609_604 | 1_233_841 | $0.0000016406 | $1.64 | +4_553 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | @@ -20,7 +20,7 @@ | --- | ------------------- | ------------ | ------- | ------------- | ----------------- | -------------------------------- | | 0 | receiveNotification | 923_050 | 959_220 | $0.0000012754 | $1.27 | +10_753 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------- | ------------ | ------- | ------------- | ----------------- | @@ -30,11 +30,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.json index df31f3d563..468d098c58 100644 --- a/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.json @@ -1,7 +1,7 @@ { "null_example": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "5667459" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.md index 9333ad6db6..4c90287dc4 100644 --- a/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/null_example/benchmarks.md @@ -8,7 +8,7 @@ | 1 | setSmallNullRecord | 4_116_912 | 2_236_764 | $0.0000029742 | $2.97 | -20_284 | | 2 | setLargeNullRecord | 5_354_430 | 2_731_772 | $0.0000036324 | $3.63 | -36_618 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------------- | ------------ | --------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.json index 74a053a7d0..2ad879a4b2 100644 --- a/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.json @@ -1,6 +1,6 @@ { "optional_types": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.md index 6678bd9a11..8ec469ba8a 100644 --- a/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/optional_types/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json index 93ea8b0842..f0bf976d15 100644 --- a/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.json @@ -1,7 +1,7 @@ { "outgoing_http_requests": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "24930769" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md index e557707b92..1f233f8c43 100644 --- a/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/outgoing_http_requests/benchmarks.md @@ -7,7 +7,7 @@ | 0 | xkcd | 23_714_014 | 10_075_605 | $0.0000133972 | $13.39 | -1_216_755 | | 1 | xkcdRaw | 1_414_933 | 1_155_973 | $0.0000015371 | $1.53 | -573_038 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | ---------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json index 0fd6260345..970da43a9d 100644 --- a/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.json @@ -1,7 +1,7 @@ { "pre_and_post_upgrade": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1026297279" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md index 38b7ce4ae9..7921503427 100644 --- a/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/pre_and_post_upgrade/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | ------------------------------------- | | 0 | postUpgrade | 1_344_700_582 | 938_470_232 | $0.0012478557 | $1_247.85 | +318_403_303 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.json index bdf022a7cb..7b4163cc59 100644 --- a/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.json @@ -1,6 +1,6 @@ { "primitive_types": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.md index 5fbc18d707..be95d5e18b 100644 --- a/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/primitive_types/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.json index b455fa33c5..7b9d80e4bf 100644 --- a/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.json @@ -1,6 +1,6 @@ { "principal": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.md index d59798767b..a5436bf3dd 100644 --- a/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/principal/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.json index 10d1c38fe6..bd69d1a3ce 100644 --- a/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.json @@ -1,6 +1,6 @@ { "query": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.md index 710d1599d7..e359307ad2 100644 --- a/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/query/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.json index b5589a4af2..b4fac2be9e 100644 --- a/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.json @@ -1,7 +1,7 @@ { "randomness": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1020164554" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.md index d146cae8cf..ffd117b09d 100644 --- a/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/randomness/benchmarks.md @@ -11,7 +11,7 @@ | 4 | randomNumber | 1_044_729 | 1_007_891 | $0.0000013402 | $1.34 | +15_868 | | 5 | randomNumber | 1_044_003 | 1_007_601 | $0.0000013398 | $1.33 | +15_142 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------ | ------------- | ----------- | ------------- | ----------------- | @@ -26,11 +26,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.json index b3198e3e0a..5c6539166f 100644 --- a/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.json @@ -1,7 +1,7 @@ { "recursion": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "6177355" }, @@ -23,7 +23,7 @@ }, "recursive_canister": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1020180114" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.md index deb43c44c3..712ac09190 100644 --- a/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/recursion/benchmarks.md @@ -6,7 +6,7 @@ | --- | ------------------ | ------------ | --------- | ------------- | ----------------- | -------------------------------- | | 0 | testRecServiceCall | 6_229_268 | 3_081_707 | $0.0000040977 | $4.09 | +51_913 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------ | ------------ | --------- | ------------- | ----------------- | @@ -20,7 +20,7 @@ | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | ------------------------------------- | | 0 | init | 1_337_859_120 | 935_733_648 | $0.0012442170 | $1_244.21 | +317_679_006 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------- | ----------- | ------------- | ----------------- | @@ -30,11 +30,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.json index 5065f85daa..dadb7cfdd3 100644 --- a/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.json @@ -1,7 +1,7 @@ { "rejections": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1723912" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.md index 3ded28eb66..f6f011e760 100644 --- a/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/rejections/benchmarks.md @@ -10,7 +10,7 @@ | 3 | getRejectionCodeCanisterError | 1_642_299 | 1_246_919 | $0.0000016580 | $1.65 | -6_456 | | 4 | getRejectionMessage | 2_854_468 | 1_731_787 | $0.0000023027 | $2.30 | +61_746 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------------------------- | ------------ | --------- | ------------- | ----------------- | @@ -24,11 +24,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json index 9a69f17605..d478570eb9 100644 --- a/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.json @@ -1,7 +1,7 @@ { "simple_erc20": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "2086892" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md index 7110a387eb..38dae29614 100644 --- a/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/simple_erc20/benchmarks.md @@ -7,7 +7,7 @@ | 0 | initializeSupply | 2_138_473 | 1_445_389 | $0.0000019219 | $1.92 | +51_581 | | 1 | transfer | 1_744_935 | 1_287_974 | $0.0000017126 | $1.71 | +23_862 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ---------------- | ------------ | --------- | ------------- | ----------------- | @@ -18,11 +18,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json index e71699ea03..5c31ddfb18 100644 --- a/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.json @@ -1,7 +1,7 @@ { "simple_user_accounts": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "3506185" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md index 95dcaec295..c366587b75 100644 --- a/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/simple_user_accounts/benchmarks.md @@ -6,7 +6,7 @@ | --- | ----------- | ------------ | --------- | ------------- | ----------------- | ---------------------------------- | | 0 | createUser | 3_442_821 | 1_967_128 | $0.0000026156 | $2.61 | -63_364 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json index bd9c44d113..ffc6027660 100644 --- a/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.json @@ -1,7 +1,7 @@ { "stable_b_tree_map_instruction_threshold": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "17354025633" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md index a27cbf20a3..6ee2e0ba2f 100644 --- a/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/stable_b_tree_map_instruction_threshold/benchmarks.md @@ -8,7 +8,7 @@ | 1 | insertMediumRecord | 16_482_146_164 | 12_993_448_465 | $0.0172769986 | $17_276.99 | +662_166_127 | | 2 | insertLargeRecord | 19_060_732_880 | 15_224_883_152 | $0.0202440704 | $20_244.07 | +834_524_947 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------------ | -------------- | -------------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.json index 9c0c609708..93294ebc4a 100644 --- a/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.json @@ -1,7 +1,7 @@ { "timers": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "10140350" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.md index a8ca71e558..23d687c126 100644 --- a/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/timers/benchmarks.md @@ -8,7 +8,7 @@ | 1 | clearTimer | 1_235_345 | 1_084_138 | $0.0000014415 | $1.44 | +55_140 | | 2 | clearTimer | 1_232_494 | 1_082_997 | $0.0000014400 | $1.44 | +52_748 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ----------- | ------------ | --------- | ------------- | ----------------- | @@ -20,11 +20,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.json index de582340e8..49fa71ec07 100644 --- a/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.json @@ -1,6 +1,6 @@ { "tuple_types": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.md index 14cacfb02b..a38167a70a 100644 --- a/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/tuple_types/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.json index 7aca19e618..a4b95c4207 100644 --- a/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.json @@ -1,7 +1,7 @@ { "update": { "previous": { - "version": "0.25.0-pre-bifurcation", + "version": "0.25.0-alpha", "benchmarks": [ { "instructions": { "__bigint__": "1311462" }, diff --git a/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.md index 0ef3757584..8a9572f49b 100644 --- a/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/update/benchmarks.md @@ -6,7 +6,7 @@ | --- | ------------ | ------------ | --------- | ------------- | ----------------- | -------------------------------- | | 0 | simpleUpdate | 1_352_796 | 1_131_118 | $0.0000015040 | $1.50 | +41_334 | -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha | Id | Method Name | Instructions | Cycles | USD | USD/Million Calls | | --- | ------------ | ------------ | --------- | ------------- | ----------------- | @@ -16,11 +16,11 @@ **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json b/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json index e5f888a858..096e17a0a0 100644 --- a/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json +++ b/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.json @@ -1,6 +1,6 @@ { "vanilla_js": { - "previous": { "version": "0.25.0-pre-bifurcation", "benchmarks": [] }, + "previous": { "version": "0.25.0-alpha", "benchmarks": [] }, "current": { "version": "0.25.0-dev", "benchmarks": [] } } } diff --git a/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md b/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md index 740b8896ec..a8a4e0aa64 100644 --- a/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md +++ b/examples/stable/test/end_to_end/candid_rpc/vanilla_js/benchmarks.md @@ -4,7 +4,7 @@ No benchmarks reported -## Baseline benchmarks Azle version: 0.25.0-pre-bifurcation +## Baseline benchmarks Azle version: 0.25.0-alpha No benchmarks reported @@ -12,11 +12,11 @@ No benchmarks reported **Note on calculations:** -- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) -- base_fee: 590_000 cycles -- per_instruction_fee: 0.4 cycles -- additional_fee_per_billion: 400_000_000 cycles per billion instructions -- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) +- Cycles are calculated using the formula: base_fee + (per_instruction_fee \* number_of_instructions) + (additional_fee_per_billion \* floor(number_of_instructions / 1_000_000_000)) +- base_fee: 590_000 cycles +- per_instruction_fee: 0.4 cycles +- additional_fee_per_billion: 400_000_000 cycles per billion instructions +- USD value is derived from the total cycles, where 1 trillion cycles = 1 XDR, and 1 XDR = $1.329670 (as of October 24, 2024) For the most up-to-date XDR to USD conversion rate, please refer to the [IMF website](https://www.imf.org/external/np/fin/data/rms_sdrv.aspx). For the most current fee information, please check the [official documentation](https://internetcomputer.org/docs/current/developer-docs/gas-cost#execution). diff --git a/package-lock.json b/package-lock.json index 8a04e754be..990d1bc243 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,6 +51,7 @@ "@types/deep-equal": "^1.0.4", "@types/fs-extra": "11.0.4", "@types/pako": "^2.0.3", + "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^8.18.0", "@typescript-eslint/parser": "^8.18.0", @@ -64,6 +65,7 @@ "lint-staged": "15.2.11", "prettier": "^3.4.2", "puppeteer": "^23.10.3", + "semver": "^7.6.3", "ts-jest": "^29.1.4", "typescript-eslint": "^8.18.0" } @@ -2070,6 +2072,12 @@ "integrity": "sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==", "dev": true }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", diff --git a/package.json b/package.json index 7887ae06a8..54372c22bf 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "@types/deep-equal": "^1.0.4", "@types/fs-extra": "11.0.4", "@types/pako": "^2.0.3", + "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^8.18.0", "@typescript-eslint/parser": "^8.18.0", @@ -75,6 +76,7 @@ "husky": "9.1.7", "jest": "^29.7.0", "lint-staged": "15.2.11", + "semver": "^7.6.3", "prettier": "^3.4.2", "puppeteer": "^23.10.3", "ts-jest": "^29.1.4", diff --git a/scripts/analyze_benchmarks/markdown.ts b/scripts/analyze_benchmarks/markdown.ts index 032a871226..0babe3376d 100644 --- a/scripts/analyze_benchmarks/markdown.ts +++ b/scripts/analyze_benchmarks/markdown.ts @@ -1,3 +1,5 @@ +import semver from 'semver'; + import { readBenchmarkJsonFile, StableAndExperimentalStatistics, @@ -7,9 +9,16 @@ import { Statistics } from './statistics'; export async function generateMarkdownReport(): Promise { const benchmarksJson = await readBenchmarkJsonFile(); + + const sortedBenchmarks = Object.fromEntries( + Object.entries(benchmarksJson).sort(([a], [b]) => { + return -semver.compare(a, b); // Reverse sort (newest first) + }) + ); + return `# Benchmarks -${generateVersionTables(benchmarksJson)} +${generateVersionTables(sortedBenchmarks)} --- *Report generated automatically by Azle*`; From 0604fcf12c1e9e72055ac2ac3e7c6b007fcd1db1 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 18 Dec 2024 11:18:42 -0700 Subject: [PATCH 31/32] install dependencies --- .github/workflows/benchmark.yml | 5 +++++ .github/workflows/benchmark_parallel.yml | 4 ++-- .github/workflows/run_test.yml | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index e92cf23a1d..30dea781e3 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -119,6 +119,11 @@ jobs: - uses: ./.github/actions/setup_node + - uses: ./.github/actions/setup_dfx + + - name: Install dependencies + run: npm ci + - name: Analyze benchmarks run: npx tsx scripts/analyze_benchmarks/index.ts diff --git a/.github/workflows/benchmark_parallel.yml b/.github/workflows/benchmark_parallel.yml index d3060d222b..51e4fa7a7d 100644 --- a/.github/workflows/benchmark_parallel.yml +++ b/.github/workflows/benchmark_parallel.yml @@ -72,10 +72,10 @@ jobs: - uses: ./.github/actions/setup_dfx - - run: npm install + - run: npm ci - run: npm link - - run: npm install + - run: npm ci working-directory: ${{ matrix.test.path }} - run: npm link azle diff --git a/.github/workflows/run_test.yml b/.github/workflows/run_test.yml index 74c7942fe9..c0cc85651c 100644 --- a/.github/workflows/run_test.yml +++ b/.github/workflows/run_test.yml @@ -101,14 +101,14 @@ jobs: if: matrix.os == 'macos-latest' run: sudo networksetup -setdnsservers Ethernet 9.9.9.9 - - run: npm install + - run: npm ci - run: npm link if: matrix.azle_source == 'repo' - run: npm run lint - - run: npm install + - run: npm ci working-directory: ${{ matrix.test.path }} - run: npm link azle From 5cfae404b211136512c9154a559c5e58efba8882 Mon Sep 17 00:00:00 2001 From: Benjamin DeMann Date: Wed, 18 Dec 2024 11:56:04 -0700 Subject: [PATCH 32/32] use npm install over npm ci for now --- .github/workflows/benchmark.yml | 2 +- .github/workflows/benchmark_parallel.yml | 4 ++-- .github/workflows/run_test.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 30dea781e3..22119bab0a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -122,7 +122,7 @@ jobs: - uses: ./.github/actions/setup_dfx - name: Install dependencies - run: npm ci + run: npm install - name: Analyze benchmarks run: npx tsx scripts/analyze_benchmarks/index.ts diff --git a/.github/workflows/benchmark_parallel.yml b/.github/workflows/benchmark_parallel.yml index 51e4fa7a7d..d3060d222b 100644 --- a/.github/workflows/benchmark_parallel.yml +++ b/.github/workflows/benchmark_parallel.yml @@ -72,10 +72,10 @@ jobs: - uses: ./.github/actions/setup_dfx - - run: npm ci + - run: npm install - run: npm link - - run: npm ci + - run: npm install working-directory: ${{ matrix.test.path }} - run: npm link azle diff --git a/.github/workflows/run_test.yml b/.github/workflows/run_test.yml index c0cc85651c..74c7942fe9 100644 --- a/.github/workflows/run_test.yml +++ b/.github/workflows/run_test.yml @@ -101,14 +101,14 @@ jobs: if: matrix.os == 'macos-latest' run: sudo networksetup -setdnsservers Ethernet 9.9.9.9 - - run: npm ci + - run: npm install - run: npm link if: matrix.azle_source == 'repo' - run: npm run lint - - run: npm ci + - run: npm install working-directory: ${{ matrix.test.path }} - run: npm link azle