Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Implementation of Tracing logger #241

Merged
merged 7 commits into from
Feb 5, 2024

Conversation

Fumuran
Copy link
Contributor

@Fumuran Fumuran commented Jan 11, 2024

This PR changes the logger implementation from default log to Tracing, which allows to implement informative tree-like log.

@Fumuran Fumuran force-pushed the andrew-tracing-logger branch from 4651c2b to 5452104 Compare January 11, 2024 16:04
@Fumuran

This comment was marked as outdated.

@Fumuran Fumuran force-pushed the andrew-tracing-logger branch from 512dae7 to 985e78b Compare January 14, 2024 11:43
@Fumuran
Copy link
Contributor Author

Fumuran commented Jan 14, 2024

After implementation of the tree-like logger, the output looks like so:

  • With disabled logger:
% WINTER_LOG=off cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 128           andrew-tracing-logger
    Finished release [optimized] target(s) in 0.10s
     Running `target/release/winterfell lamport-a -n 128`
Generated 128 private-public key pairs in 3273 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2156 ms
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
Proof verified
  • With default logger level:
% cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 128                          andrew-tracing-logger
    Finished release [optimized] target(s) in 0.04s
     Running `target/release/winterfell lamport-a -n 128`
Generated 128 private-public key pairs in 3274 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2157 ms
INFO     Generating proof [ 1.66s | 100.00% ]
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
INFO     Verifying proof [ 1.23ms | 100.00% ]
Proof verified
  • With debug logger level:
% WINTER_LOG=debug cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 128         andrew-tracing-logger
    Finished release [optimized] target(s) in 0.05s
     Running `target/release/winterfell lamport-a -n 128`
Generated 128 private-public key pairs in 3423 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2157 ms
INFO     Generating proof [ 1.64s | 0.40% / 100.00% ]
DEBUG    ┝━ 🐛 [debug]: Generating proof for verifying 128 Lamport+ signatures
DEBUG    ┝━ Generating execution trace [ 357ms | 21.76% ]
DEBUG    ┝━ Building domain [ 2.55ms | 0.16% ]
DEBUG    ┝━ Extending execution trace [ 298ms | 18.16% ]
DEBUG    ┝━ Computed execution trace commitment [ 72.0ms | 4.39% ]
DEBUG    ┝━ Evaluating constraints [ 708ms | 43.20% ]
DEBUG    ┝━ Converting constraint evaluations into composition polynomial columns [ 21.5ms | 1.31% ]
DEBUG    ┝━ Evaluating composition polynomial columns over LDE domain [ 84.0ms | 5.13% ]
DEBUG    ┝━ Computing constraint evaluation commitment [ 29.7ms | 1.81% ]
DEBUG    ┝━ Building DEEP composition polynomial [ 31.7ms | 1.93% ]
DEBUG    ┝━ Evaluating DEEP composition polynomial over LDE domain [ 14.2ms | 0.86% ]
DEBUG    ┝━ Computing FRI layers from composition polynomial evaluations [ 11.3ms | 0.69% ]
DEBUG    ┝━ Determining unique query positions [ 327µs | 0.02% ]
DEBUG    ┕━ Building proof object [ 2.66ms | 0.16% ]
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
INFO     Verifying proof [ 1.35ms | 100.00% ]
Proof verified
  • With trace logger level:
% WINTER_LOG=trace cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 128         andrew-tracing-logger
    Finished release [optimized] target(s) in 0.05s
     Running `target/release/winterfell lamport-a -n 128`
Generated 128 private-public key pairs in 3342 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2195 ms
INFO     Generating proof [ 1.67s | 0.39% / 100.00% ]
DEBUG    ┝━ 🐛 [debug]: Generating proof for verifying 128 Lamport+ signatures
DEBUG    ┝━ Generating execution trace [ 366ms | 21.94% ]
TRACE    │  ┕━ 📍 [trace]: Generated execution trace of 22 registers and 2^17 steps
DEBUG    ┝━ Building domain [ 3.15ms | 0.19% ]
TRACE    │  ┕━ 📍 [trace]: Built domain of 2^20 elements
DEBUG    ┝━ Extending execution trace [ 299ms | 17.92% ]
TRACE    │  ┕━ 📍 [trace]: Extended execution trace of 22 columns from 2^17 to 2^20 steps (8x blowup)
DEBUG    ┝━ Computed execution trace commitment [ 73.0ms | 4.38% ]
TRACE    │  ┕━ 📍 [trace]: Computed execution trace commitment (Merkle tree of depth 20)
DEBUG    ┝━ Evaluating constraints [ 721ms | 43.24% ]
TRACE    │  ┕━ 📍 [trace]: Evaluated constraints over domain of 2^20 elements
DEBUG    ┝━ Converting constraint evaluations into composition polynomial columns [ 21.3ms | 1.27% ]
TRACE    │  ┕━ 📍 [trace]: Converted constraint evaluations into 6 composition polynomial columns of degree 131071
DEBUG    ┝━ Evaluating composition polynomial columns over LDE domain [ 84.1ms | 5.04% ]
TRACE    │  ┕━ 📍 [trace]: Evaluated 6 composition polynomial columns over LDE domain (2^20 elements)
DEBUG    ┝━ Computing constraint evaluation commitment [ 31.3ms | 1.88% ]
TRACE    │  ┕━ 📍 [trace]: Computed constraint evaluation commitment (Merkle tree of depth 20)
DEBUG    ┝━ Building DEEP composition polynomial [ 35.0ms | 2.10% ]
TRACE    │  ┕━ 📍 [trace]: Built DEEP composition polynomial of degree 131070
DEBUG    ┝━ Evaluating DEEP composition polynomial over LDE domain [ 13.5ms | 0.81% ]
TRACE    │  ┕━ 📍 [trace]: Evaluated DEEP composition polynomial over LDE domain (2^20 elements)
DEBUG    ┝━ Computing FRI layers from composition polynomial evaluations [ 10.9ms | 0.65% ]
TRACE    │  ┕━ 📍 [trace]: Computed 4 FRI layers from composition polynomial evaluations
DEBUG    ┝━ Determining unique query positions [ 365µs | 0.02% ]
TRACE    │  ┕━ 📍 [trace]: Determined 28 unique query positions
DEBUG    ┕━ Building proof object [ 2.72ms | 0.16% ]
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
INFO     Verifying proof [ 1.29ms | 100.00% ]
Proof verified

@irakliyk
Copy link
Collaborator

Could we do something closer to this?

With disabled logger:

Generated 128 private-public key pairs in 3273 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2156 ms
Generating proof for verifying 128 Lamport+ signatures 
---------------------
Proof generated in 1804 ms
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
---------------------
Proof verified in 1.6 ms

With default logging level (INFO):

Generated 128 private-public key pairs in 3273 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2156 ms
Generating proof for verifying 128 Lamport+ signatures 
INFO     Generating proof [ 1.64s | 0.40% / 100.00% ]
INFO     ┝━ Generating execution trace [ 357ms | 21.76% ]
INFO     ┝━ Building domain [ 2.55ms | 0.16% ]
INFO     ┝━ Extending execution trace [ 298ms | 18.16% ]
INFO     ┝━ Computed execution trace commitment [ 72.0ms | 4.39% ]
INFO     ┝━ Evaluating constraints [ 708ms | 43.20% ]
INFO     ┝━ Converting constraint evaluations into composition polynomial columns [ 21.5ms | 1.31% ]
INFO     ┝━ Evaluating composition polynomial columns over LDE domain [ 84.0ms | 5.13% ]
INFO     ┝━ Computing constraint evaluation commitment [ 29.7ms | 1.81% ]
INFO     ┝━ Building DEEP composition polynomial [ 31.7ms | 1.93% ]
INFO     ┝━ Evaluating DEEP composition polynomial over LDE domain [ 14.2ms | 0.86% ]
INFO     ┝━ Computing FRI layers from composition polynomial evaluations [ 11.3ms | 0.69% ]
INFO     ┝━ Determining unique query positions [ 327µs | 0.02% ]
INFO     ┕━ Building proof object [ 2.66ms | 0.16% ]
---------------------
Proof generated in 1804 ms
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
---------------------
Proof verified in 1.6 ms

Also, instead of having tracing messages, we could probably incorporate extra info into the INFO messages.

@irakliyk
Copy link
Collaborator

irakliyk commented Jan 15, 2024

For the last point, I wonder if the output could look something like this:

Generated 128 private-public key pairs in 3273 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2156 ms
Generating proof for verifying 128 Lamport+ signatures 
INFO     Generating proof [ 1.64s | 0.40% / 100.00% ]
INFO     ┝━ Generated execution trace of 22 registers and 2^17 steps [ 357ms | 21.76% ]
INFO     ┝━ Built domain of 2^20 elements [ 2.55ms | 0.16% ]
INFO     ┝━ Extended execution trace of 22 columns from 2^17 to 2^20 steps (8x blowup) [ 298ms | 18.16% ]
INFO     ┝━ Computed execution trace commitment (Merkle tree of depth 20) [ 72.0ms | 4.39% ]
INFO     ┝━ Evaluated constraints over domain of 2^20 elements [ 708ms | 43.20% ]
INFO     ┝━ Converted constraint evaluations into 6 composition polynomial columns of degree 131071 [ 21.5ms | 1.31% ]
INFO     ┝━ Evaluated 6 composition polynomial columns over LDE domain (2^20 elements) [ 84.0ms | 5.13% ]
INFO     ┝━ Computed constraint evaluation commitment (Merkle tree of depth 20) [ 29.7ms | 1.81% ]
INFO     ┝━ Built DEEP composition polynomial of degree 131070 [ 31.7ms | 1.93% ]
INFO     ┝━ Evaluated DEEP composition polynomial over LDE domain (2^20 elements) [ 14.2ms | 0.86% ]
INFO     ┝━ Computed 4 FRI layers from composition polynomial evaluations [ 11.3ms | 0.69% ]
INFO     ┝━ Determined 28 unique query positions [ 327µs | 0.02% ]
INFO     ┕━ Built proof object [ 2.66ms | 0.16% ]
---------------------
Proof generated in 1804 ms
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
---------------------
Proof verified in 1.6 ms

@Fumuran
Copy link
Contributor Author

Fumuran commented Jan 15, 2024

After the update the output looks like so:

  • With disabled logger:
% WINTER_LOG=off cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 128           andrew-tracing-logger
    Finished release [optimized] target(s) in 0.05s
     Running `target/release/winterfell lamport-a -n 128`
Generated 128 private-public key pairs in 3339 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2222 ms
Generating proof for verifying 128 Lamport+ signatures
---------------------
Proof generated in 1684 ms
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
---------------------
Proof verified in 1.5 ms
  • With default (INFO) logging level:
% cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 128                          andrew-tracing-logger
    Finished release [optimized] target(s) in 0.04s
     Running `target/release/winterfell lamport-a -n 128`
Generated 128 private-public key pairs in 3328 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2226 ms
Generating proof for verifying 128 Lamport+ signatures
INFO     Generating proof [ 1.67s | 0.39% / 100.00% ]
INFO     ┝━ Generating execution trace [ 367ms | 21.99% ]
INFO     ┝━ Building domain [ 3.48ms | 0.21% ]
INFO     ┝━ Extending execution trace [ 299ms | 17.93% ]
INFO     ┝━ Computing execution trace commitment [ 73.2ms | 4.39% ]
INFO     ┝━ Evaluating constraints [ 717ms | 42.97% ]
INFO     ┝━ Converting constraint evaluations into composition polynomial columns [ 22.4ms | 1.34% ]
INFO     ┝━ Evaluating composition polynomial columns over LDE domain [ 82.9ms | 4.97% ]
INFO     ┝━ Computing constraint evaluation commitment [ 31.2ms | 1.87% ]
INFO     ┝━ Building DEEP composition polynomial [ 36.6ms | 2.19% ]
INFO     ┝━ Evaluating DEEP composition polynomial over LDE domain [ 13.6ms | 0.81% ]
INFO     ┝━ Computing FRI layers from composition polynomial evaluations [ 12.3ms | 0.74% ]
INFO     ┝━ Determining unique query positions [ 508µs | 0.03% ]
INFO     ┕━ Building proof object [ 2.81ms | 0.17% ]
---------------------
Proof generated in 1668 ms
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
---------------------
Proof verified in 1.6 ms

