Spaces:
Running
Running
MilesCranmer
commited on
Commit
β’
1c63c5c
1
Parent(s):
c8d959a
Create full benchmark set on v0.3.*
Browse files- benchmarks/README.md +33 -0
- {test β benchmarks}/benchmark.sh +4 -4
benchmarks/README.md
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Benchmark 1
|
2 |
+
|
3 |
+
The following benchmarks were ran with this command on a node on CCA's BNL cluster (40-cores). At no time was the node fully busy. The tags were put into the file `tags.txt`, and the `benchmark.sh` was copied to the root folder. This is the command used:
|
4 |
+
|
5 |
+
```bash
|
6 |
+
for x in $(cat tags.txt); do sleep 120 && git checkout $x &> /dev/null && nohup ./benchmark.sh > performance_v3_$x.txt &; done
|
7 |
+
```
|
8 |
+
with this API call in `benchmark.sh`
|
9 |
+
```python
|
10 |
+
eq = pysr(X, y, binary_operators=["plus", "mult", "div", "pow"], unary_operators=["sin"], niterations=20, procs=4, parsimony=1e-10, npop=1000, ncyclesperiteration=1000)
|
11 |
+
```
|
12 |
+
|
13 |
+
(with threads switched with procs in <v0.3.2)
|
14 |
+
|
15 |
+
|
16 |
+
Version | Cycles/second
|
17 |
+
--- | ---
|
18 |
+
v0.3.2 | 37526
|
19 |
+
v0.3.3 | 38400
|
20 |
+
v0.3.4 | 28700
|
21 |
+
v0.3.5 | 32700
|
22 |
+
v0.3.6 | 25900
|
23 |
+
v0.3.7 | 26600
|
24 |
+
v0.3.8 | 7470
|
25 |
+
v0.3.9 | 6760
|
26 |
+
v0.3.10 |
|
27 |
+
v0.3.11 | 19500
|
28 |
+
v0.3.12 | 19000
|
29 |
+
v0.3.13 | 15200
|
30 |
+
v0.3.14 | 14700
|
31 |
+
v0.3.15 | 42000
|
32 |
+
|
33 |
+
v0.3.10 was frozen.
|
{test β benchmarks}/benchmark.sh
RENAMED
@@ -6,8 +6,8 @@ import numpy as np
|
|
6 |
from pysr import pysr
|
7 |
X=np.random.randn(100, 2)*5
|
8 |
y=2*np.sin((X[:, 0]+X[:, 1]))*np.exp(X[:, 1]/3)
|
9 |
-
if version[1] >= 3 and version[2]
|
10 |
-
eq = pysr(X, y, binary_operators=["plus", "mult", "div", "pow"], unary_operators=["
|
11 |
else:
|
12 |
-
eq = pysr(X, y, binary_operators=["plus", "mult", "div", "pow"], unary_operators=["
|
13 |
-
' 2>&1 | grep '
|
|
|
6 |
from pysr import pysr
|
7 |
X=np.random.randn(100, 2)*5
|
8 |
y=2*np.sin((X[:, 0]+X[:, 1]))*np.exp(X[:, 1]/3)
|
9 |
+
if version[1] >= 3 and version[2] >= 2:
|
10 |
+
eq = pysr(X, y, binary_operators=["plus", "mult", "div", "pow"], unary_operators=["sin"], niterations=20, procs=4, parsimony=1e-10, npop=1000, ncyclesperiteration=1000)
|
11 |
else:
|
12 |
+
eq = pysr(X, y, binary_operators=["plus", "mult", "div", "pow"], unary_operators=["sin"], niterations=20, threads=4, parsimony=1e-10, npop=1000, ncyclesperiteration=1000)
|
13 |
+
' 2>&1 | grep 'per second' | tail -n 1 | vims '%s/ //g' -l 'df:'
|