Age | Commit message (Collapse) | Author |
|
* maint:
Optimize operator '--' and yield on large inputs
Inline erts_cmp
Clarify a magical allocation size
Fix trapping in lists:reverse/2
|
|
* john/erts/minusminus_trapping/OTP-15371:
Optimize operator '--' and yield on large inputs
Inline erts_cmp
Clarify a magical allocation size
Fix trapping in lists:reverse/2
|
|
* maint:
fix extra parameter in <type>
Update profiling.xml
Fix docs on gen_event optional callback
|
|
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 <[email protected]>
|
|
memory typo
|
|
This commit improves the bit-syntax match optimization pass,
leveraging the new SSA intermediate format to perform much more
aggressive optimizations. Some highlights:
* Watch contexts can be reused even after being passed to a
function or being used in a try block.
* Sub-binaries are no longer eagerly extracted, making it far
easier to keep "happy paths" free from binary creation.
* Trivial wrapper functions no longer disable context reuse.
|
|
|
|
* sverker/ets-count/OTP-14987:
erts,stdlib: Improve docs about obsolete ets_limit
erts: Reduce test log noise from ets_SUITE
erts: Increase scalability of ets name lookup
erts: Rename one of delete_trap to select_delete_trap
erts: Refactor usage of am_atom_put to ERTS_MAKE_AM
erts: Add system_info(ets_count)
erts: Fix narrow race between ets:new and ets:delete
|
|
|
|
|
|
The argument order is no longer important.
|
|
In order to get line numbers into the ghlink we have to add a post
processing step for all xml files.
|
|
* john/erts/tuple-arityval-fixes/OTP-14963/ERL-577:
Make doc entry for maximum tuple size reflect reality
Assert that sz <= MAX_ARITYVAL in make_arityval(sz)
|
|
|
|
* maint:
Update advanced.xml
|
|
|
|
|
|
* lukas/system/improve_profile_docs/OTP-14633:
erts: Add term2bin note about encoding guarantee
Fix broken link in INSTALL howto
system: Add info to profiling effeciency guide
Update message queue and pinfo binary docs
kernel: Clarify gen_tcp:listen documentation
system: Add External OSS tools section to profiling guilde
|
|
|
|
This commit also adds a check to see that all files that
are part of an xi:include also have part of XML_FILES
and vice versa. It also fixes any applications where this
was not true.
|
|
|
|
|
|
|
|
|
|
|
|
As of Erlang/OTP 20.0, the type of ETS tables, ets:tid(), is a
reference(). A request was put forward that the Erlang shell should be
able to handle references in its input.
This commit introduces an extended parser in module lib. It can parse
pids, ports, references, and external funs under the condition that
they can be created in the running system. The parser is meant to be
used internally in Erlang/OTP. The alternative, to extend erl_scan and
erl_parse, was deemed inferior as it would require the abstract format
be able to represent pids, ports, references, and funs, which would be
confusing as they are not expressions as such, but data types.
|
|
|
|
|
|
* egil/percept/remove-application/OTP-14163:
ssl: Remove percept from benchmark
otp: Don't mention percept in documentation
runtime_tools: Remove percept
percept: Remove application
|
|
|
|
Also don't say that there are no plans to make sharing-preserving
copying default; it has been seriously suggested.
|
|
|
|
|
|
Shorten the text by removing superfluous details about how
binary handling was different in R11B.
|
|
"Tuples funs" was removed a long time ago. There is no need to
even mention them.
|
|
|
|
|
|
|
|
Small map was wrong as we should include our own top Eterm and exclude
them for keys and values.
Large maps was wrong as it described the theoretical minimum of a
full tree, which does not happen in reality.
|
|
Thanks to Joe Armstrong for the suggestion.
|
|
The myth about tail recursion being faster than body recursion
still seems to be alive, but we don't need to spend that much
space discussing it as we needed earlier. Shorten the discussion
and include a link to to Fred Hebert's excellent blog post.
|
|
Thanks to Max Lapshin for suggesting this myth.
|
|
|
|
Fix some older errors as well.
|
|
|
|
|
|
|
|
|
|
- at appending when allocating new binary object its size will be
double (the old size + size of data to be appended)
not just double the old size
- correct some unused byte counts
|
|
|