|
|
- % This file is part of Jiffy released under the MIT license.
- % See the LICENSE file for more information.
-
- -module(jiffy_14_bignum_memory_leak).
-
- -include_lib("eunit/include/eunit.hrl").
-
-
- bignum_encoding_leak_test_() ->
- run_gc(),
- Before = erlang:memory(binary),
- encode_bignums(1000000),
- run_gc(),
- After = erlang:memory(binary),
- ?_assert(After - Before < 100000).
-
-
- run_gc() ->
- [erlang:garbage_collect(Pid) || Pid <- erlang:processes()].
-
-
- encode_bignums(N) ->
- {_, Ref} = spawn_monitor(fun() ->
- [jiffy:encode(1072502107250210725021072502) || _ <- lists:seq(1, N)]
- end),
- receive
- {'DOWN', Ref, process, _, _} ->
- ok
- end.
|