I didn't manage to add the data, requested in this comment to the INFO spans, because it is calculated after the INFO span is created, so I left the DEBUG event messages with this data:

% WINTER_LOG=trace cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 128         andrew-tracing-logger
    Finished release [optimized] target(s) in 0.05s
     Running `target/release/winterfell lamport-a -n 128`
Generated 128 private-public key pairs in 3288 ms
Signed 128 messages in 0 ms
Verified 128 signature in 2154 ms
Generating proof for verifying 128 Lamport+ signatures
INFO     Generating proof [ 1.65s | 0.39% / 100.00% ]
INFO     ┝━ Generating execution trace [ 357ms | 21.68% ]
DEBUG    │  ┕━ 🐛 [debug]: Generated execution trace of 22 registers and 2^17 steps
INFO     ┝━ Building domain [ 3.52ms | 0.21% ]
DEBUG    │  ┕━ 🐛 [debug]: Built domain of 2^20 elements
INFO     ┝━ Extending execution trace [ 299ms | 18.18% ]
DEBUG    │  ┕━ 🐛 [debug]: Extended execution trace of 22 columns from 2^17 to 2^20 steps (8x blowup)
INFO     ┝━ Computing execution trace commitment [ 71.3ms | 4.33% ]
DEBUG    │  ┕━ 🐛 [debug]: Computed execution trace commitment (Merkle tree of depth 20)
INFO     ┝━ Evaluating constraints [ 705ms | 42.88% ]
DEBUG    │  ┕━ 🐛 [debug]: Evaluated constraints over domain of 2^20 elements
INFO     ┝━ Converting constraint evaluations into composition polynomial columns [ 22.0ms | 1.34% ]
DEBUG    │  ┕━ 🐛 [debug]: Converted constraint evaluations into 6 composition polynomial columns of degree 131071
INFO     ┝━ Evaluating composition polynomial columns over LDE domain [ 87.2ms | 5.30% ]
DEBUG    │  ┕━ 🐛 [debug]: Evaluated 6 composition polynomial columns over LDE domain (2^20 elements)
INFO     ┝━ Computing constraint evaluation commitment [ 30.2ms | 1.83% ]
DEBUG    │  ┕━ 🐛 [debug]: Computed constraint evaluation commitment (Merkle tree of depth 20)
INFO     ┝━ Building DEEP composition polynomial [ 33.7ms | 2.05% ]
DEBUG    │  ┕━ 🐛 [debug]: Built DEEP composition polynomial of degree 131070
INFO     ┝━ Evaluating DEEP composition polynomial over LDE domain [ 13.5ms | 0.82% ]
DEBUG    │  ┕━ 🐛 [debug]: Evaluated DEEP composition polynomial over LDE domain (2^20 elements)
INFO     ┝━ Computing FRI layers from composition polynomial evaluations [ 13.3ms | 0.81% ]
DEBUG    │  ┕━ 🐛 [debug]: Computed 4 FRI layers from composition polynomial evaluations
INFO     ┝━ Determining unique query positions [ 294µs | 0.02% ]
DEBUG    │  ┕━ 🐛 [debug]: Determined 28 unique query positions
INFO     ┕━ Building proof object [ 2.77ms | 0.17% ]
---------------------
Proof generated in 1645 ms
Proof size: 77.2 KB
Proof security: 99 bits (54 proven)
Proof hash: af57c6073f64c58446fbd329016034d7140c15d1f3e2e27a72dd5b1ca914eb06
---------------------
Proof verified in 1.4 ms

@Fumuran Fumuran force-pushed the andrew-tracing-logger branch from 5e15e89 to 5a00b61 Compare January 30, 2024 20:46
@Fumuran Fumuran force-pushed the andrew-tracing-logger branch from 5a00b61 to a8b4696 Compare January 30, 2024 20:48
Copy link
Collaborator

