profile
viewpoint
Péter Dimitrov peterdmv Stockholm

peterdmv/treemap 8

Implementation of the Squarified Treemap algorithm

peterdmv/learn-you-some-erlang 2

Learning Erlang

peterdmv/emacs 1

Emacs configuration

peterdmv/monitorbot 1

Telegram bot for monitoring building automation systems

peterdmv/anki-addons 0

Anki add-ons

peterdmv/BlueWallet 0

Bitcoin thin client for iOS & Android. Built with React Native

peterdmv/cbsg 0

CBSG

peterdmv/eqtls 0

QUIC-TLS prototype

peterdmv/erlang.github.io 0

The Erlang/OTP blog

peterdmv/ewallet 0

Bitcoin Wallet

push eventerlang/otp

Frej Drejhammar

commit sha 30875c1d7c7381e42acdeb342fe177b06b34cb65

diffable: Stop diffable --dis from crashing when the JIT is used When testing the JIT code generator it is useful to run it on a large number of functions. Running `diffable --dis` does just that, but as disassembly of loaded code is not supported by the JIT, diffable unfortunately crashes when trying to find labels in the empty output. This patch changes diffable:find_labels/3 to not crash on empty input, thus making diffable useful for exercising the JIT's code generator.

view details

Björn Gustavsson

commit sha 4d89339368ad6fcf2a6ee0fb98d8b69896375448

Merge pull request #2982 from frej/frej/unbreak-diffable-v2 diffable: Stop diffable --dis from crashing when the JIT is used

view details

push time in 3 minutes

PR merged erlang/otp

diffable: Stop diffable --dis from crashing when the JIT is used

When testing the JIT code generator it is useful to run it on a large number of functions. Running diffable --dis does just that, but as disassembly of loaded code is not supported by the JIT, diffable unfortunately crashes when trying to find labels in the empty output.

This patch changes diffable:find_labels/3 to not crash on empty input, thus making diffable useful for exercising the JIT's code generator.

+2 -0

0 comment

1 changed file

frej

pr closed time in 3 minutes

pull request commenterlang/otp

ets: use initial salt different from phash2

