From 07d21a8e9d46f23e003f1edc919573c59a42edbb Mon Sep 17 00:00:00 2001 From: Nikita Masych Date: Tue, 29 Oct 2024 14:56:14 +0200 Subject: [PATCH] chore: added benchmark for v1.0.0 --- BENCHMARK.md | 78 ++++++++++++++++++++++++--------------- README.md | 2 +- crates/use_v1/Prover.toml | 10 ++--- crates/use_v2/Prover.toml | 10 ++--- 4 files changed, 59 insertions(+), 41 deletions(-) diff --git a/BENCHMARK.md b/BENCHMARK.md index 815217b..ffafcd0 100644 --- a/BENCHMARK.md +++ b/BENCHMARK.md @@ -2,13 +2,38 @@ > Computational statistics. -## Noir v0.35.0 Barrettenberg v0.56.0 +## v1.0.0 + +_Machine_: `MacBook Pro M2 Max 32 GB RAM 1 TB Storage` + +_Maximum RAM consumption_: `15 GB` + +_Noir_: 0.35.0+51ae1b324cd73fdb4fe3695b5d483a44b4aff4a9 + +_Barrettenberg_: 0.56.0 + +--- + +| Version | Message Length | ACIR Opcodes | Brillig Opcodes | Compilation Time | Execution Time | Ultra Plonk Proof Time | Ultra Plonk VK Writing Time | Ultra Plonk Verification Time | Ultra Honk Proof Time | Ultra Honk VK Writing Time | Ultra Honk Verification Time | +|---------|----------------|--------------|-----------------|------------------|----------------|------------------------|-----------------------------|-------------------------------|-----------------------|----------------------------|------------------------------| +| v1 | 32 | 217,057 | 468,974 | 50.460 seconds | 30.207 seconds | 10.076 seconds | 9.385 seconds | 0.030 seconds | 4.786 seconds | 3.621 seconds | 0.037 seconds | +| v2 | 32 | 215,215 | 468,628 | 42.989 seconds | 30.330 seconds | 9.673 seconds | 9.024 seconds | 0.029 seconds | 4.734 seconds | 3.620 seconds | 0.035 seconds | +| v1 | 100 | 217,447 | 469,042 | 54.699 seconds | 30.496 seconds | 9.968 seconds | 9.598 seconds | 0.031 seconds | 4.791 seconds | 3.769 seconds | 0.038 seconds | +| v2 | 100 | 215,605 | 468,696 | 45.778 seconds | 30.393 seconds | 10.110 seconds | 9.519 seconds | 0.029 seconds | 4.795 seconds | 3.723 seconds | 0.038 seconds | +| v1 | 10,000 | 274,871 | 478,942 | 73.138 seconds | 38.606 seconds | 35.419 seconds | 33.338 seconds | 0.033 seconds | 13.728 seconds | 11.027 seconds | 0.039 seconds | +| v2 | 10,000 | 273,029 | 478,596 | 65.427 seconds | 39.092 seconds | 35.247 seconds | 33.148 seconds | 0.029 seconds | 14.097 seconds | 11.159 seconds | 0.036 seconds | + +## v0.1.2 _Machine_: `20 Cores, 300 GB RAM` _Maximum RAM consumption_: `200 GB` -## Table +_Noir_: 0.35.0+51ae1b324cd73fdb4fe3695b5d483a44b4aff4a9 + +_Barrettenberg_: 0.56.0 + +--- | Version | Message Length | Constraints | Execution Time | Proving Ultra Plonk Time | Writing VK Ultra Plonk Time | Verifying Ultra Plonk Time | Proving Ultra Honk Time | Writing Vk Ultra Honk Time | Verifying Ultra Honk Time | |---------|----------------|-------------|--------------------|--------------------|--------------------|----------------|-------------------------|----------------------------|---------------------------| @@ -19,40 +44,33 @@ _Maximum RAM consumption_: `200 GB` | v1 | 10000 | 754,652 | 56 minutes 22 seconds | 2 minutes 27 seconds | 2 minutes 19 seconds | 0.12 seconds | 1 minute 16 seconds | 1 minute 2 seconds | 0.08 seconds | | v2 | 10000 | 753,998 | 56 minutes 16 seconds | 2 minutes 25 seconds | 2 minutes 20 seconds | 0.07 seconds | 1 minute 12 seconds | 1 minute 3 seconds | 0.08 seconds | -## Noir v0.33.0 Barrettenberg v0.47.1 +## v0.1.0 _Machine_: `20 Cores, 144 GB RAM` -_Maximum RAM consumption_: `43 GB` +_Maximum RAM consumption_: `123 GB` -## Table (Ultra Honk) +Ultra Plonk: -| Version | Message Length | Constraints | Execution Time | Proving Time | Writing VK Time | Verifying Time | -|---------|----------------|-------------|--------------------|--------------------|--------------------|----------------| -| v1 | 5 | 2,998,712 | 13 minute 56 seconds | 13 minutes 23 seconds | 12 minutes 3 seconds | 0.06 seconds | -| v2 | 5 | 2,998,520 | 13 minutes 52 seconds | 13 minutes 9 seconds | 12 minutes 14 seconds | 0.06 seconds | -| v1 | 32 | 2,998,905 | 14 minutes 14 seconds | 13 minutes 3 seconds | 11 minutes 44 seconds | 0.06 seconds | -| v2 | 32 | 2,998,636 | 14 minutes 5 seconds | 12 minutes 55 seconds | 11 minutes 48 seconds | 0.06 seconds | -| v1 | 100 | 2,999,162 | 14 minutes 44 seconds | 13 minutes 4 seconds | 12 minutes 30 seconds | 0.06 seconds | -| v2 | 100 | 2,998,893 | 13 minutes 58 seconds | 12 minutes 57 seconds | 12 minutes 2 seconds | 0.06 seconds | -| v1 | 10000 | 3,036,441 | 17 minutes 47 seconds | 13 minutes 35 seconds | 12 minutes 13 seconds | 0.06 seconds | -| v2 | 10000 | 3,036,172 | 1 minutes 16 seconds | 13 minutes 59 seconds | 12 minutes 25 seconds | 0.06 seconds | +1. _Noir_: 0.32.0 -## Noir v0.32.0 Barrettenberg v0.46.1 +2. _Barrettenberg_: 0.46.1 -_Machine_: `20 Cores, 144 GB RAM` +Ultra Honk: -_Maximum RAM consumption_: `123 GB` +1. _Noir_: 0.33.0 + +2. _Barrettenberg_: 0.47.1 + +--- -## Table (Ultra Plonk) - -| Version | Message Length | Constraints | Execution Time | Proving Time | Writing VK Time | Verifying Time | -|---------|----------------|-------------|--------------------|--------------------|--------------------|----------------| -| v1 | 5 | 2,998,712 | 15 minute 59 seconds | 53 minutes 15 seconds | 37 minutes 19 seconds | 0.1 seconds | -| v2 | 5 | 2,998,520 | 18 minutes 32 seconds | 58 minutes 42 seconds | 36 minutes 25 seconds | 0.1 seconds | -| v1 | 32 | 2,998,905 | 17 minutes 34 seconds | 53 minutes 38 seconds | 36 minutes 43 seconds | 0.11 seconds | -| v2 | 32 | 2,998,636 | 17 minutes 9 seconds | 50 minutes 17 seconds | 38 minutes 59 seconds | 0.14 seconds | -| v1 | 100 | 2,999,162 | 16 minutes 49 seconds | 24 minutes 9 seconds | 22 minutes 58 seconds | 0.06 seconds | -| v2 | 100 | 2,998,893 | 16 minutes 28 seconds | 30 minutes 11 seconds | 25 minutes 14 seconds | 0.07 seconds | -| v1 | 10000 | 3,036,441 | 23 minutes 55 seconds | 38 minutes 18 seconds | 32 minutes 19 seconds | 0.08 seconds | -| v2 | 10000 | 3,036,172 | 20 minutes 35 seconds | 28 minutes 46 seconds | 30 minutes 40 seconds | 0.07 seconds | +| Version | Message Length | Constraints | Execution Time | Proving Ultra Plonk Time | Writing VK Ultra Plonk Time | Verifying Ultra Plonk Time | Proving Ultra Honk Time | Writing VK Ultra Honk Time | Verifying Ultra Honk Time | +|---------|----------------|-------------|----------------------|--------------------------|-----------------------------|----------------------------|-------------------------|----------------------------|---------------------------| +| v1 | 5 | 2,998,712 | 15 minutes 59 seconds | 53 minutes 15 seconds | 37 minutes 19 seconds | 0.1 seconds | 13 minutes 23 seconds | 12 minutes 3 seconds | 0.06 seconds | +| v2 | 5 | 2,998,520 | 18 minutes 32 seconds | 58 minutes 42 seconds | 36 minutes 25 seconds | 0.1 seconds | 13 minutes 9 seconds | 12 minutes 14 seconds | 0.06 seconds | +| v1 | 32 | 2,998,905 | 17 minutes 34 seconds | 53 minutes 38 seconds | 36 minutes 43 seconds | 0.11 seconds | 13 minutes 3 seconds | 11 minutes 44 seconds | 0.06 seconds | +| v2 | 32 | 2,998,636 | 17 minutes 9 seconds | 50 minutes 17 seconds | 38 minutes 59 seconds | 0.14 seconds | 12 minutes 55 seconds | 11 minutes 48 seconds | 0.06 seconds | +| v1 | 100 | 2,999,162 | 16 minutes 49 seconds | 24 minutes 9 seconds | 22 minutes 58 seconds | 0.06 seconds | 13 minutes 4 seconds | 12 minutes 30 seconds | 0.06 seconds | +| v2 | 100 | 2,998,893 | 16 minutes 28 seconds | 30 minutes 11 seconds | 25 minutes 14 seconds | 0.07 seconds | 12 minutes 57 seconds | 12 minutes 2 seconds | 0.06 seconds | +| v1 | 10,000 | 3,036,441 | 23 minutes 55 seconds | 38 minutes 18 seconds | 32 minutes 19 seconds | 0.08 seconds | 13 minutes 35 seconds | 12 minutes 13 seconds | 0.06 seconds | +| v2 | 10,000 | 3,036,172 | 17 minutes 47 seconds | 28 minutes 46 seconds | 30 minutes 40 seconds | 0.07 seconds | 13 minutes 59 seconds | 12 minutes 25 seconds | 0.06 seconds | diff --git a/README.md b/README.md index ed77199..e70bb6c 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Plume is needed to confirm your identity without disclosing your private data, i ```toml [dependencies] -plume = { git = "https://github.com/distributed-lab/noir-plume", tag = "v0.1.2", directory = "crates/plume"} +plume = { git = "https://github.com/distributed-lab/noir-plume", tag = "v1.0.0", directory = "crates/plume"} ``` ### Use in your `Noir` code as following diff --git a/crates/use_v1/Prover.toml b/crates/use_v1/Prover.toml index ae55478..6e259fb 100644 --- a/crates/use_v1/Prover.toml +++ b/crates/use_v1/Prover.toml @@ -1,5 +1,5 @@ -c = ["216", "118", "145", "136", "91", "4", "222", "116", "104", "12", "106", "187", "190", "242", "23", "160", "145", "79", "64", "36", "137", "68", "67", "40", "36", "148", "218", "32", "143", "73", "204", "117"] -msg = ["78", "144", "86", "203", "136", "176", "142", "202", "13", "231", "136", "140", "230", "246", "201", "84", "37", "14", "86", "181", "47", "135", "224", "160", "104", "238", "248", "175", "110", "33", "167", "28"] -nullifier = [["148", "173", "27", "47", "88", "231", "178", "194", "118", "60", "241", "202", "54", "249", "171", "223", "125", "20", "188", "3", "146", "107", "75", "52", "46", "250", "78", "248", "107", "106", "215", "130"], ["13", "64", "28", "120", "252", "184", "118", "45", "251", "190", "134", "128", "88", "154", "188", "127", "222", "247", "124", "180", "52", "155", "36", "216", "160", "165", "157", "100", "139", "252", "148", "241"]] -pk = [["61", "255", "45", "182", "240", "139", "216", "171", "63", "196", "181", "37", "57", "74", "197", "53", "116", "27", "185", "236", "208", "115", "25", "185", "218", "227", "60", "193", "3", "246", "244", "93"], ["52", "22", "83", "206", "10", "220", "93", "188", "208", "32", "144", "236", "29", "103", "110", "222", "229", "48", "72", "213", "41", "234", "47", "10", "148", "104", "28", "215", "230", "20", "42", "118"]] -s = ["31", "240", "219", "166", "219", "231", "17", "13", "124", "15", "221", "231", "83", "171", "188", "50", "208", "0", "26", "38", "200", "138", "134", "86", "114", "207", "166", "21", "172", "173", "22", "12"] +c = ["227", "54", "1", "103", "25", "8", "51", "200", "42", "48", "137", "131", "235", "125", "242", "84", "183", "97", "91", "147", "220", "212", "6", "137", "78", "205", "98", "4", "86", "38", "54", "0"] +msg = ["29", "5", "107", "75", "5", "64", "64", "196", "205", "159", "210", "19", "165", "95", "8", "250", "133", "94", "90", "98", "219", "60", "28", "215", "70", "41", "44", "146", "242", "43", "198", "82"] +nullifier = [["148", "153", "112", "14", "122", "145", "63", "128", "185", "170", "56", "24", "113", "189", "154", "203", "80", "119", "188", "94", "153", "229", "174", "119", "60", "103", "17", "179", "203", "130", "97", "157"], ["40", "9", "144", "147", "243", "150", "242", "114", "230", "116", "22", "119", "211", "163", "190", "133", "255", "5", "26", "63", "231", "98", "21", "149", "47", "116", "11", "16", "0", "160", "249", "177"]] +pk = [["74", "87", "180", "65", "150", "174", "139", "211", "92", "91", "219", "12", "66", "123", "211", "196", "82", "123", "11", "201", "82", "63", "59", "101", "9", "136", "189", "60", "111", "131", "167", "113"], ["95", "246", "95", "58", "40", "214", "39", "190", "191", "225", "9", "154", "191", "88", "71", "12", "143", "159", "146", "203", "119", "229", "206", "61", "57", "139", "82", "81", "56", "91", "104", "9"]] +s = ["245", "69", "103", "166", "190", "206", "6", "13", "60", "152", "149", "2", "133", "244", "121", "126", "169", "52", "91", "42", "38", "88", "175", "215", "43", "26", "64", "111", "66", "46", "171", "76"] diff --git a/crates/use_v2/Prover.toml b/crates/use_v2/Prover.toml index ea51f9b..aa9ea0c 100644 --- a/crates/use_v2/Prover.toml +++ b/crates/use_v2/Prover.toml @@ -1,5 +1,5 @@ -c = ["134", "240", "195", "22", "204", "198", "89", "57", "45", "204", "229", "224", "180", "36", "31", "83", "43", "157", "50", "199", "9", "72", "180", "141", "183", "98", "22", "88", "85", "111", "196", "95"] -msg = ["62", "9", "128", "210", "216", "31", "212", "145", "212", "204", "176", "89", "122", "123", "17", "11", "231", "171", "174", "211", "39", "82", "205", "229", "119", "125", "179", "74", "131", "66", "112", "69"] -nullifier = [["25", "148", "127", "98", "237", "6", "156", "138", "203", "120", "246", "140", "212", "59", "19", "136", "233", "162", "56", "144", "40", "31", "64", "159", "91", "62", "89", "88", "78", "190", "72", "252"], ["21", "32", "121", "57", "220", "94", "234", "215", "154", "206", "142", "118", "163", "161", "189", "61", "162", "175", "118", "173", "98", "67", "189", "118", "10", "158", "16", "128", "246", "63", "84", "222"]] -pk = [["22", "37", "199", "63", "92", "79", "168", "124", "56", "245", "179", "63", "36", "245", "105", "148", "254", "118", "69", "129", "135", "146", "226", "240", "104", "152", "215", "230", "190", "228", "63", "181"], ["43", "75", "38", "134", "210", "182", "69", "102", "199", "29", "243", "155", "87", "8", "16", "84", "188", "254", "2", "212", "227", "89", "252", "117", "195", "95", "242", "111", "193", "198", "165", "85"]] -s = ["240", "43", "180", "90", "190", "52", "21", "88", "231", "208", "113", "202", "39", "100", "104", "70", "13", "194", "197", "35", "241", "65", "143", "214", "4", "233", "73", "70", "198", "153", "201", "211"] +c = ["104", "248", "246", "119", "59", "33", "11", "250", "226", "154", "52", "163", "81", "47", "252", "165", "124", "124", "136", "190", "183", "193", "191", "40", "107", "58", "242", "41", "144", "100", "71", "197"] +msg = ["246", "82", "123", "249", "124", "205", "115", "211", "15", "203", "229", "240", "217", "168", "102", "129", "91", "194", "66", "135", "169", "175", "197", "223", "208", "108", "97", "133", "154", "194", "189", "240"] +nullifier = [["148", "120", "47", "67", "28", "148", "29", "55", "206", "42", "130", "59", "244", "6", "123", "100", "26", "38", "35", "43", "43", "207", "233", "228", "55", "83", "0", "92", "34", "3", "74", "23"], ["207", "234", "0", "23", "58", "234", "120", "255", "249", "250", "35", "96", "183", "9", "111", "51", "36", "249", "146", "193", "23", "199", "96", "86", "124", "1", "25", "118", "48", "125", "7", "237"]] +pk = [["127", "213", "162", "142", "77", "136", "118", "158", "181", "20", "125", "24", "200", "31", "2", "153", "162", "237", "20", "184", "57", "99", "245", "26", "186", "88", "207", "7", "21", "255", "47", "180"], ["128", "96", "141", "137", "202", "88", "234", "180", "131", "95", "105", "241", "10", "250", "127", "229", "70", "112", "253", "183", "70", "25", "109", "69", "129", "168", "48", "121", "175", "96", "114", "27"]] +s = ["202", "63", "235", "77", "204", "141", "92", "75", "164", "143", "147", "24", "156", "200", "97", "58", "118", "207", "194", "152", "255", "119", "5", "129", "9", "72", "48", "254", "135", "97", "245", "33"]