@irakliyk irakliyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Not a full review, but I left some comments inline about how we can log the steps a bit differently.

@Fumuran Fumuran force-pushed the andrew-tracing-logger branch from abca6b6 to fa4eb3e Compare January 31, 2024 17:37
Copy link
Collaborator

@irakliyk irakliyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Looks good! I left some more comments inline.

Comment on lines 100 to 110
let trace = info_span!(
"Generated execution trace",
registers_num = field::Empty,
steps = field::Empty
)
.in_scope(|| {
let trace = prover.build_trace(self.sequence_length);
tracing::Span::current().record("registers_num", &format!("{}", trace.width()));
tracing::Span::current().record("steps", &format!("2^{}", trace.length().ilog2()));
trace
});
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this, and all other examples:

  • Let's change the message to generate_execution_trace.
  • Let's change num_registers to num_cols. We can get this value from TRACE_WIDTH constant. We can also expose this constant via FibProver.

Copy link
Collaborator

@irakliyk irakliyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thank you! I left a few more comments inline.

Comment on lines 256 to 260
let lde_domain_size = air.lde_domain_size();
let domain = {
let _ = info_span!("build_domain", domain_size = lde_domain_size).entered();
StarkDomain::new(&air)
};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't look like the approach I suggested works correctly (the times reported are way too small and don't add up to the final time). To make it work we'd need to do something like this:

let lde_domain_size = air.lde_domain_size();
let domain = {
    let span = info_span!("build_domain", domain_size = lde_domain_size).entered();
    let domain = StarkDomain::new(&air);
    drop(span);
    domain
};

