await suite('Block performance', async () => {
const COUNT = 0x1
+ await test(`Customized PoW: Time to calculate proof-of-work for a receive block ${COUNT} times`, async () => {
+ const times = []
+ const block = new ReceiveBlock(
+ NANO_TEST_VECTORS.RECEIVE_BLOCK.account,
+ NANO_TEST_VECTORS.RECEIVE_BLOCK.balance,
+ NANO_TEST_VECTORS.RECEIVE_BLOCK.link,
+ '0',
+ NANO_TEST_VECTORS.RECEIVE_BLOCK.representative,
+ NANO_TEST_VECTORS.RECEIVE_BLOCK.previous
+ )
+ for (let i = 0; i < COUNT; i++) {
+ const start = performance.now()
+ await block.pow()
+ const end = performance.now()
+ times.push(end - start)
+ console.log(`${end - start} ms`)
+ }
+ const { total, arithmetic, harmonic, geometric } = average(times)
+ console.log(`Total: ${total} ms`)
+ console.log(`Average: ${arithmetic} ms`)
+ console.log(`Harmonic: ${harmonic} ms`)
+ console.log(`Geometric: ${geometric} ms`)
+ })
+
await test(`Customized PoW: Time to calculate proof-of-work for a send block ${COUNT} times`, async () => {
const times = []
const block = new SendBlock(
console.log(`Harmonic: ${harmonic} ms`)
console.log(`Geometric: ${geometric} ms`)
})
-
- await test(`Customized PoW: Time to calculate proof-of-work for a receive block ${COUNT} times`, async () => {
- const times = []
- const block = new ReceiveBlock(
- NANO_TEST_VECTORS.RECEIVE_BLOCK.account,
- NANO_TEST_VECTORS.RECEIVE_BLOCK.balance,
- NANO_TEST_VECTORS.RECEIVE_BLOCK.link,
- '0',
- NANO_TEST_VECTORS.RECEIVE_BLOCK.representative,
- NANO_TEST_VECTORS.RECEIVE_BLOCK.previous
- )
- for (let i = 0; i < COUNT; i++) {
- const start = performance.now()
- await block.pow()
- const end = performance.now()
- times.push(end - start)
- console.log(`${end - start} ms`)
- }
- const { total, arithmetic, harmonic, geometric } = average(times)
- console.log(`Total: ${total} ms`)
- console.log(`Average: ${arithmetic} ms`)
- console.log(`Harmonic: ${harmonic} ms`)
- console.log(`Geometric: ${geometric} ms`)
- })
})