<feed xmlns='http://www.w3.org/2005/Atom'>
<title>PROJ/include/proj/internal, branch 8.2</title>
<subtitle>Forked from https://github.com/OSGeo/PROJ</subtitle>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/'/>
<entry>
<title>WKT concatenated operation parsing: fix when a axis order reversal conversion is the first or last operation (fixes #2890)</title>
<updated>2021-10-08T12:50:55+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-10-08T12:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=2118edd31bb060ce84181c2ca3d30591a3dcd68a'/>
<id>2118edd31bb060ce84181c2ca3d30591a3dcd68a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>GeoTIFF grid reading: perf improvements (fixes #2785)</title>
<updated>2021-07-22T21:42:05+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-07-22T21:06:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=a871ada2a942624e95abc7622f9bc0d3af1f1305'/>
<id>a871ada2a942624e95abc7622f9bc0d3af1f1305</id>
<content type='text'>
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 &lt; 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
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt; 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
```
</pre>
</div>
</content>
</entry>
<entry>
<title>proj_cleanup(): make sure it frees the database context of the default PJ_CONTEXT</title>
<updated>2021-06-03T09:29:56+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-06-03T09:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=85512dd3a782cf04520fe11b645de8e4ef42932d'/>
<id>85512dd3a782cf04520fe11b645de8e4ef42932d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make proj_context_set_autoclose_database() a no-op as it would defeat the purpose of the new database connection sharing</title>
<updated>2021-06-03T09:29:16+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-06-02T20:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=9ce2d6fc0e1d7591d0d588a16ab6589910092cfc'/>
<id>9ce2d6fc0e1d7591d0d588a16ab6589910092cfc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup: add proj/internal/mutex.hpp as compat layer for mingw32 for std::mutex</title>
<updated>2021-06-02T16:08:48+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-06-02T16:07:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=e297475f0d05b3c8cfbc5cee90add7d7a37c6a02'/>
<id>e297475f0d05b3c8cfbc5cee90add7d7a37c6a02</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CMake build: add a NLOHMANN_JSON_ORIGIN=auto/external/internal setting allowing to choose which nlohmann/json to use</title>
<updated>2021-04-30T11:27:25+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-04-23T12:17:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=29ac85d55273e83a3ada19037959ae7c7823f5b7'/>
<id>29ac85d55273e83a3ada19037959ae7c7823f5b7</id>
<content type='text'>
Co-authored-by: Mike Taves &lt;mwtoews@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Mike Taves &lt;mwtoews@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Update nlohmann/json to latest 3.9.1 release</title>
<updated>2021-04-30T11:27:15+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-04-23T10:50:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=36ac12c74210083ff3d699c9a57bf8b421939483'/>
<id>36ac12c74210083ff3d699c9a57bf8b421939483</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Formatting fix</title>
<updated>2021-02-22T15:36:45+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2021-02-22T15:36:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=4dcce2a8578131c1d7bb9d505cadc169f677cc3e'/>
<id>4dcce2a8578131c1d7bb9d505cadc169f677cc3e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG: Close database connection if autoclose set to True</title>
<updated>2021-02-14T01:14:29+00:00</updated>
<author>
<name>snowman2</name>
<email>alansnow21@gmail.com</email>
</author>
<published>2021-02-14T01:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=6353da92f1284f9a46e94ccc782278c259d69166'/>
<id>6353da92f1284f9a46e94ccc782278c259d69166</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Split coordinateoperation.cpp in many files in iso19111/operation directory</title>
<updated>2020-12-12T21:23:28+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-12-12T21:09:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=4bc3fec94ae0c27c6327e163ea35098347bac0f1'/>
<id>4bc3fec94ae0c27c6327e163ea35098347bac0f1</id>
<content type='text'>
The big size of coordinateoperation.cpp could require significant amount
of RAM to build it with -O2 level, and cause compiler crashes in some
environments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The big size of coordinateoperation.cpp could require significant amount
of RAM to build it with -O2 level, and cause compiler crashes in some
environments.
</pre>
</div>
</content>
</entry>
</feed>
