Skip to content

perf: switch SW_EC to projective coordinates - MSM#2421

Merged
shuklaayush merged 2 commits intodevelop-v1.7.0from
perf/sw-ec-projective-INT-6096
Mar 13, 2026
Merged

perf: switch SW_EC to projective coordinates - MSM#2421
shuklaayush merged 2 commits intodevelop-v1.7.0from
perf/sw-ec-projective-INT-6096

Conversation

@Tuanlinh12312
Copy link
Copy Markdown

@Tuanlinh12312 Tuanlinh12312 commented Feb 17, 2026

Resolves INT-6096.

  • CachedMulTable: updated to use projective add/double

@Tuanlinh12312 Tuanlinh12312 changed the title perf: update CachedMulTable MSM to use projective add/double (INT-6096) perf: update CachedMulTable MSM to use projective add/double Feb 17, 2026
@Tuanlinh12312 Tuanlinh12312 force-pushed the perf/sw-ec-projective-INT-6035 branch from 329b3c7 to c679543 Compare February 20, 2026 15:31
Base automatically changed from perf/sw-ec-projective-INT-6035 to develop-v1.7.0 February 20, 2026 15:40
@Tuanlinh12312 Tuanlinh12312 force-pushed the perf/sw-ec-projective-INT-6096 branch from 638f452 to 7636179 Compare February 20, 2026 15:42
@Tuanlinh12312 Tuanlinh12312 force-pushed the perf/sw-ec-projective-INT-6096 branch from 7636179 to eca8377 Compare February 20, 2026 15:44
@Tuanlinh12312 Tuanlinh12312 changed the title perf: update CachedMulTable MSM to use projective add/double perf: switch SW_EC to projective coordinates - MSM Feb 20, 2026
@Tuanlinh12312 Tuanlinh12312 force-pushed the perf/sw-ec-projective-INT-6096 branch from eca8377 to 65f9643 Compare March 6, 2026 18:25
@Tuanlinh12312 Tuanlinh12312 changed the base branch from develop-v1.7.0 to develop-v2.0.0-rc.1 March 6, 2026 18:26
@Tuanlinh12312 Tuanlinh12312 force-pushed the perf/sw-ec-projective-INT-6096 branch from 65f9643 to eca8377 Compare March 6, 2026 19:22
@Tuanlinh12312 Tuanlinh12312 changed the base branch from develop-v2.0.0-rc.1 to develop-v1.7.0 March 6, 2026 19:22
@jonathanpwang jonathanpwang requested review from shuklaayush and removed request for jonathanpwang March 10, 2026 20:59
Resolves INT-6136.

Update k256, p256, and pairing guest libraries to use projective
coordinates:
- Add z coordinate to all point generators (z=1)
- Normalize before extracting affine coordinates (x_be_bytes,
y_be_bytes, AffineCoordinates, ToEncodedPoint, to_affine)
- Use cross-multiplication for projective ConstantTimeEq
- Select all 3 coordinates in ConditionallySelectable
- Switch G2 pairing modules from impl_sw_affine! to impl_sw_proj!
- Add .normalize() in tests before comparing to known affine values

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

group app.proof_time_ms app.cycles app.cells_used leaf.proof_time_ms leaf.cycles leaf.cells_used
verify_fibair 239 322,610 0 - - -
fibonacci 1,022 1,500,265 0 - - -
regex 2,313 4,137,640 0 - - -
ecrecover 976 318,407 0 - - -
pairing 1,472 1,745,757 0 - - -

Commit: b4d966f

Benchmark Workflow

Copy link
Copy Markdown
Collaborator

@shuklaayush shuklaayush left a comment

Choose a reason for hiding this comment

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

seems trivial

@shuklaayush shuklaayush merged commit 940486d into develop-v1.7.0 Mar 13, 2026
75 of 86 checks passed
@shuklaayush shuklaayush deleted the perf/sw-ec-projective-INT-6096 branch March 13, 2026 17:58
shuklaayush pushed a commit that referenced this pull request Apr 1, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 1, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 1, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 2, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 2, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 8, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 8, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 9, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 9, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 10, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 10, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
shuklaayush pushed a commit that referenced this pull request Apr 10, 2026
Resolves INT-6096.

- CachedMulTable: updated to use projective add/double

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants