forked from Classfied3D/llvm2scratch
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscratch3.toml
More file actions
77 lines (68 loc) · 1.39 KB
/
Copy pathscratch3.toml
File metadata and controls
77 lines (68 loc) · 1.39 KB
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
[info]
name = "Scratch 3.0"
url = "https://scratch.mit.edu"
desc = "The third and current major version of Scratch. Interprets scratch code in javascript."
formats = ["project3", "sprite3"]
[exec]
preferred-branch-method = "proc-call"
compiler-type-hints = false # N/A - Not compiled
max-branch-recursion = 3_000_000
# See https://www.desmos.com/calculator/raio3grkld
preferred-branch-recursion = 300_000
[perf]
source = "https://scratch.mit.edu/projects/1030987979/ by @ChromeCat"
scale = "A time of 1 represents the time taken for 1 subtract operation"
# * - Based off my own recordings
# Looks
cost-num = 0.1
cost-name = 0.1
# Control
counter = 0.2 # *
# Sensing
answer = 0.4 # *
# Operators
add = 1.0
sub = 1.0
mul = 1.0
div = 1.0
rand = 1.3
gt = 1.0
lt = 1.0
eq = 1.0
and = 0.5
or = 0.5
not = 0.4
join = 0.7
letter-of = 0.6
length-of-str = 0.5
contains-str = 1.1 # Does vary with length but only slightly
mod = 1.4
round = 0.5
# f(x) of ...
abs = 0.8
floor = 0.7
ceil = 0.8
sqrt = 0.8
sin = 2.5
cos = 2.8
tan = 2.9
asin = 0.8
acos = 0.9
atan = 1.1
ln = 1.2
log = 1.0
exp = 1.1
pow10 = 1.1
# Variables
get-var = 0.6
set-var = 3.4
# change-var = 3.5 # Unused
# Lists
# Varies quite a lot with length - assuming n ~= 26 because that is the length of the list used in the compiler
get-list = 10.0
at-index = 2.8
# Used for ascii lookup - assume n ~= 128
index-of = 130.8
length-of-list = 2.0
# Procedures
param = 0.6