<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git, branch cmn/tree-parse-speed</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>tree: ensure the entry filename fits in 16 bits</title>
<updated>2015-11-30T16:32:18+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-11-30T16:32:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=95ae3520c5c9f76a435f63cc2d5e18d7ba0ba171'/>
<id>95ae3520c5c9f76a435f63cc2d5e18d7ba0ba171</id>
<content type='text'>
Return an error in case the length is too big. Also take this
opportunity to have a single allocating function for the size and
overflow logic.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Return an error in case the length is too big. Also take this
opportunity to have a single allocating function for the size and
overflow logic.
</pre>
</div>
</content>
</entry>
<entry>
<title>tree: make path len uint16_t and avoid holes</title>
<updated>2015-11-28T18:21:52+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-11-28T18:18:29+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=ee42bb0e3d6534b8ac4d48df90b1bb85323972ea'/>
<id>ee42bb0e3d6534b8ac4d48df90b1bb85323972ea</id>
<content type='text'>
This reduces the size of the struct from 32 to 26 bytes, and leaves a
single padding byte at the end of the struct (which comes from the
zero-length array).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reduces the size of the struct from 32 to 26 bytes, and leaves a
single padding byte at the end of the struct (which comes from the
zero-length array).
</pre>
</div>
</content>
</entry>
<entry>
<title>tree: calculate the filename length once</title>
<updated>2015-11-28T18:21:52+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-11-14T23:44:02+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=2580077fc2cbb124409bbc6453f2923217ac7957'/>
<id>2580077fc2cbb124409bbc6453f2923217ac7957</id>
<content type='text'>
We already know the size due to the `memchr()` so use that information
instead of calling `strlen()` on it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We already know the size due to the `memchr()` so use that information
instead of calling `strlen()` on it.
</pre>
</div>
</content>
</entry>
<entry>
<title>tree: pool the entry memory allocations</title>
<updated>2015-11-28T18:21:51+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-11-14T22:50:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=ed970748b600313306657de6e5447e5447790766'/>
<id>ed970748b600313306657de6e5447e5447790766</id>
<content type='text'>
These are rather small allocations, so we end up spending a non-trivial
amount of time asking the OS for memory. Since these entries are tied to
the lifetime of their tree, we can give the tree a pool so we speed up
the allocations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are rather small allocations, so we end up spending a non-trivial
amount of time asking the OS for memory. Since these entries are tied to
the lifetime of their tree, we can give the tree a pool so we speed up
the allocations.
</pre>
</div>
</content>
</entry>
<entry>
<title>tree: avoid advancing over the filename multiple times</title>
<updated>2015-11-28T18:21:51+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-11-14T22:46:21+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=7132150ddf7a883c1f12a89c2518c1a07c0dc94c'/>
<id>7132150ddf7a883c1f12a89c2518c1a07c0dc94c</id>
<content type='text'>
We've already looked at the filename with `memchr()` and then used
`strlen()` to allocate the entry. We already know how much we have to
advance to get to the object id, so add the filename length instead of
looking at each byte again.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We've already looked at the filename with `memchr()` and then used
`strlen()` to allocate the entry. We already know how much we have to
advance to get to the object id, so add the filename length instead of
looking at each byte again.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3523 from pks-t/memleak-fixes</title>
<updated>2015-11-24T19:30:41+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2015-11-24T19:30:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=e0ab1ca0288db57fabbd63dfb6a0cd27f3acf8b2'/>
<id>e0ab1ca0288db57fabbd63dfb6a0cd27f3acf8b2</id>
<content type='text'>
Memleak fixes</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Memleak fixes</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3520 from ethomson/checkout_nsecs</title>
<updated>2015-11-24T14:56:55+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-11-24T14:56:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=41854c7f8339420824cf07fa88862cc1acfc9590'/>
<id>41854c7f8339420824cf07fa88862cc1acfc9590</id>
<content type='text'>
checkout: only consider nsecs when built that way</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
checkout: only consider nsecs when built that way</pre>
</div>
</content>
</entry>
<entry>
<title>tests: win32::longpath: free expected_msg</title>
<updated>2015-11-24T14:21:52+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2015-11-24T13:36:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=77b79dde84b6b53a3c9bdde844fcd2a73b9bcca7'/>
<id>77b79dde84b6b53a3c9bdde844fcd2a73b9bcca7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: config::stress: free `git_config` structs</title>
<updated>2015-11-24T14:21:52+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2015-11-24T13:38:17+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=9031be180b67b50a14cacae7ff9a8b5216ca1e8a'/>
<id>9031be180b67b50a14cacae7ff9a8b5216ca1e8a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: config::global: fix memleak in open_programdata</title>
<updated>2015-11-24T13:47:50+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2015-11-24T13:29:32+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=c8fab201ebbb9d3c871a7ca426e780b90271a8e0'/>
<id>c8fab201ebbb9d3c871a7ca426e780b90271a8e0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
