lurk-lab / lurk-rs

Lurk is a Turing-complete programming language for recursive zk-SNARKs. It is a statically scoped dialect of Lisp, influenced by Scheme and Common Lisp.
https://lurk-lang.org/
Apache License 2.0
418 stars 54 forks source link

chore: factor out `StoreCore` #1240

Closed arthurpaulino closed 2 months ago

arthurpaulino commented 2 months ago

StoreCore is a data structure that can encode data as DAGs of tagged pointers, which can be content-addressed with a custom hasher. The tag type as well as the digest type are generic.

To accomplish this, all pointer types are now unified in a single type hierarchy.

arthurpaulino commented 2 months ago

!benchmark --features cuda

github-actions[bot] commented 2 months ago

Benchmark for bab22ba

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | LEM Fibonacci Prove - rc = 100/fib/num-100-aed8503cc93afff1d81d7ea1ceb0eeab0454a122-2024-04-17 | 1497.8±11.46ms | N/A | N/A | | LEM Fibonacci Prove - rc = 100/fib/num-100-bab22ba2eb600c8f83c9d30b439084537a0f3b53-2024-04-15 | 1477.1±6.75ms | N/A | N/A | | LEM Fibonacci Prove - rc = 100/fib/num-200-aed8503cc93afff1d81d7ea1ceb0eeab0454a122-2024-04-17 | 2.8±0.01s | N/A | N/A | | LEM Fibonacci Prove - rc = 100/fib/num-200-bab22ba2eb600c8f83c9d30b439084537a0f3b53-2024-04-15 | 2.8±0.01s | N/A | N/A |
github-actions[bot] commented 2 months ago

!gpu-benchmark action succeeded! :rocket:

https://github.com/lurk-lab/lurk-rs/actions/runs/8723674973

arthurpaulino commented 2 months ago

Hmm, that's bad. Hold on

arthurpaulino commented 2 months ago

Nvm, it's okay.

This is from https://github.com/lurk-lab/lurk-rs/actions/runs/8723674973/job/23932441551:

LEM Fibonacci Prove - rc = 100/fib/num-100 (base): 1477.1±6.75ms LEM Fibonacci Prove - rc = 100/fib/num-100 (pr): 1497.8±11.46ms

LEM Fibonacci Prove - rc = 100/fib/num-200 (base): 2.8±0.01s LEM Fibonacci Prove - rc = 100/fib/num-200 (p2): 2.8±0.01s