-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtimings.sc
593 lines (592 loc) · 10.7 KB
/
timings.sc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
# This data file was generated by the Spreadsheet Calculator.
# You almost certainly shouldn't edit it.
set numeric tblstyle = latex craction = 1
format B 8 2 0
format C 6 2 0
format D 6 2 0
format E 6 2 0
format F 6 2 0
format G 6 2 0
format H 6 2 0
format I 6 2 0
format J 6 2 0
format K 6 2 0
format L 6 2 0
format M 6 2 0
format N 6 2 0
format O 6 2 0
format P 6 2 0
format Q 6 2 0
format R 6 2 0
format S 6 2 0
format T 6 2 0
format U 6 2 0
format V 7 2 0
format Y 10 0 0
format Z 10 0 0
format AC 10 0 0
hide M
hide N
hide V
label B0 = "gforth"
label C0 = "f2c -O3 .."
label D0 = "timbre"
label E0 = "f2c noopt"
label F0 = "manual time"
label G0 = "bigForth"
rightstring H0 = "iForth"
rightstring I0 = "mxForth"
label J0 = "NT-F NCC"
rightstring K0 = "FLK"
label L0 = "gforth"
label M0 = "gforth"
label N0 = "gforth"
label O0 = "Win32Forth"
label P0 = "NT Forth"
label Q0 = "eforth"
label R0 = "eforth opt"
label S0 = "pfe"
label T0 = "thisForth"
rightstring U0 = "TILE"
rightstring V0 = "pforth"
leftstring A1 = "sieve 1000"
let A1 = 0
let B1 = L1
let C1 = 5.19
let E1 = 36.5
let F1 = 4.48
let G1 = 9.73
let H1 = 11.2
let I1 = 12.01
let J1 = 6.61
let K1 = 7.64
let L1 = 19.18
let M1 = 31.9
let N1 = 10.91
let O1 = 41.49
let P1 = 34.05
let Q1 = 41.5000000005364
let R1 = 25.3
let S1 = 47.18
let T1 = 95.07
let U1 = 256.48
let V1 = 215.27
leftstring A2 = "bubble 6000"
let B2 = L2
let C2 = 4.79
let E2 = 39.67
let F2 = 4.15
let G2 = 11.21
let H2 = 11.1
let I2 = 10.53
let J2 = 34.12
let K2 = 7.71
let L2 = 24.09
let M2 = 35.6
let N2 = 11.94
let O2 = 46.397
let P2 = 49.86
let Q2 = 52.4
let R2 = 31.1
let S2 = 53.24
let U2 = 137.34
let V2 = 489.24
leftstring A3 = "matmul 200"
let B3 = L3
let C3 = 4.02
let E3 = 37.6
let F3 = 4.43
let G3 = 12.157
let H3 = 8.8
let I3 = 9.29
let J3 = 16.66
let K3 = 7.98
let L3 = 20.7
let M3 = 28.3
let N3 = 11.24
let O3 = 39.677
let P3 = 36.53
let Q3 = 39.4
let R3 = 19.9
let S3 = 42.59
let U3 = 110.19
leftstring A4 = "fib 34"
let B4 = L4
let C4 = 7.96
let D4 = 25.02
let E4 = 39.17
let F4 = 7.96
let G4 = 10.88
let H4 = 10.5000000004768
let I4 = 7.56
let J4 = 11.74
let K4 = 6.6
let L4 = 22.75
let M4 = 36.7
let N4 = 13.13
let O4 = 52.725
let P4 = 46.23
let Q4 = 42.3
let R4 = 29.9
let S4 = 60.14
let T4 = 103.44
let U4 = 148.71
let V4 = 158.64
rightstring B5 = "time"
rightstring C5 = "Forth$\rightarrow$C"
rightstring E5 = "Forth$\rightarrow$C"
rightstring F5 = "hand-"
rightstring G5 = "big-"
rightstring T5 = "This-"
rightstring Y5 = "interp."
rightstring Z5 = ".o"
rightstring AA5 = "size"
rightstring AB5 = "compile"
rightstring AC5 = "source"
rightstring AD5 = "C"
rightstring B6 = "Gforth"
rightstring C6 = "opt."
rightstring D6 = "Timbre"
rightstring E6 = "no opt."
rightstring F6 = "coded C"
rightstring G6 = "Forth"
rightstring H6 = "iForth"
rightstring I6 = "iForth"
rightstring J6 = "NCC"
rightstring K6 = "FLK"
label L6 = "Gforth"
label M6 = "Gforth"
label N6 = "Gforth"
label O6 = "Win32Forth"
label P6 = "NT Forth"
rightstring Q6 = "PFE"
rightstring R6 = "PFE"
rightstring S6 = "PFE"
rightstring T6 = "Forth"
rightstring U6 = "TILE"
rightstring V6 = "TILE"
rightstring Y6 = "size"
rightstring Z6 = "size"
rightstring AA6 = "ratio"
rightstring AB6 = "time"
rightstring AC6 = "lines"
rightstring AD6 = "lines"
leftstring A7 = "sieve"
let B7 = L7
let C7 = $B1/C1
let D7 = $B1/D1
let E7 = $B1/E1
let F7 = $B1/F1
let G7 = $B1/G1
let H7 = $B1/H1
let I7 = $B1/I1
let J7 = $B1/J1
let K7 = $B1/K1
let L7 = $B1/L1
let M7 = $B1/M1
let N7 = $B1/N1
let O7 = $B1/O1
let P7 = $B1/P1
let Q7 = $B1/Q1
let R7 = $B1/R1
let S7 = $B1/S1
let T7 = $B1/T1
let U7 = $B1/U1
let V7 = $B1/V1
leftstring X7 = "sieve"
let Y7 = 418
let Z7 = 272
let AA7 = Y7/Z7
let AB7 = 1.1
let AC7 = 25
let AD7 = 482
leftstring A8 = "bubble"
let B8 = L8
let C8 = $B2/C2
let D8 = $B2/D2
let E8 = $B2/E2
let F8 = $B2/F2
let G8 = $B2/G2
let H8 = $B2/H2
let I8 = $B2/I2
let J8 = $B2/J2
let K8 = $B2/K2
let L8 = $B2/L2
let M8 = $B2/M2
let N8 = $B2/N2
let O8 = $B2/O2
let P8 = $B2/P2
let Q8 = $B2/Q2
let R8 = $B2/R2
let S8 = $B2/S2
let T8 = $B2/T2
let U8 = $B2/U2
let V8 = $B2/V2
leftstring X8 = "bubble"
let Y8 = 1020
let Z8 = 748
let AA8 = Y8/Z8
let AB8 = 1.6
let AC8 = 72
let AD8 = 1100
leftstring A9 = "matmul"
let B9 = L9
let C9 = $B3/C3
let D9 = $B3/D3
let E9 = $B3/E3
let F9 = $B3/F3
let G9 = $B3/G3
let H9 = $B3/H3
let I9 = $B3/I3
let J9 = $B3/J3
let K9 = $B3/K3
let L9 = $B3/L3
let M9 = $B3/M3
let N9 = $B3/N3
let O9 = $B3/O3
let P9 = $B3/P3
let Q9 = $B3/Q3
let R9 = $B3/R3
let S9 = $B3/S3
let T9 = $B3/T3
let U9 = $B3/U3
let V9 = $B3/V3
leftstring X9 = "matmul"
let Y9 = 784
let Z9 = 412
let AA9 = Y9/Z9
let AB9 = 1.4
let AC9 = 55
let AD9 = 793
leftstring A10 = "fib"
let B10 = L10
let C10 = $B4/C4
let D10 = $B4/D4
let E10 = $B4/E4
let F10 = $B4/F4
let G10 = $B4/G4
let H10 = $B4/H4
let I10 = $B4/I4
let J10 = $B4/J4
let K10 = $B4/K4
let L10 = $B4/L4
let M10 = $B4/M4
let N10 = $B4/N4
let O10 = $B4/O4
let P10 = $B4/P4
let Q10 = $B4/Q4
let R10 = $B4/R4
let S10 = $B4/S4
let T10 = $B4/T4
let U10 = $B4/U4
let V10 = $B4/V4
leftstring X10 = "fib"
let Y10 = 140
let Z10 = 140
let AA10 = Y10/Z10
let AB10 = 0.9
let AC10 = 10
let AD10 = 169
let G12 = G1/C1
let H12 = H1/D1
let I12 = I1/E1
let J12 = J1/D1
let K12 = K1/E1
let Q12 = Q1/C1
let R12 = R1/D1
let S12 = S1/D1
let T12 = T1/C1
let U12 = U1/D1
let V12 = V1/E1
let G13 = G2/C2
let H13 = H2/D2
let I13 = I2/E2
let J13 = J2/D2
let K13 = K2/E2
let Q13 = Q2/C2
let R13 = R2/D2
let S13 = S2/D2
let T13 = T2/C2
let U13 = U2/D2
let V13 = V2/E2
let G14 = G3/C3
let H14 = H3/D3
let I14 = I3/E3
let J14 = J3/D3
let K14 = K3/E3
let Q14 = Q3/C3
let R14 = R3/D3
let S14 = S3/D3
let T14 = T3/C3
let U14 = U3/D3
let V14 = V3/E3
let G15 = G4/C4
let H15 = H4/D4
let I15 = I4/E4
let J15 = J4/D4
let K15 = K4/E4
let Q15 = Q4/C4
let R15 = R4/D4
let S15 = S4/D4
let T15 = T4/C4
let U15 = U4/D4
let V15 = V4/E4
rightstring B16 = "relative"
rightstring C16 = "f2c"
rightstring E16 = "f2c"
rightstring F16 = "hand-"
rightstring G16 = "big-"
label I16 = "mx-"
leftstring J16 = "NT-Forth"
rightstring L16 = "DTC"
label M16 = "ITC"
label N16 = "P133"
rightstring O16 = "Win32-"
rightstring P16 = "NT"
rightstring R16 = "eforth"
rightstring T16 = "This-"
rightstring W16 = "abs.\ time"
rightstring B17 = "time"
rightstring C17 = "opt."
rightstring D17 = "Timbre"
rightstring E17 = "no opt."
rightstring F17 = "coded"
rightstring G17 = "Forth"
rightstring H17 = "iForth"
rightstring I17 = "Forth"
rightstring J17 = "NCC"
rightstring K17 = "FLK"
rightstring L17 = "Gforth"
rightstring M17 = "Gforth"
rightstring N17 = "Gforth"
rightstring O17 = "Forth"
rightstring P17 = "Forth"
rightstring Q17 = "eforth"
rightstring R17 = "+opt"
rightstring S17 = "PFE"
rightstring T17 = "Forth"
rightstring U17 = "TILE"
rightstring V17 = "TILE"
rightstring W17 = "f2c opt."
leftstring B18 = "sieve"
let C18 = C1/$C1
let D18 = D1/$C1
let E18 = E1/$C1
let F18 = F1/$C1
let G18 = G1/$C1
let H18 = H1/$C1
let I18 = I1/$C1
let J18 = J1/$C1
let K18 = K1/$C1
let L18 = L1/$C1
let M18 = M1/$C1
let N18 = N1/$C1
let O18 = O1/$C1
let P18 = P1/$C1
let Q18 = Q1/$C1
let R18 = R1/$C1
let S18 = S1/$C1
let T18 = T1/$C1
let U18 = U1/$C1
let V18 = V1/$C1
let W18 = C1
fmt W18 "##0.00s"
leftstring B19 = "bubble"
let C19 = C2/$C2
let D19 = D2/$C2
let E19 = E2/$C2
let F19 = F2/$C2
let G19 = G2/$C2
let H19 = H2/$C2
let I19 = I2/$C2
let J19 = J2/$C2
let K19 = K2/$C2
let L19 = L2/$C2
let M19 = M2/$C2
let N19 = N2/$C2
let O19 = O2/$C2
let P19 = P2/$C2
let Q19 = Q2/$C2
let R19 = R2/$C2
let S19 = S2/$C2
let T19 = T2/$C2
let U19 = U2/$C2
let V19 = V2/$C2
let W19 = C2
fmt W19 "##0.00s"
leftstring B20 = "matmul"
let C20 = C3/$C3
let D20 = D3/$C3
let E20 = E3/$C3
let F20 = F3/$C3
let G20 = G3/$C3
let H20 = H3/$C3
let I20 = I3/$C3
let J20 = J3/$C3
let K20 = K3/$C3
let L20 = L3/$C3
let M20 = M3/$C3
let N20 = N3/$C3
let O20 = O3/$C3
let P20 = P3/$C3
let Q20 = Q3/$C3
let R20 = R3/$C3
let S20 = S3/$C3
let T20 = T3/$C3
let U20 = U3/$C3
let V20 = V3/$C3
let W20 = C3
fmt W20 "##0.00s"
leftstring B21 = "fib"
let C21 = C4/$C4
let D21 = D4/$C4
let E21 = E4/$C4
let F21 = F4/$C4
let G21 = G4/$C4
let H21 = H4/$C4
let I21 = I4/$C4
let J21 = J4/$C4
let K21 = K4/$C4
let L21 = L4/$C4
let M21 = M4/$C4
let N21 = N4/$C4
let O21 = O4/$C4
let P21 = P4/$C4
let Q21 = Q4/$C4
let R21 = R4/$C4
let S21 = S4/$C4
let T21 = T4/$C4
let U21 = U4/$C4
let V21 = V4/$C4
let W21 = C4
fmt W21 "##0.00s"
leftstring B23 = "relative"
rightstring C23 = "f2c"
rightstring E23 = "f2c"
rightstring F23 = "hand-"
rightstring G23 = "big-"
label I23 = "mx-"
leftstring J23 = "NT-Forth"
rightstring L23 = "DTC"
rightstring M23 = "ITC"
rightstring N23 = "P133 ITC"
rightstring O23 = "Win32-"
rightstring P23 = "NT"
rightstring R23 = "eforth"
rightstring T23 = "This-"
rightstring W23 = "abs.\ time"
leftstring B24 = "time"
rightstring C24 = "opt."
rightstring D24 = "Timbre"
rightstring E24 = "no opt."
rightstring F24 = "coded"
rightstring G24 = "Forth"
rightstring H24 = "iForth"
rightstring I24 = "Forth"
rightstring J24 = "NCC"
rightstring K24 = "FLK"
rightstring L24 = "Gforth"
rightstring M24 = "Gforth"
rightstring N24 = "Gforth"
rightstring O24 = "Forth"
rightstring P24 = "Forth"
label Q24 = "eforth"
rightstring R24 = "+opt"
rightstring S24 = "PFE"
rightstring T24 = "Forth"
rightstring U24 = "TILE"
rightstring V24 = "TILE"
rightstring W24 = "f2c opt."
leftstring B25 = "sieve"
let C25 = C1/$L1
let D25 = D1/$L1
let E25 = E1/$L1
let F25 = F1/$L1
let G25 = G1/$L1
let H25 = H1/$L1
let I25 = I1/$L1
let J25 = J1/$L1
let K25 = K1/$L1
let L25 = L1/$L1
let M25 = M1/$L1
let N25 = N1/$L1
let O25 = O1/$L1
let P25 = P1/$L1
let Q25 = Q1/$L1
let R25 = R1/$L1
let S25 = S1/$L1
let T25 = T1/$L1
let U25 = U1/$L1
let V25 = V1/$L1
let W25 = C1
fmt W25 "##0.00s"
leftstring B26 = "bubble"
let C26 = C2/$L2
let D26 = D2/$L2
let E26 = E2/$L2
let F26 = F2/$L2
let G26 = G2/$L2
let H26 = H2/$L2
let I26 = I2/$L2
let J26 = J2/$L2
let K26 = K2/$L2
let L26 = L2/$L2
let M26 = M2/$L2
let N26 = N2/$L2
let O26 = O2/$L2
let P26 = P2/$L2
let Q26 = Q2/$L2
let R26 = R2/$L2
let S26 = S2/$L2
let T26 = T2/$L2
let U26 = U2/$L2
let V26 = V2/$L2
let W26 = C2
fmt W26 "##0.00s"
leftstring B27 = "matmul"
let C27 = C3/$L3
let D27 = D3/$L3
let E27 = E3/$L3
let F27 = F3/$L3
let G27 = G3/$L3
let H27 = H3/$L3
let I27 = I3/$L3
let J27 = J3/$L3
let K27 = K3/$L3
let L27 = L3/$L3
let M27 = M3/$L3
let N27 = N3/$L3
let O27 = O3/$L3
let P27 = P3/$L3
let Q27 = Q3/$L3
let R27 = R3/$L3
let S27 = S3/$L3
let T27 = T3/$L3
let U27 = U3/$L3
let V27 = V3/$L3
let W27 = C3
fmt W27 "##0.00s"
leftstring B28 = "fib"
let C28 = C4/$L4
let D28 = D4/$L4
let E28 = E4/$L4
let F28 = F4/$L4
let G28 = G4/$L4
let H28 = H4/$L4
let I28 = I4/$L4
let J28 = J4/$L4
let K28 = K4/$L4
let L28 = L4/$L4
let M28 = M4/$L4
let N28 = N4/$L4
let O28 = O4/$L4
let P28 = P4/$L4
let Q28 = Q4/$L4
let R28 = R4/$L4
let S28 = S4/$L4
let T28 = T4/$L4
let U28 = U4/$L4
let V28 = V4/$L4
let W28 = C4
fmt W28 "##0.00s"
goto L8 B0