<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/netsurf/libparserutils.git/include/parserutils/utils, branch master</title>
<subtitle>git.netsurf-browser.org: libparserutils.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/'/>
<entry>
<title>(buffer): Add parserutils_buffer_appendv()</title>
<updated>2022-11-26T14:10:43+00:00</updated>
<author>
<name>Daniel Silverstone</name>
<email>dsilvers@digital-scurf.org</email>
</author>
<published>2022-11-26T14:10:43+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=010c5f5b3c3db4c07c19e706c9a70c886b614497'/>
<id>010c5f5b3c3db4c07c19e706c9a70c886b614497</id>
<content type='text'>
Signed-off-by: Daniel Silverstone &lt;dsilvers@digital-scurf.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Daniel Silverstone &lt;dsilvers@digital-scurf.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Buffer: Optimise to minimise memmove shuffles.</title>
<updated>2021-05-16T13:35:30+00:00</updated>
<author>
<name>Michael Drake</name>
<email>tlsa@netsurf-browser.org</email>
</author>
<published>2021-05-16T13:35:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=d101b2bb6dc98050f8f1b04d9d2bfeeff5a120c7'/>
<id>d101b2bb6dc98050f8f1b04d9d2bfeeff5a120c7</id>
<content type='text'>
Previously the data in the linear buffer was always stored at
the start of the allocation, pointed to by `buffer-&gt;data`.
This was achieved by memmoving every time data was consumed
from the front.

Now the allocation is pointed to by `buffer-&gt;alloc`, and the
start of the data is pointed to by `buffer-&gt;data` (as before).

This means client code does not need to change to get at the
data.

The advantage comes when we discard the from the start of the
buffer, when some data is consumed.  We now simply advance the
data pointer by the number of bytes to be discarded, and reduce
the buffer length by the same amount.

If the used portion of the buffer now fits between the start
of the allocation and the current start of the data, it is
memcpyed to the allocation start, otherwise it is left alone.

