@@ -51,8 +51,8 @@ struct BenchmarkView: View {
51
51
52
52
@State private var witness = [
53
53
WitnessTable ( circuit: " keccak256 " , witnessRs: " 0 ms " , witnessCalc: " 0 ms " ) ,
54
- WitnessTable ( circuit: " sha256 " , witnessRs: " 0 ms " , witnessCalc: " 0 ms " ) ,
55
- WitnessTable ( circuit: " rsa " , witnessRs: " 0 ms " , witnessCalc: " 0 ms " ) ,
54
+ WitnessTable ( circuit: " SHA256 " , witnessRs: " 0 ms " , witnessCalc: " 0 ms " ) ,
55
+ WitnessTable ( circuit: " RSA " , witnessRs: " 0 ms " , witnessCalc: " 0 ms " ) ,
56
56
]
57
57
58
58
struct ProofGenTable : Identifiable {
@@ -64,8 +64,8 @@ struct BenchmarkView: View {
64
64
65
65
@State private var proofData = [
66
66
ProofGenTable ( circuit: " keccak256 " , arkWorks: " 0 ms " , rapidSnark: " 0 ms " ) ,
67
- ProofGenTable ( circuit: " sha256 " , arkWorks: " 0 ms " , rapidSnark: " 0 ms " ) ,
68
- ProofGenTable ( circuit: " rsa " , arkWorks: " 0 ms " , rapidSnark: " 0 ms " ) ,
67
+ ProofGenTable ( circuit: " SHA256 " , arkWorks: " 0 ms " , rapidSnark: " 0 ms " ) ,
68
+ ProofGenTable ( circuit: " RSA " , arkWorks: " 0 ms " , rapidSnark: " 0 ms " ) ,
69
69
]
70
70
71
71
let rsaZkeyUrl = URL ( string: " https://ci-keys.zkmopro.org/rsa_main_final.zkey " )
@@ -85,17 +85,9 @@ struct BenchmarkView: View {
85
85
NavigationStack {
86
86
VStack {
87
87
HStack {
88
- if self . filesNum != self . totalFile {
89
- Button ( action: {
90
- download ( )
91
- } ) {
92
- Text ( " Download " )
93
- } . disabled ( self . filesNum == self . totalFile) . foregroundColor ( . yellow)
94
- Spacer ( )
95
- Text ( " Files downloaded: \( filesNum) / \( totalFile) " ) . foregroundColor ( . white)
96
- }
97
- } . padding ( . horizontal) . background ( Color ( red: 37 / 255 , green: 18 / 255 , blue: 0 / 255 ) )
98
- . edgesIgnoringSafeArea ( . all)
88
+ Spacer ( )
89
+ Text ( " Files downloaded: \( filesNum) / \( totalFile) " ) . foregroundColor ( . white)
90
+ } . padding ( . horizontal)
99
91
HStack {
100
92
if self . runningBenchmark {
101
93
LoadingIndicator ( animation: . threeBalls, color: . white) . fontWeight ( . bold)
@@ -105,14 +97,27 @@ struct BenchmarkView: View {
105
97
. cornerRadius ( 10 )
106
98
. shadow ( color: Color . blue. opacity ( 0.3 ) , radius: 10 , x: 0 , y: 5 )
107
99
. padding ( . horizontal, 10 ) // Adds padding on the sides
100
+
101
+ } else if self . filesNum != self . totalFile {
102
+ Button ( action: {
103
+ download ( )
104
+ } ) {
105
+ Text ( " Download Files " ) . fontWeight ( . bold)
106
+ } . padding ( )
107
+ . frame ( maxWidth: . infinity)
108
+ . background ( Color . yellow)
109
+ . foregroundColor ( . white)
110
+ . cornerRadius ( 10 )
111
+ . shadow ( color: Color . blue. opacity ( 0.3 ) , radius: 10 , x: 0 , y: 5 )
112
+ . disabled ( self . filesNum == self . totalFile)
113
+ . padding ( [ . leading] , 10 )
108
114
} else {
109
115
HStack {
110
116
Button ( action: {
111
117
runBenchmark ( )
112
118
} ) {
113
- Text ( " Run Benchmark! " )
119
+ Text ( " Run Benchmark " )
114
120
. fontWeight ( . bold)
115
-
116
121
}
117
122
. padding ( )
118
123
. frame ( maxWidth: . infinity)
@@ -139,6 +144,7 @@ struct BenchmarkView: View {
139
144
. padding ( . horizontal, 10 ) // Adds padding on the sides
140
145
}
141
146
Text ( " Witness Calculation " )
147
+ . padding ( . top, 5 )
142
148
. fontWeight ( . bold)
143
149
. frame ( maxWidth: . infinity)
144
150
. foregroundColor ( . white)
@@ -148,22 +154,22 @@ struct BenchmarkView: View {
148
154
header: HStack {
149
155
Text ( " Circuit " )
150
156
. font ( . system( size: 14 ) )
151
- . frame ( maxWidth: . infinity, alignment: . leading )
157
+ . frame ( maxWidth: . infinity, alignment: . center )
152
158
. font ( . headline)
153
159
Text ( " Witness-rs " )
154
160
. font ( . system( size: 14 ) )
155
- . frame ( maxWidth: . infinity, alignment: . leading )
161
+ . frame ( maxWidth: . infinity, alignment: . trailing )
156
162
. font ( . headline)
157
163
Text ( " WitnessCalc " )
158
164
. font ( . system( size: 14 ) )
159
- . frame ( maxWidth: . infinity, alignment: . leading )
165
+ . frame ( maxWidth: . infinity, alignment: . trailing )
160
166
. font ( . headline)
161
167
}
162
168
) {
163
169
ForEach ( witness) { wit in
164
170
HStack {
165
171
Text ( wit. circuit)
166
- . frame ( maxWidth: . infinity, alignment: . trailing )
172
+ . frame ( maxWidth: . infinity, alignment: . center )
167
173
Text ( wit. witnessRs)
168
174
. frame ( maxWidth: . infinity, alignment: . trailing)
169
175
Text ( wit. witnessCalc)
@@ -173,6 +179,7 @@ struct BenchmarkView: View {
173
179
} . listRowBackground ( Color . gray) // Background color for Section 1
174
180
} . listStyle ( InsetGroupedListStyle ( ) ) // Apply a list style if desired
175
181
Text ( " Proof Generation " )
182
+ . padding ( . top, 5 )
176
183
. fontWeight ( . bold)
177
184
. frame ( maxWidth: . infinity)
178
185
. foregroundColor ( . white)
@@ -182,22 +189,22 @@ struct BenchmarkView: View {
182
189
header: HStack {
183
190
Text ( " Circuit " )
184
191
. font ( . system( size: 14 ) )
185
- . frame ( maxWidth: . infinity, alignment: . leading )
192
+ . frame ( maxWidth: . infinity, alignment: . center )
186
193
. font ( . headline)
187
194
Text ( " ark-works " )
188
195
. font ( . system( size: 14 ) )
189
- . frame ( maxWidth: . infinity, alignment: . leading )
196
+ . frame ( maxWidth: . infinity, alignment: . trailing )
190
197
. font ( . headline)
191
198
Text ( " rapidsnark " )
192
199
. font ( . system( size: 14 ) )
193
- . frame ( maxWidth: . infinity, alignment: . leading )
200
+ . frame ( maxWidth: . infinity, alignment: . trailing )
194
201
. font ( . headline)
195
202
}
196
203
) {
197
204
ForEach ( proofData) { pf in
198
205
HStack {
199
206
Text ( pf. circuit)
200
- . frame ( maxWidth: . infinity, alignment: . trailing )
207
+ . frame ( maxWidth: . infinity, alignment: . center )
201
208
Text ( pf. arkWorks)
202
209
. frame ( maxWidth: . infinity, alignment: . trailing)
203
210
Text ( pf. rapidSnark)
@@ -239,8 +246,7 @@ struct BenchmarkView: View {
239
246
. disabled ( !self . finishRunning)
240
247
}
241
248
//Text("non-linear constraints: 59281")
242
- }
243
- Spacer ( )
249
+ } . padding ( . bottom, 60 )
244
250
245
251
// Text("non-linear constraints: 150848")
246
252
@@ -282,11 +288,14 @@ extension BenchmarkView {
282
288
self . filesNum += 1
283
289
if self . filesNum == self . totalFile {
284
290
self . isVisible = false
291
+ self . runningBenchmark = false
292
+ } else {
293
+ self . runningBenchmark = true
285
294
}
286
295
}
287
296
288
297
func download( ) {
289
-
298
+ self . runningBenchmark = true
290
299
FileDownloader . loadFileAsync ( url: rsaZkeyUrl!) { ( path, error) in
291
300
print ( " RSA Zkey File downloaded to : \( path!) " )
292
301
handleVisibility ( )
@@ -350,6 +359,7 @@ extension BenchmarkView {
350
359
351
360
func reset( ) {
352
361
for i in 0 ... 2 {
362
+ self . finishRunning = false
353
363
self . witness [ i] . witnessRs = " 0 ms "
354
364
self . witness [ i] . witnessCalc = " 0 ms "
355
365
self . proofData [ i] . arkWorks = " 0 ms "
0 commit comments