Spaces:
Running
Running
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:'
|