This may be fine for some other steps below (let's update them to make sure the times are captured correctly), but for this steps .in_scope() would probably be a better solution.

Also, a couple of other comments:

  • Let's rename the field to lde_domain_size.
  • Let's add trace_length field (this can also come from air struct).

@Fumuran
Copy link
Contributor Author

Fumuran commented Feb 4, 2024

After the recent changes logger output looks like so:

  • with tracing-forest feature enabled:
% WINTER_LOG=debug cargo run --release --manifest-path examples/Cargo.toml --features "concurrent, tracing-forest" -- lamport-a -n 64
Generated 64 private-public key pairs in 1659 ms
Signed 64 messages in 0 ms
Verified 64 signature in 1077 ms
Generating proof for verifying 64 Lamport+ signatures
INFO     generate_proof [ 827ms | 0.41% / 100.00% ]
INFO     ┝━ generate_execution_trace [ 190ms | 22.94% ] num_cols: 22
INFO     ┝━ build_domain [ 1.85ms | 0.22% ] lde_domain_size: 524288 | trace_length: 65536
INFO     ┝━ commit_to_main_trace_segment [ 182ms | 0.00% / 22.03% ]
INFO     │  ┝━ extend_execution_trace [ 147ms | 17.81% ] num_cols: 22 | blowup: 8
INFO     │  ┕━ compute_execution_trace_commitment [ 34.8ms | 4.21% ] tree_depth: 19
INFO     ┝━ evaluate_constraints [ 348ms | 42.06% ] ce_domain_size: 524288
INFO     ┝━ commit_to_constraint_evaluations [ 65.9ms | 0.00% / 7.98% ]
INFO     │  ┝━ build_composition_poly_columns [ 11.3ms | 1.37% ] num_columns: 6
INFO     │  ┝━ evaluate_composition_poly_columns [ 39.5ms | 4.78% ]
INFO     │  ┕━ compute_constraint_evaluation_commitment [ 15.1ms | 1.83% ] tree_depth: 19
INFO     ┝━ build_deep_composition_poly [ 20.5ms | 2.48% ]
DEBUG    │  ┕━ 🐛 [debug]: degree: 65534
INFO     ┝━ evaluate_deep_composition_poly [ 6.60ms | 0.80% ]
INFO     ┝━ compute_fri_layers [ 7.54ms | 0.91% ] num_layers: 4
INFO     ┝━ determine_query_positions [ 287µs | 0.03% ] num_positions: 28 | grinding_factor: 16
DEBUG    │  ┕━ 🐛 [debug]: query_positions_len: 28
INFO     ┕━ build_proof_object [ 1.17ms | 0.14% ]
---------------------
Proof generated in 826 ms
Proof size: 71.3 KB
Proof security: 99 bits (54 proven)
Proof hash: 17cb62dd6974e7d2ecd8c91f171737ecf789753021fc5814046dbb0f38875b4b
---------------------
Proof verified in 1.4 ms
  • with tracing-forest feature disabled:
% WINTER_LOG=debug cargo run --release --manifest-path examples/Cargo.toml --features concurrent -- lamport-a -n 64 
Generated 64 private-public key pairs in 1681 ms
Signed 64 messages in 0 ms
Verified 64 signature in 1105 ms
Generating proof for verifying 64 Lamport+ signatures
2024-02-04T17:30:17.163637Z generate_proof:generate_execution_trace: close time.busy=189ms time.idle=416ns num_cols=22 steps=65536
2024-02-04T17:30:17.165838Z generate_proof:build_domain: close time.busy=2.08ms time.idle=1.21µs lde_domain_size=524288 trace_length=65536
2024-02-04T17:30:17.315631Z generate_proof:commit_to_main_trace_segment:extend_execution_trace: close time.busy=150ms time.idle=375ns num_cols=22 blowup=8
2024-02-04T17:30:17.352438Z generate_proof:commit_to_main_trace_segment:compute_execution_trace_commitment: close time.busy=36.8ms time.idle=1.04µs tree_depth=19
2024-02-04T17:30:17.352462Z generate_proof:commit_to_main_trace_segment: close time.busy=187ms time.idle=667ns
2024-02-04T17:30:17.705029Z generate_proof:evaluate_constraints: close time.busy=352ms time.idle=708ns ce_domain_size=524288
2024-02-04T17:30:17.716888Z generate_proof:commit_to_constraint_evaluations:build_composition_poly_columns: close time.busy=11.8ms time.idle=13.6µs num_columns=6
2024-02-04T17:30:17.757906Z generate_proof:commit_to_constraint_evaluations:evaluate_composition_poly_columns: close time.busy=41.0ms time.idle=625ns
2024-02-04T17:30:17.773616Z generate_proof:commit_to_constraint_evaluations:compute_constraint_evaluation_commitment: close time.busy=15.7ms time.idle=1.21µs tree_depth=19
2024-02-04T17:30:17.773633Z generate_proof:commit_to_constraint_evaluations: close time.busy=68.6ms time.idle=1.08µs
2024-02-04T17:30:17.793248Z generate_proof:build_deep_composition_poly: degree: 65534
2024-02-04T17:30:17.793267Z generate_proof:build_deep_composition_poly: close time.busy=19.6ms time.idle=834ns
2024-02-04T17:30:17.799630Z generate_proof:evaluate_deep_composition_poly: close time.busy=6.36ms time.idle=1.00µs
2024-02-04T17:30:17.807355Z generate_proof:compute_fri_layers: close time.busy=7.71ms time.idle=958ns num_layers=4
2024-02-04T17:30:17.807608Z generate_proof:determine_query_positions: query_positions_len: 28 num_positions=28 grinding_factor=16
2024-02-04T17:30:17.807612Z generate_proof:determine_query_positions: close time.busy=238µs time.idle=583ns num_positions=28 grinding_factor=16
2024-02-04T17:30:17.808742Z generate_proof:build_proof_object: close time.busy=1.13ms time.idle=250ns
2024-02-04T17:30:17.811719Z generate_proof: close time.busy=837ms time.idle=1.33µs
---------------------
Proof generated in 837 ms
Proof size: 70.7 KB
Proof security: 99 bits (54 proven)
Proof hash: 63563d9fcf65f3a1061f73b3b8cdafe83d82fbd93759aa91fab6982e38ac3fc1
---------------------
Proof verified in 1.6 ms

@Fumuran Fumuran requested a review from irakliyk February 4, 2024 17:56
Copy link
Collaborator

@irakliyk irakliyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thank you!

@irakliyk irakliyk merged commit 250c7a7 into facebook:main Feb 5, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants