<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/stdlib/test, branch maint-20</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' into maint-20</title>
<updated>2019-04-16T14:37:36+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2019-04-16T14:37:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=65391703e04624539d174cb810c2af7b23b001f6'/>
<id>65391703e04624539d174cb810c2af7b23b001f6</id>
<content type='text'>
* sverker/ets-no-mbuf-trapping/OTP-15660:
  erts: Remove ets traversal yielding if heap fragment
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* sverker/ets-no-mbuf-trapping/OTP-15660:
  erts: Remove ets traversal yielding if heap fragment
</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>Merge branch 'john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371' into maint-20</title>
<updated>2018-11-05T09:48:25+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-11-05T09:48:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6605e23f1c622cd6e30a523891f00f3e6ea746f8'/>
<id>6605e23f1c622cd6e30a523891f00f3e6ea746f8</id>
<content type='text'>
* john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371:
  Optimize operator '--' and yield on large inputs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371:
  Optimize operator '--' and yield on large inputs
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize operator '--' and yield on large inputs</title>
<updated>2018-11-02T16:15:32+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2018-10-15T16:17:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bf5886b790f8f386ed425f543506a4bebb48448c'/>
<id>bf5886b790f8f386ed425f543506a4bebb48448c</id>
<content type='text'>
The removal set now uses a red-black tree instead of an array on
large inputs, decreasing runtime complexity from `n*n` to
`n*log(n)`. It will also exit early when there are no more items
left in the removal set, drastically improving performance and
memory use when the items to be removed are present near the head
of the list.

This got a lot more complicated than before as the overhead of
always using a red-black tree was unacceptable when either of the
inputs were small, but this compromise has okay-to-decent
performance regardless of input size.

Co-authored-by: Dmytro Lytovchenko &lt;dmytro.lytovchenko@erlang-solutions.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The removal set now uses a red-black tree instead of an array on
large inputs, decreasing runtime complexity from `n*n` to
`n*log(n)`. It will also exit early when there are no more items
left in the removal set, drastically improving performance and
memory use when the items to be removed are present near the head
of the list.

This got a lot more complicated than before as the overhead of
always using a red-black tree was unacceptable when either of the
inputs were small, but this compromise has okay-to-decent
performance regardless of input size.

Co-authored-by: Dmytro Lytovchenko &lt;dmytro.lytovchenko@erlang-solutions.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sverker/erts/ets-select_replace-bug/OTP-15346' into maint-20</title>
<updated>2018-10-16T13:13:07+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-10-16T13:13:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6965ac876714c5ca9ae00d48c0018f157dbb27f4'/>
<id>6965ac876714c5ca9ae00d48c0018f157dbb27f4</id>
<content type='text'>
* sverker/erts/ets-select_replace-bug/OTP-15346:
  erts: Fix bug in ets:select_replace for bound key
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* sverker/erts/ets-select_replace-bug/OTP-15346:
  erts: Fix bug in ets:select_replace for bound key
</pre>
</div>
</content>
</entry>
<entry>
<title>erts: Fix bug in ets:select_replace for bound key</title>
<updated>2018-10-09T10:28:12+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-10-09T10:28:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=aa086af7156490e22d139ab2938544ad07714169'/>
<id>aa086af7156490e22d139ab2938544ad07714169</id>
<content type='text'>
which may cause following calls to ets:next or ets:prev to fail.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
which may cause following calls to ets:next or ets:prev to fail.
</pre>
</div>
</content>
</entry>
<entry>
<title>Test event insert from init</title>
<updated>2018-03-17T13:49:53+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2018-03-17T13:49:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=57b6fd27292e1c80e8e443991b9a24d3f8ad92eb'/>
<id>57b6fd27292e1c80e8e443991b9a24d3f8ad92eb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ERL-558 Add the missing function clause for string:prefix (#1702)</title>
<updated>2018-03-01T11:29:54+00:00</updated>
<author>
<name>Seyed Mirsadeghi</name>
<email>hessam.mirsadeghi@gmail.com</email>
</author>
<published>2018-03-01T11:29:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=693315d23293cb107c2ad7e50960dee40d7a3ca9'/>
<id>693315d23293cb107c2ad7e50960dee40d7a3ca9</id>
<content type='text'>
OTP-14942</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OTP-14942</pre>
</div>
</content>
</entry>
<entry>
<title>Make re_SUITE:sub_binaries less unstable</title>
<updated>2018-02-27T09:32:00+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2018-02-27T09:30:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3f79a3d1b490e829403529fd245ab8d5120d5e0e'/>
<id>3f79a3d1b490e829403529fd245ab8d5120d5e0e</id>
<content type='text'>
The small sub-binary conversion trick in the GC broke this test
pretty often on some machines.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The small sub-binary conversion trick in the GC broke this test
pretty often on some machines.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint-20' into maint</title>
<updated>2018-02-13T10:59:09+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-02-13T10:59:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=dc0b345ae5374a422250c9d2e3bec63e6186afca'/>
<id>dc0b345ae5374a422250c9d2e3bec63e6186afca</id>
<content type='text'>
* maint-20:
  Updated OTP version
  Update release notes
  Update version numbers
  erts: Add system_flags(erts_alloc,"+M?sbct *")
  erts: Add age order first fit allocator strategies
  erts: Refactor erl_ao_firstfit_alloc
  erts: Add migration options "acnl" and "acfml"
  kernel: Add os:cmd/2 with max_size option
  erts: Add more stats for mbcs_pool
  erts: Fix alloc_SUITE:migration
  stdlib: Make ets_SUITE memory check try again
  erts: Improve carrier pool search
  erts: Improve alloc_SUITE:migration
  erts: Refactor carrier dealloc migration
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint-20:
  Updated OTP version
  Update release notes
  Update version numbers
  erts: Add system_flags(erts_alloc,"+M?sbct *")
  erts: Add age order first fit allocator strategies
  erts: Refactor erl_ao_firstfit_alloc
  erts: Add migration options "acnl" and "acfml"
  kernel: Add os:cmd/2 with max_size option
  erts: Add more stats for mbcs_pool
  erts: Fix alloc_SUITE:migration
  stdlib: Make ets_SUITE memory check try again
  erts: Improve carrier pool search
  erts: Improve alloc_SUITE:migration
  erts: Refactor carrier dealloc migration
</pre>
</div>
</content>
</entry>
</feed>
