|
With this commit, and the 2 previous ones, given mytest.cpp
```
int main()
{
PJ* pj = proj_create(nullptr, "+proj=vgridshift +grids=us_nga_egm96_15.tif");
for( int i = 0; i < 5*1000*1000; i++)
{
PJ_COORD coord;
coord.lpz.lam = 0;
coord.lpz.phi = 0;
coord.lpz.z = 0;
proj_trans(pj, PJ_FWD, coord);
}
return 0;
}
```
we get a x2 speedup
Before:
```
$ PROJ_LIB=data:$HOME/proj/PROJ-data/us_nga LD_LIBRARY_PATH=src/.libs hyperfine --warmup 1 'taskset -c 11 ./mytest'
Benchmark #1: taskset -c 11 ./mytest
Time (mean ± σ): 1.950 s ± 0.014 s [User: 1.945 s, System: 0.005 s]
Range (min … max): 1.937 s … 1.971 s
```
After:
```
$ PROJ_LIB=data:$HOME/proj/PROJ-data/us_nga LD_LIBRARY_PATH=src/.libs hyperfine --warmup 1 'taskset -c 11 ./mytest'
Benchmark #1: taskset -c 11 ./mytest
Time (mean ± σ): 984.4 ms ± 3.1 ms [User: 977.0 ms, System: 7.2 ms]
Range (min … max): 979.3 ms … 990.5 ms
```
|