<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/stdlib/test, branch OTP-21.3.4</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Merge branch 'sverker/ets-no-mbuf-trapping/OTP-15660'</title>
<updated>2019-03-07T19:48:02+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2019-03-07T19:48:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=8e323b5c6cbc2ffc8f8f8883daaaf419144c35f1'/>
<id>8e323b5c6cbc2ffc8f8f8883daaaf419144c35f1</id>
<content type='text'>
into sverker/maint/ets-no-mbuf-trapping/OTP-15660
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
into sverker/maint/ets-no-mbuf-trapping/OTP-15660
</pre>
</div>
</content>
</entry>
<entry>
<title>erts: Remove ets traversal yielding if heap fragment</title>
<updated>2019-03-07T19:42:57+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2019-03-07T19:42:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=8dec35910330a44de3fa08573e3029f10b3aa4ae'/>
<id>8dec35910330a44de3fa08573e3029f10b3aa4ae</id>
<content type='text'>
Many heap fragments do no longer make the GC slow.

Even worse, we are not guaranteed that a yield will provoke a GC
removing the fragments, which might lead to a one-yield-per-bucket
scenario if the heap fragment(s) still remains after each yield.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many heap fragments do no longer make the GC slow.

Even worse, we are not guaranteed that a yield will provoke a GC
removing the fragments, which might lead to a one-yield-per-bucket
scenario if the heap fragment(s) still remains after each yield.
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Correct and optimize pretty printing of strings</title>
<updated>2019-03-05T11:02:25+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2019-02-26T09:11:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=cd5dbd5204a783743c72116d81e993ec041b7396'/>
<id>cd5dbd5204a783743c72116d81e993ec041b7396</id>
<content type='text'>
Avoid traversing all of the list/string when only part of it will be
used. An explicit check that the list is flat is needed since
string:slice() accepts deep lists and more.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid traversing all of the list/string when only part of it will be
used. An explicit check that the list is flat is needed since
string:slice() accepts deep lists and more.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'hasse/stdlib/optimize_calendar_rfc3339/OTP-15630' into maint</title>
<updated>2019-03-04T11:41:12+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2019-03-04T11:41:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=069bf45930346e31869362df5e1527d8616f7db1'/>
<id>069bf45930346e31869362df5e1527d8616f7db1</id>
<content type='text'>
* hasse/stdlib/optimize_calendar_rfc3339/OTP-15630:
  stdlib: Optimize calendar:system_time_to_rfc3339()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* hasse/stdlib/optimize_calendar_rfc3339/OTP-15630:
  stdlib: Optimize calendar:system_time_to_rfc3339()
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Optimize calendar:system_time_to_rfc3339()</title>
<updated>2019-02-20T09:45:39+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2019-02-19T08:25:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=0561700c3d4a9339bf4da587d335d3c08b9d9e6f'/>
<id>0561700c3d4a9339bf4da587d335d3c08b9d9e6f</id>
<content type='text'>
Not using io_lib for formatting makes the conversion several times
faster.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not using io_lib for formatting makes the conversion several times
faster.
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Fix a bug in the Erlang Pretty Printer</title>
<updated>2019-02-18T14:34:22+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2019-02-18T14:34:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9502b4256d5c310fcac7355c71c3024851ad6751'/>
<id>9502b4256d5c310fcac7355c71c3024851ad6751</id>
<content type='text'>
Long atom names in combination with &lt;c&gt;&lt;&lt;&gt;&gt;&lt;/c&gt; could cause a crash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Long atom names in combination with &lt;c&gt;&lt;&lt;&gt;&gt;&lt;/c&gt; could cause a crash.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2118 from kjellwinblad/fix_valgrind_problem_bignum OTP-15583</title>
<updated>2019-02-14T14:32:06+00:00</updated>
<author>
<name>Kjell Winblad</name>
<email>kjellwinblad@gmail.com</email>
</author>
<published>2019-02-14T14:32:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=acf97f8bcb4846bdc5935770b22ce1cb84a90a15'/>
<id>acf97f8bcb4846bdc5935770b22ce1cb84a90a15</id>
<content type='text'>
Fix bug in binary:encode_unsigned causing a read of uninitialized memory</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix bug in binary:encode_unsigned causing a read of uninitialized memory</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize calendar:gregorian_days_to_date/1</title>
<updated>2019-01-31T09:16:39+00:00</updated>
<author>
<name>Stanislav Mayorov</name>
<email>stanislav.maiorov@eltex-co.ru</email>
</author>
<published>2019-01-31T09:02:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=27ccbe9779ddab2402a44d1a9639620ee704f634'/>
<id>27ccbe9779ddab2402a44d1a9639620ee704f634</id>
<content type='text'>
This patch improves the performance of calendar:gregorian_days_to_date/1
by changing the algorithm for finding the year to log-logarithmic.
The old implementation has linear complexity, which makes function
too slow for large values.
For example:
There is an API that allows you to create events for future dates.
There are users of this API who, for some reasons, choose dates
very far in the future. In such conditions, function works very slow.
New implementation based on interpolation search, takes 1 or 2
iterations at most cases and free from such a flaw.
A unit test was also developed to illustrate the speed of a function
at large values.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch improves the performance of calendar:gregorian_days_to_date/1
by changing the algorithm for finding the year to log-logarithmic.
The old implementation has linear complexity, which makes function
too slow for large values.
For example:
There is an API that allows you to create events for future dates.
There are users of this API who, for some reasons, choose dates
very far in the future. In such conditions, function works very slow.
New implementation based on interpolation search, takes 1 or 2
iterations at most cases and free from such a flaw.
A unit test was also developed to illustrate the speed of a function
at large values.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bug in binary:encode_unsigned causing a read of uninitialized memory</title>
<updated>2019-01-30T13:38:25+00:00</updated>
<author>
<name>Kjell Winblad</name>
<email>kjellwinblad@gmail.com</email>
</author>
<published>2019-01-29T11:33:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1df3d85824601e3c07d12ca9811866c2ef334e76'/>
<id>1df3d85824601e3c07d12ca9811866c2ef334e76</id>
<content type='text'>
The bug could be seen by running the test that is added by this commit
in a valgrind enabled emulator.

Co-authored-by: John Högberg &lt;john@erlang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The bug could be seen by running the test that is added by this commit
in a valgrind enabled emulator.

Co-authored-by: John Högberg &lt;john@erlang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dgud/stdlib/unicode-binary-bug/ERL-777/OTP-15428' into maint</title>
<updated>2018-12-03T09:39:52+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2018-12-03T09:39:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bb5192f36d1effdd03edf23df9e31ba12eef17d7'/>
<id>bb5192f36d1effdd03edf23df9e31ba12eef17d7</id>
<content type='text'>
* dgud/stdlib/unicode-binary-bug/ERL-777/OTP-15428:
  unicode_util did not handle binary input data correctly
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dgud/stdlib/unicode-binary-bug/ERL-777/OTP-15428:
  unicode_util did not handle binary input data correctly
</pre>
</div>
</content>
</entry>
</feed>
