MilesCranmer commited on
Commit
1c63c5c
β€’
1 Parent(s): c8d959a

Create full benchmark set on v0.3.*

Browse files
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] > 2:
10
- eq = pysr(X, y, binary_operators=["plus", "mult", "div", "pow"], unary_operators=["neg", "sin"], niterations=20, procs=2, parsimony=1e-10)
11
  else:
12
- eq = pysr(X, y, binary_operators=["plus", "mult", "div", "pow"], unary_operators=["neg", "sin"], niterations=20, threads=2, parsimony=1e-10)
13
- ' 2>&1 | grep 'Cycles per second' | tail -n 1 | vims '%s/ //g' -l 'df:'
 
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:'