I assumed having a different initial salt would lead to the same outcome, and attempted to avoid larger rewrites. However might be wrong here, e.g. there could be more hash clashes possible. One I can think about is atom hashing. Would it make sense to start with documenting how existing hashing works (unless it's already documented somewhere)?

max-au

comment created time in 7 hours

pull request commenterlang/otp

Make yielding `maps:from_list/1`

After even more optimization of erts_qsort:

List Size	Old(ms)		New(ms)		% Slower than original
100		7.20136e-3	8.15529e-3	13.246583
1000		1.34849e-1	1.40610e-1	4.272393
10000		1.86830e+0	1.78089e+0	-4.678898
100000		2.46245e+1	2.09362e+1	-14.978234
1000000		3.06814e+2	2.46154e+2	-19.771002
10000000	3.60470e+3	2.84435e+3	-21.093425

How about that, looks like we are beating libc qsort for large arrays.

kjellwinblad

comment created time in 10 hours

PR opened erlang/otp

Reviewers
otp: Document previously removed functions team:VM

This PR adds a page for "Removed Functionality" in the user's guide, listing the things we've removed recently and still raise warnings about.

+153 -45

0 comment

7 changed files

pr created time in 13 hours

pull request commenterlang/otp

Add maps:foreach/2 function

CLA assistant check <br/>Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.<br/><sub>You have signed the CLA already but the status is still pending? Let us recheck it.</sub>

gearnode

comment created time in 13 hours

PR opened erlang/otp

Add maps:foreach/2 function

This pull request introduces foreach/2 for the maps module. A basic function to iterate over a map without an accumulator.

+46 -3

0 comment

3 changed files

pr created time in 13 hours

pull request commenterlang/otp

Use Ryu for io_lib_format:fwrite_g/1

See #2983 for benchmarks. I think the small digits benchmark i added should show the discrepancy in speed where the dragon4 algorithm beat ryu. I think the reason is that Dragon4 work left to right to generate digits, while Ryu works right to left. I think it would be possible to optimise Ryu to be on par with Dragon4 here if that would be needed, but would probably a longer endeavour.

DianaOlympos

comment created time in 14 hours

PR opened erlang/otp

io_lib_format:fwrite_g/1 benchmarks

These benchmarks are added to allow a baseline and a benchmarking of #2960

The small digit test should allows to show the discrepancy between ryu and the dragon4 algorithm for "small number of digits in decimal form" doubles. It may be worth to reduce the cutoff to less digits.

+55 -1

0 comment

1 changed file

pr created time in 14 hours

pull request commenterlang/otp

Use Ryu for io_lib_format:fwrite_g/1

I'll just mention something that seems to have been missed, namely that io_lib_SUITE:g_t/1 (and /2) can and should be used for testing generated floats. It implements the spec (without the recent addition) and does not depend on any implementation.

I suppose you mean io_SUITE. But yes indeed and the recent addition is added in test on top of it.

So there is no need to keep the old implementation; use g_t() instead.

I agree. In this case, this PR can be merged as soon as the benchmark are offered, working on it.

DianaOlympos

comment created time in 16 hours

PR closed erlang/otp

jit: Allocate code within 2GB of the emulator when possible team:VM

This lets us make relative jumps and calls into the emulator, fixing a performance issue mentioned in the JIT PR.

@dominicletz

+92 -3

1 comment

6 changed files

jhogberg

pr closed time in 16 hours

PR opened erlang/otp

diffable: Stop diffable --dis from crashing when the JIT is used

When testing the JIT code generator it is useful to run it on a large number of functions. Running diffable --dis does just that, but as disassembly of loaded code is not supported by the JIT, diffable unfortunately crashes when trying to find labels in the empty output.

This patch changes diffable:find_labels/3 to not crash on empty input, thus making diffable useful for exercising the JIT's code generator.

+2 -0

0 comment

1 changed file

pr created time in 16 hours

pull request commenterlang/otp

jit: Output size of emitted code in assembly dumps

Pushed a stale version.

frej

comment created time in 16 hours

PR opened erlang/otp

jit: Output size of emitted code in assembly dumps

With this patch, a debug compiled emulator will output a line with "CODE_SIZE: <size in bytes>" at the end of the assembler dump files.

+5 -0

0 comment

1 changed file

pr created time in 16 hours

pull request commenterlang/otp

ets: use initial salt different from phash2

make_internal_hash() used by ETS is actually a separate implementation from phash2. It was created as a copy-paste of phash2 and then tweaked, but it still returns same hash for some types. Maybe a better solution would be to tweak make_internal_hash some more to diverge further from phash2.

max-au

comment created time in 19 hours

push eventerlang/otp

Lukas Larsson

commit sha 0e5abe4a858e371e8543724469148703ff16d8b5

sasl: Fix release upgrade when replacing dependency

view details

Lukas Larsson

commit sha 4fa4a5369ef5b042010295a5d9b48f8d993e2438

ct: Search PATH for old erlang versions for compat testing

view details

Lukas Larsson

commit sha 12696630d64d95cfaf150d3c29e675650d77ae57

Merge pull request #2882 from garazdawi/lukas/sasl/fix_appup_removal_order/OTP-17113 Fix appup removal order

view details

Lukas Larsson

commit sha 6378a0c825db64df91e01ee39e3a268f4ba050b7

Merge branch 'maint'

view details

push time in 19 hours

pull request commenterlang/otp

Fix appup removal order

All tests passed. Merged for release in OTP-23.3.

Fixes https://bugs.erlang.org/browse/ERL-1410

garazdawi

comment created time in 19 hours

push eventerlang/otp

Lukas Larsson

commit sha 0e5abe4a858e371e8543724469148703ff16d8b5

sasl: Fix release upgrade when replacing dependency

view details

Lukas Larsson

commit sha 4fa4a5369ef5b042010295a5d9b48f8d993e2438

ct: Search PATH for old erlang versions for compat testing

view details

Lukas Larsson

commit sha 12696630d64d95cfaf150d3c29e675650d77ae57

Merge pull request #2882 from garazdawi/lukas/sasl/fix_appup_removal_order/OTP-17113 Fix appup removal order

view details

push time in 19 hours

PR merged erlang/otp

Fix appup removal order fix team:VM

This PR makes it possible to do release upgrades with an application replacing which applications it depends on.

One problem remains and that is that the new dependency is started after processes are resumed in the upgraded application.

+163 -10

9 comments

16 changed files

garazdawi

pr closed time in 19 hours

pull request commenterlang/otp

Fix appup removal order

CLA assistant check <br/>Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.<br/>9 out of 10 committers have signed the CLA.<br/><br/>:white_check_mark: IngelaAndin<br/>:white_check_mark: paulo-ferraz-oliveira<br/>:white_check_mark: rickard-green<br/>:white_check_mark: garazdawi<br/>:white_check_mark: HansN<br/>:white_check_mark: bjorng<br/>:white_check_mark: sverker<br/>:white_check_mark: jhogberg<br/>:white_check_mark: peterdmv<br/>:x: bmk<br/><sub>You have signed the CLA already but the status is still pending? Let us recheck it.</sub>

garazdawi

comment created time in 19 hours

push eventerlang/otp

John Högberg

commit sha bb3162f131dad817a61643c427dba8ef2f727c7e

kernel: Fix pg2 warning in kernel_SUITE:app_test/1

view details

push time in 20 hours

push eventerlang/otp

Thomas Depierre

commit sha 8abd67fa2ef741d935380784eab4849916021533

Bring HOWTO/BENCHMARKS.md formatting to modern markdown

view details

Lukas Larsson

commit sha 9db21e326646cc7b9dfc8486279193868baf7794

Merge pull request #2976 from DianaOlympos/format-benchmark-md Bring HOWTO/BENCHMARKS.md formatting to modern markdown

view details

push time in 20 hours

pull request commenterlang/otp

Bring HOWTO/BENCHMARKS.md formatting to modern markdown

Thanks for your contribution!

DianaOlympos

comment created time in 20 hours

PR merged erlang/otp

Bring HOWTO/BENCHMARKS.md formatting to modern markdown team:VM

The formatting was driving me crazy.

Also uh, should we get rid of the "This will hopefully change in the near future."

This is 9 years old and afaict this is still not available...

+25 -23

2 comments

1 changed file

DianaOlympos

pr closed time in 20 hours

Pull request review commenterlang/otp

Add extended error information for the os module

 BIF_RETTYPE os_unsetenv_1(BIF_ALIST_1) }  BIF_RETTYPE os_set_signal_2(BIF_ALIST_2) {-    if (is_atom(BIF_ARG_1) && ((BIF_ARG_2 == am_ignore) ||-                               (BIF_ARG_2 == am_default) ||-                               (BIF_ARG_2 == am_handle))) {-        if (!erts_set_signal(BIF_ARG_1, BIF_ARG_2))-            goto error;+    if (! ( (BIF_ARG_2 == am_ignore) ||+            (BIF_ARG_2 == am_default) ||+            (BIF_ARG_2 == am_handle) )) {+        BIF_P->fvalue = am_badopt;+        BIF_ERROR(BIF_P, BADARG | EXF_HAS_EXT_INFO);+    } +    if (is_not_atom(BIF_ARG_1)) {+    error:+        BIF_ERROR(BIF_P, BADARG);+    } else {+        if (!erts_set_signal(BIF_ARG_1, BIF_ARG_2)) {+            goto error;+        }         BIF_RET(am_ok);     }

Nitpick:

    if (is_atom(BIF_ARG_1)) {
        if (erts_set_signal(BIF_ARG_1, BIF_ARG_2)) {
            BIF_RET(am_ok);
        }
    }

    BIF_ERROR(BIF_P, BADARG);
bjorng

comment created time in 21 hours

PR opened erlang/otp

Add extended error information for the os module enhancement team:VM testing
+319 -23

0 comment

6 changed files

pr created time in 21 hours

issue closederlang/eep

EEP-55's Backwards Compatibility

This is more of a question/request for guidance that an issue.

EEP-55's Backwards Compatibility seems to refer to using old code on an Erlang/OTP version that already supports the pinning operator (e.g. OTP 24, 25, ...).

I'm wondering how we'd be able to use new code that uses it in older Erlang/OTP-supported software (e.g. OTP 19, 20, ...). Would a parse transform of any kind be possible, here?

Thanks.

closed time in a day

paulo-ferraz-oliveira

issue commenterlang/eep

EEP-55's Backwards Compatibility

Hello!

This is a question better asked of the EEP author, so take this to the mailing list or the PR associated with the EEP.

Lukas

paulo-ferraz-oliveira

comment created time in a day

push eventerlang/otp

Björn Gustavsson

commit sha 5d0447e81c4ebef5a1a637c72cb20b39562b3aab

{atomics,counters}_SUITE: Correct printing of module names

view details

Björn Gustavsson

commit sha 68f90bb00ed41cfa338de345492c5978ec18995b

Add error_info_lib.erl containing common error info testing code

view details

Björn Gustavsson

commit sha 515271f08b6f02634ce540850f5be73e735c3416

binary: Add extended error information for all BIFs

view details

Björn Gustavsson

commit sha d73cf41efac51c4ff36da07b81c5eb992164f329

lists: Add extended error information for all BIFs

view details

Björn Gustavsson

commit sha 75149043d66852fc0a990f7210a1f910700776c2

maps: Add extended error information for all BIFs

view details

Björn Gustavsson

commit sha b1c89cd9aec472e2c10dcd53d94ed1cdbc3afd93

unicode: Add extended error information for all BIFs

view details

Björn Gustavsson

commit sha ba02ac0371a90ea52f4ddc8b7fbd50de94e8b83a

math: Add extended error information for all BIFs

view details

Björn Gustavsson

commit sha c55c632c75a927e2ccd527f50408c5df2d9748aa

re: Add extended error information for all BIFs

view details

Björn Gustavsson

commit sha 64f6900ed384a6fa612ed121d02b8cd82403ffb2

Merge pull request #2973 from bjorng/bjorn/stdlib/add-more-error-information/OTP-16686 Add extended error information for the remaining BIFs in STDLIB

view details

push time in a day

more