This is a significant optimisation when the size of the chunk
is large, such as when loading from disc. (When the first
(only) "chunk" is just the whole file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously the data in the linear buffer was always stored at
the start of the allocation, pointed to by `buffer-&gt;data`.
This was achieved by memmoving every time data was consumed
from the front.

Now the allocation is pointed to by `buffer-&gt;alloc`, and the
start of the data is pointed to by `buffer-&gt;data` (as before).

This means client code does not need to change to get at the
data.

The advantage comes when we discard the from the start of the
buffer, when some data is consumed.  We now simply advance the
data pointer by the number of bytes to be discarded, and reduce
the buffer length by the same amount.

If the used portion of the buffer now fits between the start
of the allocation and the current start of the data, it is
memcpyed to the allocation start, otherwise it is left alone.

This is a significant optimisation when the size of the chunk
is large, such as when loading from disc. (When the first
(only) "chunk" is just the whole file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove client allocation function.</title>
<updated>2013-12-14T23:14:09+00:00</updated>
<author>
<name>Michael Drake</name>
<email>tlsa@netsurf-browser.org</email>
</author>
<published>2013-12-14T23:14:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=8e48b931091cbc99abeffacc7af80f363495ec23'/>
<id>8e48b931091cbc99abeffacc7af80f363495ec23</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Sprinkle some C++ scoping around</title>
<updated>2010-10-23T23:00:21+00:00</updated>
<author>
<name>John Mark Bell</name>
<email>jmb@netsurf-browser.org</email>
</author>
<published>2010-10-23T23:00:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=d485dbd52ebc6a911a5ddcf6891212fccb82e8c0'/>
<id>d485dbd52ebc6a911a5ddcf6891212fccb82e8c0</id>
<content type='text'>
svn path=/trunk/libparserutils/; revision=10901
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
svn path=/trunk/libparserutils/; revision=10901
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ability to retrieve vector length. Fix missing note in iteration api</title>
<updated>2009-02-15T12:09:03+00:00</updated>
<author>
<name>Daniel Silverstone</name>
<email>dsilvers@netsurf-browser.org</email>
</author>
<published>2009-02-15T12:09:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=ac294568caf6b7c4572a62809be531a117108e8b'/>
<id>ac294568caf6b7c4572a62809be531a117108e8b</id>
<content type='text'>
svn path=/trunk/libparserutils/; revision=6527
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
svn path=/trunk/libparserutils/; revision=6527
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove dict, hash and rbtree from libparserutils</title>
<updated>2009-02-14T19:18:33+00:00</updated>
<author>
<name>Daniel Silverstone</name>
<email>dsilvers@netsurf-browser.org</email>
</author>
<published>2009-02-14T19:18:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=bf44aeaf5cd7f03d3bd842c8046b7346c5035f06'/>
<id>bf44aeaf5cd7f03d3bd842c8046b7346c5035f06</id>
<content type='text'>
svn path=/trunk/libparserutils/; revision=6512
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
svn path=/trunk/libparserutils/; revision=6512
</pre>
</div>
</content>
</entry>
<entry>
<title>Chunked arrays: Pack length of entries into array as a prefix to the data.</title>
<updated>2008-12-01T03:14:37+00:00</updated>
<author>
<name>John Mark Bell</name>
<email>jmb@netsurf-browser.org</email>
</author>
<published>2008-12-01T03:14:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=ce2b034ae9dcad49d8c2721494830c3731a60ff8'/>
<id>ce2b034ae9dcad49d8c2721494830c3731a60ff8</id>
<content type='text'>
Limit maximum length of data items stored in hash/chunked array to 2^16-1.

svn path=/trunk/libparserutils/; revision=5858
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Limit maximum length of data items stored in hash/chunked array to 2^16-1.

svn path=/trunk/libparserutils/; revision=5858
</pre>
</div>
</content>
</entry>
<entry>
<title>New datastructures:</title>
<updated>2008-11-30T16:35:19+00:00</updated>
<author>
<name>John Mark Bell</name>
<email>jmb@netsurf-browser.org</email>
</author>
<published>2008-11-30T16:35:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=aa0aa44aaab4b0693400dc4307822ac493014224'/>
<id>aa0aa44aaab4b0693400dc4307822ac493014224</id>
<content type='text'>
 + Chunked array
 + Hash table (open addressing)

Constify parameter to parserutils_stack_push

svn path=/trunk/libparserutils/; revision=5850
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 + Chunked array
 + Hash table (open addressing)

Constify parameter to parserutils_stack_push

svn path=/trunk/libparserutils/; revision=5850
</pre>
</div>
</content>
</entry>
<entry>
<title>Return errors from dictionary constructor/destructor</title>
<updated>2008-11-09T20:06:20+00:00</updated>
<author>
<name>John Mark Bell</name>
<email>jmb@netsurf-browser.org</email>
</author>
<published>2008-11-09T20:06:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=cfad5e411a897bd30bf9f6014e58a25f1ecb69da'/>
<id>cfad5e411a897bd30bf9f6014e58a25f1ecb69da</id>
<content type='text'>
svn path=/trunk/libparserutils/; revision=5673
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
svn path=/trunk/libparserutils/; revision=5673
</pre>
</div>
</content>
</entry>
<entry>
<title>Return errors from constructors and destructors.</title>
<updated>2008-11-08T23:08:30+00:00</updated>
<author>
<name>John Mark Bell</name>
<email>jmb@netsurf-browser.org</email>
</author>
<published>2008-11-08T23:08:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/netsurf/libparserutils.git/commit/?id=e53a5011237467c73c72b338570e4a455d2d1ef6'/>
<id>e53a5011237467c73c72b338570e4a455d2d1ef6</id>
<content type='text'>
svn path=/trunk/libparserutils/; revision=5652
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
svn path=/trunk/libparserutils/; revision=5652
</pre>
</div>
</content>
</entry>
</feed>
