| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This can happen if a function is marked as removed in a module
while the metadata in DEPRECATIONS lists a future release as the
"remove" release.
|
| |
|
| |
|
|
|
|
|
|
|
| |
which caused the atom 'undefined' to be the Text in update_deprecations:make_xml_info/2.
According to /home/uabhnil/Projects/OTP/otp1/HOWTO/DEPRECATE.md that 'undefined' should be changed to
"see the documentation for details." by that script.
The internal wiki page has the same opinion as the script.
|
|\
| |
| |
| |
| | |
* maint:
Update copyright year
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bring the Ryu algorithm, vendored in /erts/emulator/ryu from
https://github.com/ulfjack/ryu. We use this algorithm to add a
new formatting option to float_to_list/2 and float_to_binary/2.
This new formatting option implement an exact shortest round-trip
format, giving us the shortest format possible with no loss of
precision. It also is faster than any other formatting option
available in OTP and less memory intensive.
io_lib_format:fwrite_g/1 is changed to use this BIF, which
should be a transaparent change.
|
|\
| |
| |
| |
| |
| |
| | |
Ticket: OTP-17210
* dina/ryu_fwrite_g_1:
Change io_lib_format:fwrite_g/1 to use Ryu
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
io_lib_format_fwrite_g/1 now use the Ryu algorithm, see
(https://dl.acm.org/doi/pdf/10.1145/3192366.3192369). We get an
approximately 3x speedup over the whole doubles, with a more stable
performance profile. The Dragon4 implementation used before had a
performance profile linear with the size of the double to print.
We also see a 10% reduction in memory use with Ryu over the old
algorithm.
It is worth noting that this implementation is slightly slower (10% to
30%) for "small" doubles in some cases. This commit does not try to
optimise this case yet.
The Ryu algorithm depends on a lookup table that is generated upfront.
This commit add a script to generate it (mostly in case a bug is found
in it or we decide to change the size of the lookup table) and the
output of said script in io_lib_format_ryu_table.erl. This is done
because the table do not change from a build to another and should not
be regenerated outside of a bug or a fundamental change in the
algorithm.
The Ryu algorithm has a know worst case scenario for doubles that can be
represented as "small" integer. This commit introduce a optimised
handling for this case.
|
| | |
|
|/
|
|
|
|
| |
This commit adds a page for Removed Functionality in the user's
guide, listing the functions we've removed recently and still
warn about.
|
| |
|
|
|
|
|
| |
While at it, turn on warnings as errors to avoid this kind of
mistake in the future.
|
|
|
|
|
| |
Don't mix upper and lower case. Also don't reference non-existing
sections in the scheduled-for-removal page.
|
| |
|
| |
|
|
|