Skip to content

Revisiting transform_lc_map #363

Open
@weikengchen

Description

@weikengchen

Summary

I may hire someone to do a pass over transform_lc_map to see if we can make it faster.

See the following breakdown.

Start: Groth16::Prover
··Start: Constraint synthesis
··End: Constraint synthesis ....................................................25.365s
··Start: Inlining LCs
··End: Inlining LCs ............................................................59.181s
··Start: R1CS to QAP witness map
··End: R1CS to QAP witness map .................................................28.268s
··Start: Compute C
··End: Compute C ...............................................................48.037s
··Start: Compute A
··End: Compute A ...............................................................3.444s
··Start: Compute B in G1
··End: Compute B in G1 .........................................................2.373s
··Start: Compute B in G2
··End: Compute B in G2 .........................................................5.497s
··Start: Finish C
··End: Finish C ................................................................9.339µs
End: Groth16::Prover ...........................................................172.293s
Proof generation for one proof: 178.148426339

Problem Definition

The time transform_lc_map takes seems to be too high. In addition, we may want to see if it can be made parallel.

Proposal

Get a professional analysis of this code.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned

Metadata

Metadata

Assignees

Labels

D-hardDifficulty: hardP-mediumPriority: mediumT-performanceType: performance improvements

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions