Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Munksgaard/99f9a1000a6a8235873623eb68bbca14 to your computer and use it in GitHub Desktop.
Save Munksgaard/99f9a1000a6a8235873623eb68bbca14 to your computer and use it in GitHub Desktop.
MIX_ENV=prod mix run bench.exs
Operating System: Linux
CPU Information: Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz
Number of Available Cores: 8
Available memory: 15.30 GB
Elixir 1.14.3
Erlang 25.3
Benchmark suite executing with the following configuration:
warmup: 2 s
time: 10 s
memory time: 2 s
reduction time: 0 ns
parallel: 1
inputs: none specified
Estimated total run time: 28 s
Benchmarking irreg ...
Benchmarking rgbbox ...
Name ips average deviation median 99th %
irreg 0.0974 10.27 s ±0.00% 10.27 s 10.27 s
rgbbox 0.0521 19.20 s ±0.00% 19.20 s 19.20 s
Comparison:
irreg 0.0974
rgbbox 0.0521 - 1.87x slower +8.93 s
Memory usage statistics:
Name Memory usage
irreg 580.90 MB
rgbbox 580.59 MB - 1.00x memory usage -0.30997 MB
**All measurements for memory usage were the same**
Profiling irreg with eprof...
Profile results of #PID<0.2238.0>
# CALLS % TIME µS/CALL
Total 3122579 100.0 9718611 0.31
ParallelStream.Defaults.worker_work_ratio/0 1 0.00 0 0.00
ParallelStream.Defaults.num_workers/0 1 0.00 0 0.00
anonymous fn/1 in Enumerable.Stream.do_done/2 1 0.00 0 0.00
:erlang.max/2 1 0.00 0 0.00
Stream.Reducers.chunk_every/5 1 0.00 0 0.00
Enumerable.Range.reduce/3 1 0.00 0 0.00
:lists.keyfind/3 2 0.00 0 0.00
ParallelStream.Mapper.Consumer.build!/1 1 0.00 0 0.00
Enum.each/2 2 0.00 0 0.00
anonymous fn/2 in Stream.chunk_while/4 1 0.00 0 0.00
anonymous fn/3 in Stream.do_transform/7 2 0.00 0 0.00
anonymous fn/1 in Stream.transform/3 1 0.00 0 0.00
anonymous fn/1 in Stream.transform/3 1 0.00 0 0.00
anonymous fn/5 in Stream.transform/3 1 0.00 0 0.00
anonymous fn/6 in Stream.transform/4 1 0.00 0 0.00
Stream.transform/4 1 0.00 0 0.00
Stream.transform/3 1 0.00 0 0.00
Stream.chunk_while_fun/2 1 0.00 0 0.00
Stream.chunk_while/4 1 0.00 0 0.00
Stream.chunk_every/4 1 0.00 0 0.00
Keyword.get/3 2 0.00 0 0.00
ParallelStream.Producer.build!/3 1 0.00 0 0.00
Enumerable.Function.reduce/3 2 0.00 0 0.00
ParallelStream.Mapper.map/3 1 0.00 0 0.00
ParallelStream.map/3 1 0.00 0 0.00
ParallelStream.map/2 1 0.00 0 0.00
anonymous fn/2 in :elixir_compiler_1.__FILE__/1 1 0.00 0 0.00
:erlang.system_info/1 1 0.00 1 1.00
anonymous fn/3 in Stream.Reducers.chunk_every/5 1 0.00 1 1.00
Enum.to_list/1 1 0.00 1 1.00
Enum.reverse/1 1 0.00 1 1.00
Stream.do_transform/7 2 0.00 1 0.50
Stream.after_chunk_while/2 1 0.00 1 1.00
ParallelStream.Workers.build!/3 1 0.00 1 1.00
anonymous fn/3 in ParallelStream.Producer.build!/4 1 0.00 1 1.00
anonymous fn/1 in ParallelStream.Producer.build!/4 1 0.00 1 1.00
ParallelStream.Producer.build!/4 1 0.00 2 2.00
Range.new/2 3 0.00 2 0.67
Raytracer.render/4 1 0.00 2 2.00
anonymous fn/2 in ParallelStream.Workers.build!/3 16 0.00 3 0.19
anonymous fn/1 in ParallelStream.Producer.build!/4 16 0.00 5 0.31
Task.get_callers/1 33 0.00 6 0.18
anonymous fn/1 in ParallelStream.Producer.build!/4 16 0.00 6 0.38
:erlang.apply/2 1 0.00 7 7.00
Task.start_link/1 33 0.00 7 0.21
:proc_lib.get_my_name/0 33 0.00 8 0.24
Enum."-each/2-lists^foreach/1-0-"/2 34 0.00 11 0.32
Process.info/2 33 0.00 11 0.33
:proc_lib.proc_info/2 33 0.00 11 0.33
anonymous fn/4 in ParallelStream.Workers.build!/3 16 0.00 15 0.94
Task.start_link/3 33 0.00 17 0.52
Task.Supervised.start_link/3 33 0.00 18 0.55
:proc_lib.get_ancestors/0 33 0.00 18 0.55
Task.get_owner/1 33 0.00 20 0.61
Enum.reduce_range/5 34 0.00 22 0.65
:erlang.process_info/2 66 0.00 25 0.38
:proc_lib.spawn_link/3 33 0.00 31 0.94
anonymous fn/7 in Stream.do_transform_inner_list/7 12501 0.03 2862 0.23
Enum.take/2 12501 0.03 2907 0.23
anonymous fn/3 in Enumerable.Stream.do_reduce/3 12502 0.03 2931 0.23
anonymous fn/3 in Enumerable.List.reduce/3 12501 0.03 3168 0.25
Stream.with_index/1 12501 0.03 3257 0.26
anonymous fn/1 in Stream.with_index/2 12501 0.04 3428 0.27
anonymous fn/5 in Enumerable.Range.reduce/5 12500 0.04 3433 0.27
Enumerable.Stream.reduce/3 12502 0.04 3498 0.28
anonymous fn/4 in Enumerable.Stream.do_each/4 12500 0.04 3581 0.29
Enumerable.Stream.do_done/2 12502 0.04 3701 0.30
ParallelStream.Mapper.Consumer.receive_from_outqueue/1 12501 0.04 4136 0.33
anonymous fn/2 in Enumerable.Stream.do_reduce/3 12502 0.04 4184 0.33
Enumerable.impl_for/1 25006 0.05 5275 0.21
Stream.do_transform_step/2 25002 0.06 5955 0.24
anonymous fn/2 in ParallelStream.Mapper.Consumer.build!/1 12501 0.06 6168 0.49
anonymous fn/3 in Stream.do_transform_result/6 25002 0.07 6996 0.28
Enumerable.Stream."-do_reduce/3-lists^foldl/2-0-"/3 25004 0.08 8144 0.33
Enumerable.Stream.do_reduce/3 12502 0.08 8218 0.66
Stream.with_index/2 12501 0.10 9728 0.78
Enumerable.impl_for!/1 25006 0.10 9789 0.39
Stream.do_transform_result/6 25002 0.11 10847 0.43
anonymous fn/4 in ParallelStream.Producer.build!/4 12501 0.12 12009 0.96
Enumerable.reduce/3 25006 0.15 14472 0.58
Enumerable.Stream.do_each/4 25002 0.17 16056 0.64
Enum.map/2 25004 0.19 18554 0.74
Stream.do_transform/5 25008 0.20 19136 0.77
Stream.do_transform_inner_list/7 37503 0.21 19953 0.53
Stream.do_transform_user/6 50006 0.24 23448 0.47
:lists.reverse/1 62511 0.31 30061 0.48
:lists.reverse/2 25004 0.57 55298 2.21
:erlang.spawn_link/3 33 0.80 78156 2368.36
anonymous fn/2 in Enum.reverse/1 1000001 1.57 152288 0.15
Enum.at/2 1000001 1.88 182607 0.18
Enum.slice_forward/4 1000001 1.91 185244 0.19
anonymous fn/5 in Stream.Reducers.chunk_every/5 1000001 2.45 238431 0.24
anonymous fn/3 in Enum.reverse/1 1000001 2.93 284281 0.28
Enumerable.Range.reduce/5 1012502 3.05 296729 0.29
Enum.at/3 1000001 3.21 311674 0.31
anonymous fn/4 in Stream.chunk_while_fun/2 1000001 3.27 317424 0.32
anonymous fn/3 in Enum.map/2 1000001 3.32 322349 0.32
Enum.slice_list/4 1000001 3.35 325888 0.33
anonymous fn/3 in Enum.map/2 1000033 3.42 332282 0.33
anonymous fn/3 in Enumerable.Stream.reduce/3 1012502 3.61 350689 0.35
anonymous fn/3 in Stream.with_index/2 1000001 3.70 359185 0.36
Enum.take_list/2 2000003 4.91 477586 0.24
Enum."-map/2-lists^map/1-0-"/2 1012502 5.31 516183 0.51
anonymous fn/5 in ParallelStream.Producer.build!/4 1000001 5.74 558140 0.56
Enumerable.List.reduce/3 2062507 6.43 625178 0.30
anonymous fn/1 in ParallelStream.Mapper.Consumer.receive_from_outqueue/1 1000001 8.48 823745 0.82
:erlang.send/2 2000035 13.33 1295926 0.65
Enum.drop_list/2 8500001 14.03 1363177 0.16
Profile done over 108 matching functions
Profile results of #PID<0.2239.0>
# CALLS % TIME µS/CALL
Total 2000021 100.0 1853807 0.93
:erlang.apply/2 1 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/0 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:erlang.fun_info/2 2 0.00 1 0.50
Task.Supervised.get_initial_call/1 1 0.00 1 1.00
:proc_lib.init_p_do_apply/3 1 0.00 1 1.00
:proc_lib.init_p/5 1 0.00 2 2.00
:erlang.send/2 1000001 44.66 827996 0.83
ParallelStream.Inqueue.distribute/0 1000002 55.34 1025805 1.03
Profile done over 15 matching functions
Profile results of #PID<0.2240.0>
# CALLS % TIME µS/CALL
Total 12502 100.0 13771 1.10
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62501 38.51 53032 0.85
ParallelStream.Outqueue.collect/1 62502 61.49 84678 1.35
Profile done over 15 matching functions
Profile results of #PID<0.2241.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13755 1.10
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.96 52220 0.84
ParallelStream.Outqueue.collect/1 62501 62.04 85338 1.37
Profile done over 15 matching functions
Profile results of #PID<0.2242.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13471 1.08
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.30 51602 0.83
ParallelStream.Outqueue.collect/1 62501 61.70 83114 1.33
Profile done over 15 matching functions
Profile results of #PID<0.2243.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13563 1.08
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.53 52263 0.84
ParallelStream.Outqueue.collect/1 62501 61.47 83374 1.33
Profile done over 15 matching functions
Profile results of #PID<0.2244.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13533 1.08
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.21 50354 0.81
ParallelStream.Outqueue.collect/1 62501 62.79 84976 1.36
Profile done over 15 matching functions
Profile results of #PID<0.2245.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13272 1.06
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.33 49546 0.79
ParallelStream.Outqueue.collect/1 62501 62.67 83174 1.33
Profile done over 15 matching functions
Profile results of #PID<0.2246.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13375 1.07
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.05 49549 0.79
ParallelStream.Outqueue.collect/1 62501 62.95 84201 1.35
Profile done over 15 matching functions
Profile results of #PID<0.2247.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13684 1.09
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 36.77 50317 0.81
ParallelStream.Outqueue.collect/1 62501 63.23 86529 1.38
Profile done over 15 matching functions
Profile results of #PID<0.2248.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13440 1.08
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.89 50927 0.81
ParallelStream.Outqueue.collect/1 62501 62.11 83480 1.34
Profile done over 15 matching functions
Profile results of #PID<0.2249.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13651 1.09
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.37 51012 0.82
ParallelStream.Outqueue.collect/1 62501 62.63 85498 1.37
Profile done over 15 matching functions
Profile results of #PID<0.2250.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13803 1.10
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.04 51135 0.82
ParallelStream.Outqueue.collect/1 62501 62.96 86900 1.39
Profile done over 15 matching functions
Profile results of #PID<0.2251.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13297 1.06
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.89 50384 0.81
ParallelStream.Outqueue.collect/1 62501 62.11 82592 1.32
Profile done over 15 matching functions
Profile results of #PID<0.2252.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13372 1.07
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.90 50687 0.81
ParallelStream.Outqueue.collect/1 62501 62.10 83040 1.33
Profile done over 15 matching functions
Profile results of #PID<0.2253.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13314 1.07
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.30 49667 0.79
ParallelStream.Outqueue.collect/1 62501 62.70 83481 1.34
Profile done over 15 matching functions
Profile results of #PID<0.2254.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13089 1.05
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.79 49458 0.79
ParallelStream.Outqueue.collect/1 62501 62.21 81433 1.30
Profile done over 15 matching functions
Profile results of #PID<0.2255.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 13108 1.05
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.16 48713 0.78
ParallelStream.Outqueue.collect/1 62501 62.84 82376 1.32
Profile done over 15 matching functions
Profile results of #PID<0.2256.0>
# CALLS % TIME µS/CALL
Total 4589412 100.0 2058069 0.45
:erlang.apply/2 1 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:erlang.fun_info/2 2 0.00 1 0.50
Task.Supervised.invoke_mfa/2 1 0.00 1 1.00
Task.Supervised.get_initial_call/1 1 0.00 1 1.00
:proc_lib.init_p_do_apply/3 1 0.00 1 1.00
:proc_lib.init_p/5 1 0.00 7 7.00
Raytracer.y/1 62485 0.06 12776 0.20
Integer.mod/2 62485 0.07 15168 0.24
Raytracer.colour_to_pixel/1 62485 0.10 20676 0.33
Raytracer.trace_ray/6 62485 0.13 26102 0.42
Raytracer.reflect/2 45592 0.15 30543 0.67
anonymous fn/5 in Raytracer.render/4 62485 0.20 40778 0.65
Raytracer.scatter/2 45592 0.20 41373 0.91
ParallelStream.Workers.Worker.work/3 62486 0.20 41485 0.66
Raytracer.normalise/1 108077 0.22 45138 0.42
Raytracer.norm/1 108077 0.22 45708 0.42
Raytracer.ray/3 62485 0.32 66688 1.07
Raytracer.point_at_param/2 258430 0.53 108784 0.42
Raytracer.colour/3 108077 0.54 111182 1.03
ParallelStream.Executor.execute/1 62486 0.59 122161 1.96
:erlang.send/2 124971 0.60 123842 0.99
Raytracer.add/2 445885 0.65 133203 0.30
anonymous fn/7 in Raytracer.hit/4 232253 0.78 161317 0.69
Raytracer.scale/2 791254 1.14 233623 0.30
Raytracer.sub/2 819896 1.34 276062 0.34
Raytracer.mult/2 1992665 2.98 614269 0.31
Raytracer.dot/2 1947073 4.49 924802 0.47
:erlang.min/2 9886631 10.44 2148224 0.22
:erlang.max/2 9886631 10.53 2167042 0.22
Raytracer.hit/4 8636650 29.03 5975509 0.69
anonymous fn/6 in Raytracer.hit/4 9956469 34.47 7094226 0.71
Profile done over 38 matching functions
Profile results of #PID<0.2257.0>
# CALLS % TIME µS/CALL
Total 4583628 100.0 2063773 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:proc_lib.init_p/5 1 0.00 4 4.00
Raytracer.y/1 62750 0.06 13403 0.21
Integer.mod/2 62750 0.07 15135 0.24
Raytracer.colour_to_pixel/1 62750 0.10 20489 0.33
Raytracer.trace_ray/6 62750 0.13 26225 0.42
Raytracer.reflect/2 45600 0.17 34466 0.76
Raytracer.scatter/2 45600 0.20 40383 0.89
anonymous fn/5 in Raytracer.render/4 62750 0.20 41161 0.66
ParallelStream.Workers.Worker.work/3 62751 0.20 41906 0.67
Raytracer.norm/1 108350 0.23 46646 0.43
Raytracer.normalise/1 108350 0.23 48055 0.44
Raytracer.ray/3 62750 0.34 69355 1.11
Raytracer.colour/3 108350 0.51 106194 0.98
Raytracer.point_at_param/2 256522 0.53 109785 0.43
ParallelStream.Executor.execute/1 62751 0.55 114450 1.82
:erlang.send/2 125501 0.58 119662 0.95
Raytracer.add/2 444772 0.66 137202 0.31
anonymous fn/7 in Raytracer.hit/4 231003 0.80 165292 0.72
Raytracer.scale/2 789733 1.19 245826 0.31
Raytracer.sub/2 816953 1.32 271842 0.33
Raytracer.mult/2 1986176 2.99 616230 0.31
Raytracer.dot/2 1940576 4.52 933697 0.48
:erlang.max/2 9875952 10.36 2137174 0.22
:erlang.min/2 9875952 10.47 2159822 0.22
Raytracer.hit/4 8625232 29.18 6023027 0.70
anonymous fn/6 in Raytracer.hit/4 9949640 34.40 7100301 0.71
Profile done over 38 matching functions
Profile results of #PID<0.2258.0>
# CALLS % TIME µS/CALL
Total 4607706 100.0 2063710 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62347 0.06 13245 0.21
Integer.mod/2 62347 0.07 15332 0.25
Raytracer.colour_to_pixel/1 62347 0.10 21247 0.34
Raytracer.trace_ray/6 62347 0.13 27576 0.44
Raytracer.reflect/2 45731 0.15 30493 0.67
anonymous fn/5 in Raytracer.render/4 62347 0.20 40355 0.65
ParallelStream.Workers.Worker.work/3 62348 0.20 40986 0.66
Raytracer.scatter/2 45731 0.21 43329 0.95
Raytracer.normalise/1 108078 0.21 44278 0.41
Raytracer.norm/1 108078 0.22 44748 0.41
Raytracer.ray/3 62347 0.32 66678 1.07
Raytracer.point_at_param/2 259846 0.53 109691 0.42
Raytracer.colour/3 108078 0.53 109888 1.02
:erlang.send/2 124695 0.54 111333 0.89
ParallelStream.Executor.execute/1 62348 0.55 113389 1.82
Raytracer.add/2 446887 0.66 135374 0.30
anonymous fn/7 in Raytracer.hit/4 233221 0.81 167075 0.72
Raytracer.scale/2 792966 1.14 234537 0.30
Raytracer.sub/2 824404 1.33 273544 0.33
Raytracer.mult/2 2004480 2.96 611285 0.30
Raytracer.dot/2 1958749 4.44 917063 0.47
:erlang.min/2 9922741 10.48 2162907 0.22
:erlang.max/2 9922741 10.51 2169194 0.22
Raytracer.hit/4 8672560 29.01 5986930 0.69
anonymous fn/6 in Raytracer.hit/4 9999281 34.63 7146623 0.71
Profile done over 38 matching functions
Profile results of #PID<0.2259.0>
# CALLS % TIME µS/CALL
Total 46219969 100.0 2074436 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62644 0.06 12503 0.20
Integer.mod/2 62644 0.07 15030 0.24
Raytracer.colour_to_pixel/1 62644 0.10 21299 0.34
Raytracer.trace_ray/6 62644 0.12 25157 0.40
Raytracer.reflect/2 45704 0.16 33067 0.72
Raytracer.scatter/2 45704 0.20 40694 0.89
anonymous fn/5 in Raytracer.render/4 62644 0.20 41849 0.67
ParallelStream.Workers.Worker.work/3 62645 0.20 42262 0.67
Raytracer.normalise/1 108348 0.21 44407 0.41
Raytracer.norm/1 108348 0.22 46172 0.43
Raytracer.ray/3 62644 0.33 67657 1.08
:erlang.send/2 125289 0.53 109603 0.87
Raytracer.point_at_param/2 261094 0.53 110665 0.42
ParallelStream.Executor.execute/1 62645 0.56 116823 1.86
Raytracer.colour/3 108348 0.57 117708 1.09
Raytracer.add/2 449026 0.66 136133 0.30
anonymous fn/7 in Raytracer.hit/4 233741 0.80 166739 0.71
Raytracer.scale/2 796269 1.15 239432 0.30
Raytracer.sub/2 828202 1.38 286186 0.35
Raytracer.mult/2 2013381 2.98 617396 0.31
Raytracer.dot/2 1967677 4.54 941314 0.48
:erlang.max/2 9953747 10.38 2153727 0.22
:erlang.min/2 9953747 10.52 2181726 0.22
Raytracer.hit/4 8694784 29.10 6036393 0.69
anonymous fn/6 in Raytracer.hit/4 10025388 34.42 7140421 0.71
Profile done over 38 matching functions
Profile results of #PID<0.2260.0>
# CALLS % TIME µS/CALL
Total 46394309 100.0 2081853 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62756 0.06 12566 0.20
Integer.mod/2 62756 0.07 15034 0.24
Raytracer.colour_to_pixel/1 62756 0.10 20476 0.33
Raytracer.trace_ray/6 62756 0.13 27280 0.43
Raytracer.reflect/2 45480 0.16 32621 0.72
Raytracer.scatter/2 45480 0.19 40438 0.89
anonymous fn/5 in Raytracer.render/4 62756 0.20 41170 0.66
ParallelStream.Workers.Worker.work/3 62757 0.21 43784 0.70
Raytracer.normalise/1 108236 0.22 45732 0.42
Raytracer.norm/1 108236 0.22 46788 0.43
Raytracer.ray/3 62756 0.33 69558 1.11
Raytracer.colour/3 108236 0.51 107024 0.99
ParallelStream.Executor.execute/1 62757 0.54 112278 1.79
Raytracer.point_at_param/2 261160 0.54 112857 0.43
Raytracer.add/2 449428 0.69 144088 0.32
:erlang.send/2 125513 0.71 147365 1.17
anonymous fn/7 in Raytracer.hit/4 233210 0.78 162768 0.70
Raytracer.scale/2 796480 1.13 235159 0.30
Raytracer.sub/2 836580 1.42 294629 0.35
Raytracer.mult/2 2037968 2.98 620115 0.30
Raytracer.dot/2 1992488 4.49 934554 0.47
:erlang.max/2 9967378 10.51 2189066 0.22
:erlang.min/2 9967378 10.54 2194174 0.22
Raytracer.hit/4 8738652 28.81 5998738 0.69
anonymous fn/6 in Raytracer.hit/4 10070338 34.44 7170275 0.71
Profile done over 38 matching functions
Profile results of #PID<0.2261.0>
# CALLS % TIME µS/CALL
Total 4587681 100.0 2064547 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 3 3.00
Raytracer.y/1 62412 0.06 12400 0.20
Integer.mod/2 62412 0.07 14126 0.23
Raytracer.colour_to_pixel/1 62412 0.10 20387 0.33
Raytracer.trace_ray/6 62412 0.12 25089 0.40
Raytracer.reflect/2 45535 0.15 30213 0.66
anonymous fn/5 in Raytracer.render/4 62412 0.20 41191 0.66
ParallelStream.Workers.Worker.work/3 62413 0.20 41540 0.67
Raytracer.normalise/1 107947 0.21 43547 0.40
Raytracer.scatter/2 45535 0.21 44275 0.97
Raytracer.norm/1 107947 0.24 48533 0.45
Raytracer.ray/3 62412 0.33 67500 1.08
Raytracer.point_at_param/2 257138 0.51 106043 0.41
Raytracer.colour/3 107947 0.52 107188 0.99
ParallelStream.Executor.execute/1 62413 0.60 123590 1.98
Raytracer.add/2 444374 0.67 138309 0.31
:erlang.send/2 124825 0.72 148882 1.19
anonymous fn/7 in Raytracer.hit/4 231097 0.79 162964 0.71
Raytracer.scale/2 788837 1.13 233276 0.30
Raytracer.sub/2 819604 1.31 269797 0.33
Raytracer.mult/2 1993816 2.97 613542 0.31
Raytracer.dot/2 1948281 4.46 920052 0.47
:erlang.max/2 9879399 10.36 2137914 0.22
:erlang.min/2 9879399 10.46 2160234 0.22
Raytracer.hit/4 8637090 29.00 5987960 0.69
anonymous fn/6 in Raytracer.hit/4 9958724 34.62 7146924 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2262.0>
# CALLS % TIME µS/CALL
Total 4590380 100.0 2062721 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 1 1.00
Raytracer.y/1 62567 0.06 13336 0.21
Integer.mod/2 62567 0.07 14123 0.23
Raytracer.colour_to_pixel/1 62567 0.10 21352 0.34
Raytracer.trace_ray/6 62567 0.13 25880 0.41
Raytracer.reflect/2 45758 0.15 31868 0.70
Raytracer.scatter/2 45758 0.19 40136 0.88
ParallelStream.Workers.Worker.work/3 62568 0.20 41375 0.66
anonymous fn/5 in Raytracer.render/4 62567 0.21 42770 0.68
Raytracer.norm/1 108325 0.21 44313 0.41
Raytracer.normalise/1 108325 0.22 44525 0.41
Raytracer.ray/3 62567 0.33 68699 1.10
Raytracer.colour/3 108325 0.52 107591 0.99
Raytracer.point_at_param/2 257480 0.54 111932 0.43
:erlang.send/2 125135 0.58 119185 0.95
ParallelStream.Executor.execute/1 62568 0.58 119930 1.92
Raytracer.add/2 445181 0.67 137356 0.31
anonymous fn/7 in Raytracer.hit/4 231928 0.80 164886 0.71
Raytracer.scale/2 790571 1.21 250616 0.32
Raytracer.sub/2 818327 1.31 270115 0.33
Raytracer.mult/2 1989385 2.96 609685 0.31
Raytracer.dot/2 1943627 4.45 917913 0.47
:erlang.max/2 9895261 10.43 2150668 0.22
:erlang.min/2 9895261 10.56 2179188 0.22
Raytracer.hit/4 8637034 28.95 5970715 0.69
anonymous fn/6 in Raytracer.hit/4 9957569 34.56 7129054 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2263.0>
# CALLS % TIME µS/CALL
Total 4595705 100.0 2058858 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62483 0.06 12956 0.21
Integer.mod/2 62484 0.07 14059 0.23
Raytracer.colour_to_pixel/1 62484 0.10 20418 0.33
Raytracer.trace_ray/6 62484 0.13 25783 0.41
Raytracer.reflect/2 45527 0.14 29434 0.65
Raytracer.scatter/2 45527 0.20 40631 0.89
anonymous fn/5 in Raytracer.render/4 62484 0.20 41220 0.66
ParallelStream.Workers.Worker.work/3 62485 0.20 42110 0.67
Raytracer.normalise/1 108010 0.22 44776 0.41
Raytracer.norm/1 108010 0.22 46091 0.43
Raytracer.ray/3 62484 0.37 75404 1.21
Raytracer.colour/3 108010 0.52 108053 1.00
Raytracer.point_at_param/2 259298 0.57 117123 0.45
:erlang.send/2 124969 0.59 120494 0.96
ParallelStream.Executor.execute/1 62485 0.59 122038 1.95
Raytracer.add/2 446749 0.67 137652 0.31
anonymous fn/7 in Raytracer.hit/4 232324 0.83 171106 0.74
Raytracer.scale/2 792418 1.14 234524 0.30
Raytracer.sub/2 822156 1.33 273923 0.33
Raytracer.mult/2 1998078 3.01 620716 0.31
Raytracer.dot/2 1952552 4.45 915682 0.47
:erlang.max/2 9898348 10.35 2131627 0.22
:erlang.min/2 9898348 10.48 2157098 0.22
Raytracer.hit/4 8647340 28.86 5942587 0.69
anonymous fn/6 in Raytracer.hit/4 9969497 34.69 7143077 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2264.0>
# CALLS % TIME µS/CALL
Total 46114792 100.0 2070585 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62747 0.06 12521 0.20
Integer.mod/2 62750 0.07 14155 0.23
Raytracer.colour_to_pixel/1 62750 0.10 21136 0.34
Raytracer.trace_ray/6 62750 0.13 25939 0.41
Raytracer.reflect/2 45576 0.14 29470 0.65
Raytracer.scatter/2 45576 0.20 40629 0.89
anonymous fn/5 in Raytracer.render/4 62750 0.20 42405 0.68
Raytracer.normalise/1 108323 0.21 43850 0.40
ParallelStream.Workers.Worker.work/3 62751 0.21 44515 0.71
Raytracer.norm/1 108323 0.22 45446 0.42
Raytracer.ray/3 62750 0.35 72475 1.15
Raytracer.colour/3 108323 0.52 107129 0.99
Raytracer.point_at_param/2 258744 0.53 110225 0.43
:erlang.send/2 125501 0.55 113083 0.90
ParallelStream.Executor.execute/1 62751 0.55 114791 1.83
Raytracer.add/2 446991 0.67 137945 0.31
anonymous fn/7 in Raytracer.hit/4 232144 0.82 170707 0.74
Raytracer.scale/2 793009 1.13 234133 0.30
Raytracer.sub/2 826909 1.35 278610 0.34
Raytracer.mult/2 2012681 2.99 619262 0.31
Raytracer.dot/2 1967108 4.46 923870 0.47
:erlang.max/2 9924368 10.38 2149264 0.22
:erlang.min/2 9924368 10.43 2158806 0.22
Raytracer.hit/4 8679598 28.97 5999227 0.69
anonymous fn/6 in Raytracer.hit/4 10005233 34.75 7196262 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2265.0>
# CALLS % TIME µS/CALL
Total 4607193 100.0 2063772 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62560 0.07 13989 0.22
Integer.mod/2 62560 0.07 14066 0.22
Raytracer.colour_to_pixel/1 62560 0.10 20537 0.33
Raytracer.trace_ray/6 62560 0.12 25134 0.40
Raytracer.reflect/2 45813 0.15 31065 0.68
anonymous fn/5 in Raytracer.render/4 62560 0.20 40923 0.65
Raytracer.scatter/2 45813 0.20 41276 0.90
ParallelStream.Workers.Worker.work/3 62561 0.20 42180 0.67
Raytracer.norm/1 108373 0.21 44243 0.41
Raytracer.normalise/1 108373 0.22 44915 0.41
Raytracer.ray/3 62560 0.33 67910 1.09
Raytracer.colour/3 108373 0.51 105201 0.97
Raytracer.point_at_param/2 258498 0.53 110313 0.43
:erlang.send/2 125121 0.55 113945 0.91
ParallelStream.Executor.execute/1 62561 0.62 128060 2.05
Raytracer.add/2 446178 0.68 140519 0.31
anonymous fn/7 in Raytracer.hit/4 232891 0.78 161189 0.69
Raytracer.scale/2 792173 1.14 234414 0.30
Raytracer.sub/2 823394 1.34 276195 0.34
Raytracer.mult/2 2003128 2.98 614961 0.31
Raytracer.dot/2 1957315 4.46 919522 0.47
:erlang.max/2 9924476 10.46 2157881 0.22
:erlang.min/2 9924476 10.55 2176265 0.22
Raytracer.hit/4 8670478 28.97 5978377 0.69
anonymous fn/6 in Raytracer.hit/4 9996559 34.57 7134641 0.71
Profile done over 38 matching functions
Profile results of #PID<0.2266.0>
# CALLS % TIME µS/CALL
Total 4573092 100.0 2056314 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 1 1.00
Raytracer.y/1 62445 0.06 12389 0.20
Integer.mod/2 62445 0.07 14776 0.24
Raytracer.colour_to_pixel/1 62445 0.12 25120 0.40
Raytracer.trace_ray/6 62445 0.13 25932 0.42
Raytracer.reflect/2 45613 0.15 30294 0.66
Raytracer.scatter/2 45613 0.20 41118 0.90
ParallelStream.Workers.Worker.work/3 62446 0.21 42262 0.68
anonymous fn/5 in Raytracer.render/4 62445 0.21 43239 0.69
Raytracer.normalise/1 108058 0.22 44254 0.41
Raytracer.norm/1 108058 0.22 44433 0.41
Raytracer.ray/3 62445 0.32 66724 1.07
Raytracer.point_at_param/2 257458 0.53 108907 0.42
ParallelStream.Executor.execute/1 62446 0.55 112381 1.80
Raytracer.colour/3 108058 0.55 113252 1.05
:erlang.send/2 124891 0.58 118968 0.95
Raytracer.add/2 444793 0.66 136213 0.31
anonymous fn/7 in Raytracer.hit/4 231659 0.80 165329 0.71
Raytracer.scale/2 789638 1.13 232528 0.29
Raytracer.sub/2 814743 1.35 276797 0.34
Raytracer.mult/2 1978765 2.95 605849 0.31
Raytracer.dot/2 1933152 4.44 913591 0.47
:erlang.min/2 9863488 10.41 2141485 0.22
:erlang.max/2 9863488 10.48 2154062 0.22
Raytracer.hit/4 8598380 29.04 5970708 0.69
anonymous fn/6 in Raytracer.hit/4 9915492 34.64 7122535 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2267.0>
# CALLS % TIME µS/CALL
Total 4588576 100.0 2060946 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62413 0.06 12372 0.20
Integer.mod/2 62413 0.07 15444 0.25
Raytracer.colour_to_pixel/1 62413 0.10 20449 0.33
Raytracer.trace_ray/6 62413 0.12 25165 0.40
Raytracer.reflect/2 45310 0.16 32790 0.72
Raytracer.scatter/2 45310 0.19 39586 0.87
ParallelStream.Workers.Worker.work/3 62414 0.20 40680 0.65
anonymous fn/5 in Raytracer.render/4 62413 0.20 42097 0.67
Raytracer.normalise/1 107723 0.21 44112 0.41
Raytracer.norm/1 107723 0.22 44821 0.42
Raytracer.ray/3 62413 0.32 66579 1.07
Raytracer.point_at_param/2 257332 0.52 106965 0.42
Raytracer.colour/3 107723 0.52 107810 1.00
:erlang.send/2 124827 0.54 111156 0.89
ParallelStream.Executor.execute/1 62414 0.61 125286 2.01
Raytracer.add/2 444571 0.65 134134 0.30
anonymous fn/7 in Raytracer.hit/4 230846 0.79 162519 0.70
Raytracer.scale/2 788683 1.16 239043 0.30
Raytracer.sub/2 821836 1.34 275385 0.34
Raytracer.mult/2 1999994 2.99 616716 0.31
Raytracer.dot/2 1954684 4.48 922385 0.47
:erlang.max/2 9878083 10.50 2164314 0.22
:erlang.min/2 9878083 10.54 2172577 0.22
Raytracer.hit/4 8636254 28.97 5969771 0.69
anonymous fn/6 in Raytracer.hit/4 9957463 34.53 7117310 0.71
Profile done over 38 matching functions
Profile results of #PID<0.2268.0>
# CALLS % TIME µS/CALL
Total 46103737 100.0 2072520 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62370 0.06 12335 0.20
Integer.mod/2 62370 0.07 14708 0.24
Raytracer.colour_to_pixel/1 62370 0.10 20579 0.33
Raytracer.trace_ray/6 62370 0.12 25817 0.41
Raytracer.reflect/2 45665 0.15 30309 0.66
Raytracer.scatter/2 45665 0.20 40481 0.89
anonymous fn/5 in Raytracer.render/4 62370 0.20 40674 0.65
ParallelStream.Workers.Worker.work/3 62371 0.20 41133 0.66
Raytracer.normalise/1 108035 0.21 44439 0.41
Raytracer.norm/1 108035 0.22 45293 0.42
Raytracer.ray/3 62370 0.32 66973 1.07
Raytracer.colour/3 108035 0.52 106921 0.99
Raytracer.point_at_param/2 260592 0.54 111700 0.43
:erlang.send/2 124741 0.54 111738 0.90
ParallelStream.Executor.execute/1 62371 0.61 126293 2.02
Raytracer.add/2 447702 0.65 134983 0.30
anonymous fn/7 in Raytracer.hit/4 233476 0.78 162050 0.69
Raytracer.scale/2 794068 1.17 241849 0.30
Raytracer.sub/2 824890 1.31 270783 0.33
Raytracer.mult/2 2004707 2.94 608341 0.30
Raytracer.dot/2 1959042 4.48 929214 0.47
:erlang.min/2 9932336 10.46 2168128 0.22
:erlang.max/2 9932336 10.47 2170168 0.22
Raytracer.hit/4 8673574 29.10 6030100 0.70
anonymous fn/6 in Raytracer.hit/4 10001858 34.60 7170190 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2269.0>
# CALLS % TIME µS/CALL
Total 4550421 100.0 2049908 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 1 1.00
:erlang.put/2 4 0.00 13 3.25
Raytracer.y/1 62453 0.07 13350 0.21
Integer.mod/2 62453 0.07 14090 0.23
Raytracer.colour_to_pixel/1 62453 0.10 20870 0.33
Raytracer.trace_ray/6 62453 0.13 26057 0.42
Raytracer.reflect/2 45354 0.15 30139 0.66
Raytracer.scatter/2 45354 0.19 39756 0.88
ParallelStream.Workers.Worker.work/3 62454 0.20 41591 0.67
anonymous fn/5 in Raytracer.render/4 62453 0.21 42425 0.68
Raytracer.normalise/1 107807 0.21 43304 0.40
Raytracer.norm/1 107807 0.22 45469 0.42
Raytracer.ray/3 62453 0.34 69238 1.11
Raytracer.point_at_param/2 256700 0.54 111347 0.43
Raytracer.colour/3 107807 0.56 113839 1.06
ParallelStream.Executor.execute/1 62454 0.60 122228 1.96
:erlang.send/2 124907 0.60 122426 0.98
Raytracer.add/2 444059 0.69 140690 0.32
anonymous fn/7 in Raytracer.hit/4 230500 0.81 165206 0.72
Raytracer.scale/2 788023 1.15 235806 0.30
Raytracer.sub/2 809807 1.34 274612 0.34
Raytracer.mult/2 1964819 3.02 619692 0.32
Raytracer.dot/2 1919465 4.41 904930 0.47
:erlang.max/2 9813502 10.48 2149043 0.22
:erlang.min/2 9813502 10.53 2158251 0.22
Raytracer.hit/4 8555558 28.83 5910086 0.69
anonymous fn/6 in Raytracer.hit/4 9869597 34.56 7084630 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2270.0>
# CALLS % TIME µS/CALL
Total 4600883 100.0 2069797 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 2 2.00
Raytracer.y/1 62223 0.06 12431 0.20
Integer.mod/2 62225 0.07 14802 0.24
Raytracer.trace_ray/6 62225 0.12 25791 0.41
Raytracer.reflect/2 45345 0.16 33514 0.74
Raytracer.colour_to_pixel/1 62225 0.19 39043 0.63
Raytracer.scatter/2 45345 0.19 39398 0.87
anonymous fn/5 in Raytracer.render/4 62225 0.20 41501 0.67
ParallelStream.Workers.Worker.work/3 62226 0.21 42435 0.68
Raytracer.norm/1 107568 0.22 46479 0.43
Raytracer.normalise/1 107568 0.23 48290 0.45
Raytracer.ray/3 62225 0.35 72842 1.17
Raytracer.colour/3 107568 0.51 106127 0.99
ParallelStream.Executor.execute/1 62226 0.52 106750 1.72
:erlang.send/2 124451 0.54 111731 0.90
Raytracer.point_at_param/2 258452 0.54 112597 0.44
Raytracer.add/2 445125 0.65 134445 0.30
anonymous fn/7 in Raytracer.hit/4 231548 0.78 161656 0.70
Raytracer.scale/2 789487 1.16 239919 0.30
Raytracer.sub/2 826517 1.35 278605 0.34
Raytracer.mult/2 2012764 2.92 604655 0.30
Raytracer.dot/2 1967421 4.46 923604 0.47
:erlang.min/2 9895267 10.52 2176710 0.22
:erlang.max/2 9895267 10.59 2192141 0.22
Raytracer.hit/4 8664280 28.80 5961483 0.69
anonymous fn/6 in Raytracer.hit/4 9987042 34.65 7171021 0.72
Profile done over 38 matching functions
Profile results of #PID<0.2271.0>
# CALLS % TIME µS/CALL
Total 4606119 100.0 2073916 0.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 3 3.00
Raytracer.y/1 62340 0.06 13224 0.21
Integer.mod/2 62340 0.07 14178 0.23
Raytracer.colour_to_pixel/1 62340 0.10 20573 0.33
Raytracer.trace_ray/6 62340 0.12 25183 0.40
Raytracer.reflect/2 45537 0.14 29756 0.65
Raytracer.scatter/2 45537 0.19 40023 0.88
anonymous fn/5 in Raytracer.render/4 62340 0.20 41560 0.67
Raytracer.normalise/1 107877 0.21 43500 0.40
ParallelStream.Workers.Worker.work/3 62341 0.21 43992 0.71
Raytracer.norm/1 107877 0.21 44065 0.41
Raytracer.ray/3 62340 0.32 65978 1.06
Raytracer.colour/3 107877 0.53 109058 1.01
Raytracer.point_at_param/2 260716 0.54 111506 0.43
ParallelStream.Executor.execute/1 62341 0.54 112924 1.81
:erlang.send/2 124681 0.63 130197 1.04
Raytracer.add/2 447736 0.67 139165 0.31
anonymous fn/7 in Raytracer.hit/4 233214 0.80 165317 0.71
Raytracer.scale/2 793848 1.13 234961 0.30
Raytracer.sub/2 826938 1.34 277552 0.34
Raytracer.mult/2 2010597 2.96 614034 0.31
Raytracer.dot/2 1965060 4.42 915811 0.47
:erlang.min/2 9911805 10.55 2188950 0.22
:erlang.max/2 9911805 10.59 2197079 0.22
Raytracer.hit/4 8668894 28.94 6000907 0.69
anonymous fn/6 in Raytracer.hit/4 9992458 34.52 7159672 0.72
Profile done over 38 matching functions
Profiling rgbbox with eprof...
Profile results of #PID<0.2274.0>
# CALLS % TIME µS/CALL
Total 3122579 100.0 1155765 0.37
ParallelStream.Defaults.worker_work_ratio/0 1 0.00 0 0.00
ParallelStream.Defaults.num_workers/0 1 0.00 0 0.00
anonymous fn/1 in Enumerable.Stream.do_done/2 1 0.00 0 0.00
:erlang.max/2 1 0.00 0 0.00
Stream.Reducers.chunk_every/5 1 0.00 0 0.00
Enumerable.Range.reduce/3 1 0.00 0 0.00
ParallelStream.Mapper.Consumer.build!/1 1 0.00 0 0.00
Enum.each/2 2 0.00 0 0.00
anonymous fn/2 in Stream.chunk_while/4 1 0.00 0 0.00
anonymous fn/3 in Stream.do_transform/7 2 0.00 0 0.00
anonymous fn/1 in Stream.transform/3 1 0.00 0 0.00
anonymous fn/1 in Stream.transform/3 1 0.00 0 0.00
anonymous fn/5 in Stream.transform/3 1 0.00 0 0.00
anonymous fn/6 in Stream.transform/4 1 0.00 0 0.00
Stream.transform/4 1 0.00 0 0.00
Stream.transform/3 1 0.00 0 0.00
Stream.chunk_while_fun/2 1 0.00 0 0.00
Stream.chunk_while/4 1 0.00 0 0.00
Stream.chunk_every/4 1 0.00 0 0.00
ParallelStream.Producer.build!/3 1 0.00 0 0.00
Enumerable.Function.reduce/3 2 0.00 0 0.00
ParallelStream.Mapper.map/3 1 0.00 0 0.00
ParallelStream.map/3 1 0.00 0 0.00
ParallelStream.map/2 1 0.00 0 0.00
anonymous fn/2 in :elixir_compiler_1.__FILE__/1 1 0.00 0 0.00
:erlang.system_info/1 1 0.00 1 1.00
anonymous fn/3 in Stream.Reducers.chunk_every/5 1 0.00 1 1.00
:lists.keyfind/3 2 0.00 1 0.50
Enum.to_list/1 1 0.00 1 1.00
Enum.reverse/1 1 0.00 1 1.00
Stream.after_chunk_while/2 1 0.00 1 1.00
Keyword.get/3 2 0.00 1 0.50
anonymous fn/3 in ParallelStream.Producer.build!/4 1 0.00 1 1.00
anonymous fn/1 in ParallelStream.Producer.build!/4 1 0.00 1 1.00
Range.new/2 3 0.00 1 0.33
:erlang.apply/2 1 0.00 2 2.00
Stream.do_transform/7 2 0.00 2 1.00
ParallelStream.Workers.build!/3 1 0.00 2 2.00
ParallelStream.Producer.build!/4 1 0.00 2 2.00
Raytracer.render/4 1 0.00 2 2.00
Task.start_link/1 33 0.00 4 0.12
Task.get_callers/1 33 0.00 4 0.12
anonymous fn/2 in ParallelStream.Workers.build!/3 16 0.00 4 0.25
:proc_lib.get_ancestors/0 33 0.00 4 0.12
anonymous fn/4 in ParallelStream.Workers.build!/3 16 0.00 5 0.31
anonymous fn/1 in ParallelStream.Producer.build!/4 16 0.00 5 0.31
anonymous fn/1 in ParallelStream.Producer.build!/4 16 0.00 6 0.38
:proc_lib.get_my_name/0 33 0.00 7 0.21
Task.get_owner/1 33 0.00 8 0.24
Process.info/2 33 0.00 8 0.24
Task.Supervised.start_link/3 33 0.00 9 0.27
Enum.reduce_range/5 34 0.00 10 0.29
Task.start_link/3 33 0.00 12 0.36
Enum."-each/2-lists^foreach/1-0-"/2 34 0.00 13 0.38
:proc_lib.proc_info/2 33 0.00 13 0.39
:erlang.process_info/2 66 0.00 14 0.21
:proc_lib.spawn_link/3 33 0.00 17 0.52
:erlang.spawn_link/3 33 0.03 3405 103.18
anonymous fn/3 in Enumerable.List.reduce/3 12501 0.03 3452 0.28
anonymous fn/7 in Stream.do_transform_inner_list/7 12501 0.03 3747 0.30
Enum.take/2 12501 0.03 3864 0.31
anonymous fn/3 in Enumerable.Stream.do_reduce/3 12502 0.04 4424 0.35
anonymous fn/5 in Enumerable.Range.reduce/5 12500 0.04 4608 0.37
anonymous fn/1 in Stream.with_index/2 12501 0.04 4618 0.37
anonymous fn/4 in Enumerable.Stream.do_each/4 12500 0.04 4997 0.40
Stream.with_index/1 12501 0.05 5253 0.42
Enumerable.Stream.do_done/2 12502 0.05 5311 0.42
Enumerable.Stream.reduce/3 12502 0.05 5316 0.43
ParallelStream.Mapper.Consumer.receive_from_outqueue/1 12501 0.05 5505 0.44
anonymous fn/2 in Enumerable.Stream.do_reduce/3 12502 0.05 6158 0.49
Enumerable.impl_for/1 25006 0.06 7049 0.28
Stream.do_transform_step/2 25002 0.06 7378 0.30
anonymous fn/2 in ParallelStream.Mapper.Consumer.build!/1 12501 0.07 8085 0.65
Enumerable.Stream."-do_reduce/3-lists^foldl/2-0-"/3 25004 0.08 9202 0.37
Enumerable.Stream.do_reduce/3 12502 0.09 10896 0.87
Enumerable.impl_for!/1 25006 0.10 11078 0.44
anonymous fn/3 in Stream.do_transform_result/6 25002 0.10 11364 0.45
Stream.with_index/2 12501 0.13 15496 1.24
Stream.do_transform_result/6 25002 0.13 15590 0.62
anonymous fn/4 in ParallelStream.Producer.build!/4 12501 0.16 18490 1.48
Enum.map/2 25004 0.17 19793 0.79
Enumerable.reduce/3 25006 0.18 20435 0.82
Enumerable.Stream.do_each/4 25002 0.21 23794 0.95
Stream.do_transform/5 25008 0.21 24411 0.98
Stream.do_transform_inner_list/7 37503 0.24 27726 0.74
Stream.do_transform_user/6 50006 0.29 33917 0.68
:lists.reverse/1 62511 0.67 77427 1.24
:lists.reverse/2 25004 0.78 89707 3.59
anonymous fn/2 in Enum.reverse/1 1000001 1.69 194768 0.19
Enum.slice_forward/4 1000001 1.78 205446 0.21
Enum.at/2 1000001 1.98 228945 0.23
anonymous fn/5 in Stream.Reducers.chunk_every/5 1000001 2.39 275662 0.28
anonymous fn/3 in Enum.reverse/1 1000001 2.91 336505 0.34
Enumerable.Range.reduce/5 1012502 2.99 345084 0.34
anonymous fn/4 in Stream.chunk_while_fun/2 1000001 3.30 380980 0.38
Enum.slice_list/4 1000001 3.33 385007 0.39
anonymous fn/3 in Enum.map/2 1000033 3.34 385495 0.39
anonymous fn/3 in Enum.map/2 1000001 3.38 391031 0.39
Enum.at/3 1000001 3.41 394605 0.39
anonymous fn/3 in Enumerable.Stream.reduce/3 1012502 3.51 406173 0.40
anonymous fn/3 in Stream.with_index/2 1000001 3.97 459081 0.46
Enum.take_list/2 2000003 4.93 569366 0.28
anonymous fn/5 in ParallelStream.Producer.build!/4 1000001 5.48 633680 0.63
Enum."-map/2-lists^map/1-0-"/2 1012502 5.59 646089 0.64
Enumerable.List.reduce/3 2062507 6.38 737481 0.36
anonymous fn/1 in ParallelStream.Mapper.Consumer.receive_from_outqueue/1 1000001 8.87 1024827 1.02
:erlang.send/2 2000035 12.34 1426147 0.71
Enum.drop_list/2 8500001 14.18 1638623 0.19
Profile done over 108 matching functions
Profile results of #PID<0.2275.0>
# CALLS % TIME µS/CALL
Total 2000021 100.0 2363714 1.18
:erlang.apply/2 1 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/0 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:erlang.fun_info/2 2 0.00 1 0.50
Task.Supervised.noreply/3 1 0.00 1 1.00
Task.Supervised.get_initial_call/1 1 0.00 1 1.00
:proc_lib.init_p_do_apply/3 1 0.00 1 1.00
:proc_lib.init_p/5 1 0.00 2 2.00
:erlang.send/2 1000001 46.87 1107930 1.11
ParallelStream.Inqueue.distribute/0 1000002 53.13 1255777 1.26
Profile done over 15 matching functions
Profile results of #PID<0.2276.0>
# CALLS % TIME µS/CALL
Total 12502 100.0 170934 1.37
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62501 38.51 65828 1.05
ParallelStream.Outqueue.collect/1 62502 61.49 105106 1.68
Profile done over 15 matching functions
Profile results of #PID<0.2277.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 180954 1.45
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 43.07 77940 1.25
ParallelStream.Outqueue.collect/1 62501 56.93 103014 1.65
Profile done over 15 matching functions
Profile results of #PID<0.2278.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 166332 1.33
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.05 63289 1.01
ParallelStream.Outqueue.collect/1 62501 61.95 103043 1.65
Profile done over 15 matching functions
Profile results of #PID<0.2279.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 165463 1.32
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.35 63448 1.02
ParallelStream.Outqueue.collect/1 62501 61.65 102015 1.63
Profile done over 15 matching functions
Profile results of #PID<0.2280.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 165372 1.32
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.90 64332 1.03
ParallelStream.Outqueue.collect/1 62501 61.10 101040 1.62
Profile done over 15 matching functions
Profile results of #PID<0.2281.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 166503 1.33
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 39.15 65187 1.04
ParallelStream.Outqueue.collect/1 62501 60.85 101316 1.62
Profile done over 15 matching functions
Profile results of #PID<0.2282.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 169017 1.35
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.63 65289 1.04
ParallelStream.Outqueue.collect/1 62501 61.37 103728 1.66
Profile done over 15 matching functions
Profile results of #PID<0.2283.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 164107 1.31
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.17 62646 1.00
ParallelStream.Outqueue.collect/1 62501 61.83 101461 1.62
Profile done over 15 matching functions
Profile results of #PID<0.2284.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 164816 1.32
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.60 63625 1.02
ParallelStream.Outqueue.collect/1 62501 61.40 101191 1.62
Profile done over 15 matching functions
Profile results of #PID<0.2285.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 163896 1.31
:erlang.apply/2 1 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:erlang.send/2 62500 37.95 62202 1.00
ParallelStream.Outqueue.collect/1 62501 62.05 101693 1.63
Profile done over 15 matching functions
Profile results of #PID<0.2286.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 167061 1.34
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.87 63270 1.01
ParallelStream.Outqueue.collect/1 62501 62.13 103791 1.66
Profile done over 15 matching functions
Profile results of #PID<0.2287.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 166651 1.33
:erlang.apply/2 1 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.put/2 4 0.00 7 1.75
:erlang.send/2 62500 37.34 62233 1.00
ParallelStream.Outqueue.collect/1 62501 62.65 104411 1.67
Profile done over 15 matching functions
Profile results of #PID<0.2288.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 166337 1.33
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.95 63121 1.01
ParallelStream.Outqueue.collect/1 62501 62.05 103216 1.65
Profile done over 15 matching functions
Profile results of #PID<0.2289.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 167018 1.34
:erlang.apply/2 1 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:proc_lib.init_p/5 1 0.00 2 2.00
:erlang.send/2 62500 38.20 63801 1.02
ParallelStream.Outqueue.collect/1 62501 61.80 103214 1.65
Profile done over 15 matching functions
Profile results of #PID<0.2290.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 173521 1.39
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 37.00 64199 1.03
ParallelStream.Outqueue.collect/1 62501 63.00 109322 1.75
Profile done over 15 matching functions
Profile results of #PID<0.2291.0>
# CALLS % TIME µS/CALL
Total 12501 100.0 166828 1.33
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/1 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.send/2 62500 38.07 63517 1.02
ParallelStream.Outqueue.collect/1 62501 61.93 103311 1.65
Profile done over 15 matching functions
Profile results of #PID<0.2292.0>
# CALLS % TIME µS/CALL
Total 11043649 100.0 51048535 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Integer.mod/2 62315 0.04 18253 0.29
Raytracer.y/1 62313 0.04 18924 0.30
Raytracer.colour_to_pixel/1 62315 0.06 29889 0.48
Raytracer.trace_ray/6 62315 0.06 32432 0.52
ParallelStream.Workers.Worker.work/3 62316 0.11 55046 0.88
anonymous fn/5 in Raytracer.render/4 62315 0.11 56486 0.91
Raytracer.ray/3 62315 0.16 82045 1.32
ParallelStream.Executor.execute/1 62316 0.21 109499 1.76
Raytracer.normalise/1 262272 0.23 119201 0.45
Raytracer.norm/1 262272 0.24 123406 0.47
Raytracer.reflect/2 199959 0.26 130861 0.65
Raytracer.scatter/2 199959 0.35 180040 0.90
:erlang.send/2 124631 0.44 223547 1.79
Raytracer.point_at_param/2 547820 0.47 242073 0.44
Raytracer.add/2 734763 0.49 249544 0.34
Raytracer.colour/3 262272 0.50 256076 0.98
anonymous fn/7 in Raytracer.hit/4 835636 0.87 445713 0.53
Raytracer.scale/2 1533217 1.01 516937 0.34
Raytracer.sub/2 2333191 1.57 801036 0.34
Raytracer.mult/2 6253168 3.87 1974980 0.32
Raytracer.dot/2 6053211 5.77 2947836 0.49
:erlang.max/2 23134925 10.28 5249891 0.23
:erlang.min/2 23134925 10.33 5271200 0.23
Raytracer.hit/4 20902340 29.22 14918324 0.71
anonymous fn/6 in Raytracer.hit/4 23163397 33.29 16995296 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2293.0>
# CALLS % TIME µS/CALL
Total 11034279 100.0 50871012 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62610 0.03 16183 0.26
Integer.mod/2 62615 0.04 18037 0.29
Raytracer.colour_to_pixel/1 62615 0.06 28961 0.46
Raytracer.trace_ray/6 62615 0.06 32448 0.52
ParallelStream.Workers.Worker.work/3 62616 0.11 56039 0.89
anonymous fn/5 in Raytracer.render/4 62615 0.11 56877 0.91
Raytracer.ray/3 62615 0.16 83438 1.33
ParallelStream.Executor.execute/1 62616 0.22 112757 1.80
Raytracer.normalise/1 261778 0.23 117902 0.45
Raytracer.norm/1 261778 0.24 122712 0.47
Raytracer.reflect/2 199168 0.26 131968 0.66
Raytracer.scatter/2 199168 0.35 177241 0.89
:erlang.send/2 125231 0.44 222425 1.78
Raytracer.point_at_param/2 546270 0.48 242218 0.44
Raytracer.add/2 734110 0.49 251216 0.34
Raytracer.colour/3 261778 0.50 254293 0.97
anonymous fn/7 in Raytracer.hit/4 835015 0.85 434301 0.52
Raytracer.scale/2 1530801 0.98 497978 0.33
Raytracer.sub/2 2328643 1.52 774319 0.33
Raytracer.mult/2 6240452 3.89 1980878 0.32
Raytracer.dot/2 6041289 5.79 2945338 0.49
:erlang.min/2 23121204 10.25 5213479 0.23
:erlang.max/2 23121204 10.28 5229117 0.23
Raytracer.hit/4 20883612 29.26 14886670 0.71
anonymous fn/6 in Raytracer.hit/4 23150358 33.39 16984217 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2294.0>
# CALLS % TIME µS/CALL
Total 11034480 100.0 51019990 0.46
:erlang.apply/2 1 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:erlang.fun_info/2 2 0.00 1 0.50
Task.Supervised.get_initial_call/1 1 0.00 1 1.00
:proc_lib.init_p_do_apply/3 1 0.00 1 1.00
:proc_lib.init_p/5 1 0.00 1 1.00
Raytracer.y/1 62598 0.03 16319 0.26
Integer.mod/2 62600 0.04 18033 0.29
Raytracer.colour_to_pixel/1 62600 0.06 28684 0.46
Raytracer.trace_ray/6 62600 0.06 32489 0.52
anonymous fn/5 in Raytracer.render/4 62600 0.11 53678 0.86
ParallelStream.Workers.Worker.work/3 62601 0.11 56016 0.89
Raytracer.ray/3 62600 0.16 82471 1.32
ParallelStream.Executor.execute/1 62601 0.22 110184 1.76
Raytracer.normalise/1 261814 0.23 118762 0.45
Raytracer.norm/1 261814 0.24 121752 0.47
Raytracer.reflect/2 199216 0.26 133725 0.67
Raytracer.scatter/2 199216 0.35 180100 0.90
Raytracer.point_at_param/2 546140 0.46 236386 0.43
Raytracer.add/2 733938 0.47 240979 0.33
Raytracer.colour/3 261814 0.50 256912 0.98
:erlang.send/2 125201 0.51 262739 2.10
anonymous fn/7 in Raytracer.hit/4 834290 0.88 447469 0.54
Raytracer.scale/2 1530636 1.00 509606 0.33
Raytracer.sub/2 2330822 1.60 815186 0.35
Raytracer.mult/2 6247268 3.83 1952099 0.31
Raytracer.dot/2 6048054 5.78 2949471 0.49
:erlang.max/2 23114314 10.22 5216145 0.23
:erlang.min/2 23114314 10.33 5267814 0.23
Raytracer.hit/4 20886096 29.35 14976905 0.72
anonymous fn/6 in Raytracer.hit/4 23149039 33.19 16936061 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2295.0>
# CALLS % TIME µS/CALL
Total 11040794 100.0 51028291 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:erlang.put/2 4 0.00 1 0.25
:proc_lib.init_p_do_apply/3 1 0.00 1 1.00
:proc_lib.init_p/5 1 0.00 1 1.00
Raytracer.y/1 62677 0.03 16097 0.26
Integer.mod/2 62679 0.04 17982 0.29
Raytracer.colour_to_pixel/1 62679 0.07 33330 0.53
Raytracer.trace_ray/6 62679 0.09 45111 0.72
anonymous fn/5 in Raytracer.render/4 62679 0.10 52383 0.84
ParallelStream.Workers.Worker.work/3 62680 0.13 67702 1.08
Raytracer.ray/3 62679 0.16 83127 1.33
ParallelStream.Executor.execute/1 62680 0.22 111031 1.77
Raytracer.normalise/1 261893 0.23 119015 0.45
Raytracer.norm/1 261893 0.24 122215 0.47
Raytracer.reflect/2 199216 0.28 142881 0.72
Raytracer.scatter/2 199216 0.36 181660 0.91
:erlang.send/2 125359 0.45 229609 1.83
Raytracer.point_at_param/2 546916 0.47 237858 0.43
Raytracer.add/2 734951 0.47 240840 0.33
Raytracer.colour/3 261893 0.50 255560 0.98
anonymous fn/7 in Raytracer.hit/4 835390 0.86 440493 0.53
Raytracer.scale/2 1532195 1.00 509461 0.33
Raytracer.sub/2 2333564 1.57 801039 0.34
Raytracer.mult/2 6254172 3.91 1997535 0.32
Raytracer.dot/2 6054958 5.76 2936734 0.49
:erlang.min/2 23123848 10.27 5242636 0.23
:erlang.max/2 23123848 10.29 5252381 0.23
Raytracer.hit/4 20898470 29.32 14960773 0.72
anonymous fn/6 in Raytracer.hit/4 23158715 33.18 16930835 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2296.0>
# CALLS % TIME µS/CALL
Total 11056700 100.0 50962627 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62627 0.03 15941 0.25
Integer.mod/2 62627 0.04 18850 0.30
Raytracer.colour_to_pixel/1 62627 0.07 33825 0.54
Raytracer.trace_ray/6 62627 0.07 34962 0.56
ParallelStream.Workers.Worker.work/3 62628 0.11 54586 0.87
anonymous fn/5 in Raytracer.render/4 62627 0.11 56351 0.90
Raytracer.ray/3 62627 0.17 84544 1.35
ParallelStream.Executor.execute/1 62628 0.22 113139 1.81
Raytracer.norm/1 262384 0.24 121155 0.46
Raytracer.normalise/1 262384 0.24 121325 0.46
Raytracer.reflect/2 199757 0.26 130936 0.66
Raytracer.scatter/2 199757 0.35 179375 0.90
:erlang.send/2 125255 0.40 206188 1.65
Raytracer.point_at_param/2 547438 0.47 238484 0.44
Raytracer.add/2 735319 0.49 252234 0.34
Raytracer.colour/3 262384 0.51 258820 0.99
anonymous fn/7 in Raytracer.hit/4 836467 0.86 440528 0.53
Raytracer.scale/2 1533806 0.99 505866 0.33
Raytracer.sub/2 2334035 1.58 807089 0.35
Raytracer.mult/2 6255451 3.85 1960939 0.31
Raytracer.dot/2 6055694 5.87 2989234 0.49
:erlang.max/2 23167019 10.30 5251244 0.23
:erlang.min/2 23167019 10.38 5288069 0.23
Raytracer.hit/4 20928544 29.14 14847981 0.71
anonymous fn/6 in Raytracer.hit/4 23193259 33.26 16950962 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2297.0>
# CALLS % TIME µS/CALL
Total 11023764 100.0 50896026 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62437 0.03 16048 0.26
Integer.mod/2 62440 0.04 19436 0.31
Raytracer.colour_to_pixel/1 62440 0.06 29295 0.47
Raytracer.trace_ray/6 62440 0.07 38141 0.61
ParallelStream.Workers.Worker.work/3 62441 0.11 55681 0.89
anonymous fn/5 in Raytracer.render/4 62440 0.11 56922 0.91
Raytracer.ray/3 62440 0.20 99653 1.60
ParallelStream.Executor.execute/1 62441 0.23 115020 1.84
Raytracer.normalise/1 261696 0.23 118950 0.45
Raytracer.norm/1 261696 0.24 121452 0.46
Raytracer.reflect/2 199259 0.26 130297 0.65
Raytracer.scatter/2 199259 0.35 178837 0.90
:erlang.send/2 124881 0.42 211712 1.70
Raytracer.point_at_param/2 545032 0.46 236621 0.43
Raytracer.add/2 732349 0.50 253184 0.35
Raytracer.colour/3 261696 0.51 258966 0.99
anonymous fn/7 in Raytracer.hit/4 835036 0.87 445018 0.53
Raytracer.scale/2 1528257 0.99 503423 0.33
Raytracer.sub/2 2328745 1.56 795395 0.34
Raytracer.mult/2 6243060 3.90 1982574 0.32
Raytracer.dot/2 6043804 5.85 2977325 0.49
:erlang.min/2 23092098 10.27 5228239 0.23
:erlang.max/2 23092098 10.27 5229453 0.23
Raytracer.hit/4 20865268 29.24 14881656 0.71
anonymous fn/6 in Raytracer.hit/4 23123873 33.23 16912728 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2298.0>
# CALLS % TIME µS/CALL
Total 11023588 100.0 50914561 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62536 0.03 15967 0.26
Integer.mod/2 62539 0.04 17966 0.29
Raytracer.colour_to_pixel/1 62539 0.06 28661 0.46
Raytracer.trace_ray/6 62539 0.06 32031 0.51
ParallelStream.Workers.Worker.work/3 62540 0.11 54501 0.87
anonymous fn/5 in Raytracer.render/4 62539 0.11 55625 0.89
Raytracer.ray/3 62539 0.19 97148 1.55
ParallelStream.Executor.execute/1 62540 0.22 110060 1.76
Raytracer.normalise/1 261968 0.23 118756 0.45
Raytracer.norm/1 261968 0.25 125065 0.48
Raytracer.reflect/2 199432 0.26 132004 0.66
Raytracer.scatter/2 199432 0.35 176288 0.88
:erlang.send/2 125079 0.41 206808 1.65
Raytracer.point_at_param/2 546040 0.48 245397 0.45
Raytracer.add/2 733654 0.50 253529 0.35
Raytracer.colour/3 261968 0.51 259371 0.99
anonymous fn/7 in Raytracer.hit/4 835016 0.86 436372 0.52
Raytracer.scale/2 1530610 0.99 503099 0.33
Raytracer.sub/2 2328914 1.58 805096 0.35
Raytracer.mult/2 6242030 3.85 1961554 0.31
Raytracer.dot/2 6042601 5.81 2956422 0.49
:erlang.max/2 23093231 10.26 5225076 0.23
:erlang.min/2 23093231 10.29 5240024 0.23
Raytracer.hit/4 20863124 29.23 14882150 0.71
anonymous fn/6 in Raytracer.hit/4 23117261 33.34 16975591 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2299.0>
# CALLS % TIME µS/CALL
Total 11006243 100.0 50830864 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62503 0.03 16018 0.26
Integer.mod/2 62506 0.04 17853 0.29
Raytracer.colour_to_pixel/1 62506 0.06 29969 0.48
Raytracer.trace_ray/6 62506 0.06 32638 0.52
anonymous fn/5 in Raytracer.render/4 62506 0.10 51928 0.83
ParallelStream.Workers.Worker.work/3 62507 0.11 55151 0.88
Raytracer.ray/3 62506 0.16 81839 1.31
ParallelStream.Executor.execute/1 62507 0.22 111457 1.78
Raytracer.norm/1 261181 0.24 119984 0.46
Raytracer.normalise/1 261181 0.24 124530 0.48
Raytracer.reflect/2 198678 0.25 129462 0.65
Raytracer.scatter/2 198678 0.35 175668 0.88
:erlang.send/2 125013 0.44 223259 1.79
Raytracer.point_at_param/2 544716 0.47 238665 0.44
Raytracer.add/2 732231 0.47 240240 0.33
Raytracer.colour/3 261181 0.51 257600 0.99
anonymous fn/7 in Raytracer.hit/4 832398 0.90 455386 0.55
Raytracer.scale/2 1526951 1.00 509960 0.33
Raytracer.sub/2 2323205 1.54 780351 0.34
Raytracer.mult/2 6226201 3.87 1968928 0.32
Raytracer.dot/2 6027526 5.83 2961339 0.49
:erlang.min/2 23061086 10.27 5222450 0.23
:erlang.max/2 23061086 10.34 5254436 0.23
Raytracer.hit/4 20832406 29.25 14869786 0.71
anonymous fn/6 in Raytracer.hit/4 23088651 33.25 16901967 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2300.0>
# CALLS % TIME µS/CALL
Total 11060973 100.0 50869903 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62601 0.03 16051 0.26
Integer.mod/2 62603 0.04 17966 0.29
Raytracer.colour_to_pixel/1 62603 0.06 29050 0.46
Raytracer.trace_ray/6 62603 0.06 32373 0.52
anonymous fn/5 in Raytracer.render/4 62603 0.10 51784 0.83
ParallelStream.Workers.Worker.work/3 62604 0.11 55417 0.89
Raytracer.ray/3 62603 0.17 87521 1.40
ParallelStream.Executor.execute/1 62604 0.22 109806 1.75
Raytracer.norm/1 262426 0.24 121581 0.46
Raytracer.normalise/1 262426 0.24 123589 0.47
Raytracer.reflect/2 199825 0.25 129587 0.65
Raytracer.scatter/2 199825 0.35 177805 0.89
:erlang.send/2 125207 0.42 213596 1.71
Raytracer.point_at_param/2 548528 0.47 237530 0.43
Raytracer.add/2 736335 0.48 245168 0.33
Raytracer.colour/3 262426 0.50 254012 0.97
anonymous fn/7 in Raytracer.hit/4 838756 0.87 444434 0.53
Raytracer.scale/2 1535451 1.03 522358 0.34
Raytracer.sub/2 2338325 1.56 794913 0.34
Raytracer.mult/2 6266798 3.91 1986567 0.32
Raytracer.dot/2 6066975 5.74 2921975 0.48
:erlang.min/2 23166760 10.25 5212474 0.22
:erlang.max/2 23166760 10.27 5224670 0.23
Raytracer.hit/4 20935228 29.46 14987664 0.72
anonymous fn/6 in Raytracer.hit/4 23196843 33.17 16872012 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2301.0>
# CALLS % TIME µS/CALL
Total 11018616 100.0 51031112 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62324 0.03 16095 0.26
Integer.mod/2 62325 0.04 17906 0.29
Raytracer.colour_to_pixel/1 62325 0.06 28524 0.46
Raytracer.trace_ray/6 62325 0.06 31919 0.51
anonymous fn/5 in Raytracer.render/4 62325 0.10 51786 0.83
ParallelStream.Workers.Worker.work/3 62326 0.11 55760 0.89
Raytracer.ray/3 62325 0.16 84078 1.35
ParallelStream.Executor.execute/1 62326 0.21 109461 1.76
Raytracer.normalise/1 261602 0.23 119542 0.46
Raytracer.norm/1 261602 0.24 121009 0.46
Raytracer.reflect/2 199278 0.26 131449 0.66
Raytracer.scatter/2 199278 0.35 176980 0.89
:erlang.send/2 124651 0.43 221356 1.78
Raytracer.point_at_param/2 546970 0.47 238930 0.44
Raytracer.add/2 733944 0.47 241819 0.33
Raytracer.colour/3 261602 0.52 265583 1.02
anonymous fn/7 in Raytracer.hit/4 836068 0.87 442704 0.53
Raytracer.scale/2 1530633 1.00 512470 0.33
Raytracer.sub/2 2327983 1.54 784226 0.34
Raytracer.mult/2 6238120 3.86 1968496 0.32
Raytracer.dot/2 6038843 5.84 2982357 0.49
:erlang.max/2 23081145 10.26 5237005 0.23
:erlang.min/2 23081145 10.38 5298992 0.23
Raytracer.hit/4 20853492 29.34 14971433 0.72
anonymous fn/6 in Raytracer.hit/4 23111190 33.16 16921232 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2302.0>
# CALLS % TIME µS/CALL
Total 11010688 100.0 50886999 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62405 0.03 16029 0.26
Integer.mod/2 62406 0.04 17896 0.29
Raytracer.colour_to_pixel/1 62406 0.06 28473 0.46
Raytracer.trace_ray/6 62406 0.06 31989 0.51
ParallelStream.Workers.Worker.work/3 62407 0.11 54396 0.87
anonymous fn/5 in Raytracer.render/4 62406 0.13 64337 1.03
Raytracer.ray/3 62406 0.16 83684 1.34
ParallelStream.Executor.execute/1 62407 0.23 117267 1.88
Raytracer.normalise/1 261285 0.23 118596 0.45
Raytracer.norm/1 261285 0.24 124381 0.48
Raytracer.reflect/2 198880 0.26 130676 0.66
Raytracer.scatter/2 198880 0.35 178615 0.90
:erlang.send/2 124813 0.41 207478 1.66
Raytracer.point_at_param/2 546132 0.46 236371 0.43
Raytracer.colour/3 261285 0.50 255448 0.98
Raytracer.add/2 733349 0.51 258799 0.35
anonymous fn/7 in Raytracer.hit/4 834019 0.87 442821 0.53
Raytracer.scale/2 1528985 1.00 509389 0.33
Raytracer.sub/2 2325260 1.59 809213 0.35
Raytracer.mult/2 6230648 3.92 1993591 0.32
Raytracer.dot/2 6031769 5.75 2925111 0.48
:erlang.max/2 23069558 10.30 5241438 0.23
:erlang.min/2 23069558 10.34 5261435 0.23
Raytracer.hit/4 20836666 29.19 14854683 0.71
anonymous fn/6 in Raytracer.hit/4 23095246 33.26 16924883 0.73
Profile done over 38 matching functions
Profile results of #PID<0.2303.0>
# CALLS % TIME µS/CALL
Total 10998621 100.0 51308125 0.47
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62278 0.03 16269 0.26
Integer.mod/2 62280 0.04 18092 0.29
Raytracer.colour_to_pixel/1 62280 0.06 28591 0.46
Raytracer.trace_ray/6 62280 0.07 34746 0.56
anonymous fn/5 in Raytracer.render/4 62280 0.10 52173 0.84
ParallelStream.Workers.Worker.work/3 62281 0.11 54707 0.88
Raytracer.ray/3 62280 0.19 99506 1.60
ParallelStream.Executor.execute/1 62281 0.21 109954 1.77
Raytracer.normalise/1 260830 0.24 121064 0.46
Raytracer.norm/1 260830 0.24 122657 0.47
Raytracer.reflect/2 198552 0.26 132726 0.67
Raytracer.scatter/2 198552 0.36 185465 0.93
:erlang.send/2 124561 0.38 196377 1.58
Raytracer.point_at_param/2 544620 0.47 241151 0.44
Raytracer.add/2 731458 0.48 246768 0.34
Raytracer.colour/3 260830 0.52 264991 1.02
anonymous fn/7 in Raytracer.hit/4 831821 0.87 444554 0.53
Raytracer.scale/2 1525428 0.99 510131 0.33
Raytracer.sub/2 2320943 1.56 801276 0.35
Raytracer.mult/2 6219887 3.86 1981399 0.32
Raytracer.dot/2 6021337 5.76 2954898 0.49
:erlang.min/2 23045828 10.28 5273136 0.23
:erlang.max/2 23045828 10.33 5298804 0.23
Raytracer.hit/4 20820576 29.32 15041414 0.72
anonymous fn/6 in Raytracer.hit/4 23076072 33.28 17077276 0.74
Profile done over 38 matching functions
Profile results of #PID<0.2304.0>
# CALLS % TIME µS/CALL
Total 11017536 100.0 51254194 0.47
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Raytracer.y/1 62406 0.03 16288 0.26
Integer.mod/2 62407 0.03 17930 0.29
Raytracer.colour_to_pixel/1 62407 0.06 30148 0.48
Raytracer.trace_ray/6 62407 0.06 33094 0.53
anonymous fn/5 in Raytracer.render/4 62407 0.10 52446 0.84
ParallelStream.Workers.Worker.work/3 62408 0.11 55176 0.88
Raytracer.ray/3 62407 0.16 83423 1.34
ParallelStream.Executor.execute/1 62408 0.21 110017 1.76
Raytracer.normalise/1 261533 0.24 120673 0.46
Raytracer.norm/1 261533 0.25 125801 0.48
Raytracer.reflect/2 199127 0.26 134002 0.67
Raytracer.scatter/2 199127 0.35 178419 0.90
:erlang.send/2 124815 0.39 202440 1.62
Raytracer.add/2 733294 0.48 244070 0.33
Raytracer.point_at_param/2 546074 0.49 253200 0.46
Raytracer.colour/3 261533 0.53 274099 1.05
anonymous fn/7 in Raytracer.hit/4 833718 0.85 437487 0.52
Raytracer.scale/2 1529397 1.00 511445 0.33
Raytracer.sub/2 2325466 1.56 802051 0.34
Raytracer.mult/2 6231598 3.86 1978195 0.32
Raytracer.dot/2 6032472 5.80 2973672 0.49
:erlang.max/2 23086435 10.31 5285741 0.23
:erlang.min/2 23086435 10.34 5297672 0.23
Raytracer.hit/4 20852034 29.22 14978990 0.72
anonymous fn/6 in Raytracer.hit/4 23111501 33.28 17057715 0.74
Profile done over 38 matching functions
Profile results of #PID<0.2305.0>
# CALLS % TIME µS/CALL
Total 11007091 100.0 51233413 0.47
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:erlang.apply/2 1 0.00 13 13.00
Raytracer.y/1 62583 0.03 17009 0.27
Integer.mod/2 62584 0.04 18128 0.29
Raytracer.colour_to_pixel/1 62584 0.06 29606 0.47
Raytracer.trace_ray/6 62584 0.07 33828 0.54
anonymous fn/5 in Raytracer.render/4 62584 0.10 52364 0.84
ParallelStream.Workers.Worker.work/3 62585 0.11 57479 0.92
Raytracer.ray/3 62584 0.16 83693 1.34
ParallelStream.Executor.execute/1 62585 0.22 110645 1.77
Raytracer.normalise/1 261407 0.25 126828 0.49
Raytracer.norm/1 261407 0.26 134829 0.52
Raytracer.reflect/2 198824 0.26 135638 0.68
Raytracer.scatter/2 198824 0.35 179036 0.90
:erlang.send/2 125169 0.45 229146 1.83
Raytracer.point_at_param/2 545172 0.46 237560 0.44
Raytracer.add/2 732923 0.48 246010 0.34
Raytracer.colour/3 261407 0.50 257757 0.99
anonymous fn/7 in Raytracer.hit/4 832896 0.86 438888 0.53
Raytracer.scale/2 1528323 1.02 524070 0.34
Raytracer.sub/2 2320876 1.55 792757 0.34
Raytracer.mult/2 6218524 3.88 1989397 0.32
Raytracer.dot/2 6019701 5.77 2953926 0.49
:erlang.min/2 23070686 10.33 5291393 0.23
:erlang.max/2 23070686 10.35 5302869 0.23
Raytracer.hit/4 20828774 29.26 14989182 0.72
anonymous fn/6 in Raytracer.hit/4 23094620 33.18 17001362 0.74
Profile done over 38 matching functions
Profile results of #PID<0.2306.0>
# CALLS % TIME µS/CALL
Total 11032225 100.0 51269737 0.46
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 13 13.00
Raytracer.y/1 62533 0.03 16232 0.26
Integer.mod/2 62534 0.04 18141 0.29
Raytracer.colour_to_pixel/1 62534 0.06 29481 0.47
Raytracer.trace_ray/6 62534 0.06 32342 0.52
anonymous fn/5 in Raytracer.render/4 62534 0.10 52276 0.84
ParallelStream.Workers.Worker.work/3 62535 0.11 56309 0.90
Raytracer.ray/3 62534 0.17 85819 1.37
ParallelStream.Executor.execute/1 62535 0.22 111677 1.79
Raytracer.normalise/1 262078 0.24 120893 0.46
Raytracer.norm/1 262078 0.24 124210 0.47
Raytracer.reflect/2 199545 0.26 134626 0.67
Raytracer.scatter/2 199545 0.35 178595 0.90
Raytracer.point_at_param/2 547126 0.47 240396 0.44
Raytracer.add/2 734727 0.48 246103 0.33
:erlang.send/2 125069 0.49 249250 1.99
Raytracer.colour/3 262078 0.50 257608 0.98
anonymous fn/7 in Raytracer.hit/4 835759 0.87 447321 0.54
Raytracer.scale/2 1532446 1.01 516432 0.34
Raytracer.sub/2 2328214 1.57 804890 0.35
Raytracer.mult/2 6238428 3.85 1973510 0.32
Raytracer.dot/2 6038884 5.75 2947466 0.49
:erlang.min/2 23117472 10.26 5258674 0.23
:erlang.max/2 23117472 10.45 5358449 0.23
Raytracer.hit/4 20877032 29.08 14909361 0.71
anonymous fn/6 in Raytracer.hit/4 23144006 33.35 17099663 0.74
Profile done over 38 matching functions
Profile results of #PID<0.2307.0>
# CALLS % TIME µS/CALL
Total 11057700 100.0 51482862 0.47
:erlang.apply/2 1 0.00 0 0.00
:erlang.put/2 4 0.00 0 0.00
:erlang.fun_info/2 2 0.00 0 0.00
Task.Supervised.put_callers/1 1 0.00 0 0.00
Task.Supervised.noreply/3 1 0.00 0 0.00
Task.Supervised.invoke_mfa/2 1 0.00 0 0.00
Task.Supervised.initial_call/1 1 0.00 0 0.00
Task.Supervised.get_initial_call/1 1 0.00 0 0.00
Process.put/2 2 0.00 0 0.00
anonymous fn/3 in ParallelStream.Workers.build!/3 1 0.00 0 0.00
:proc_lib.trans_init/3 1 0.00 0 0.00
:proc_lib.init_p/5 1 0.00 0 0.00
:proc_lib.init_p_do_apply/3 1 0.00 1 1.00
Raytracer.y/1 62535 0.03 16477 0.26
Integer.mod/2 62541 0.04 18264 0.29
Raytracer.colour_to_pixel/1 62541 0.06 29029 0.46
Raytracer.trace_ray/6 62541 0.07 34513 0.55
anonymous fn/5 in Raytracer.render/4 62541 0.10 52737 0.84
ParallelStream.Workers.Worker.work/3 62542 0.11 55739 0.89
Raytracer.ray/3 62541 0.17 87734 1.40
ParallelStream.Executor.execute/1 62542 0.22 113629 1.82
Raytracer.normalise/1 262555 0.24 123291 0.47
Raytracer.norm/1 262555 0.24 124614 0.47
Raytracer.reflect/2 200020 0.26 134425 0.67
Raytracer.scatter/2 200020 0.35 181605 0.91
:erlang.send/2 125083 0.41 209075 1.67
Raytracer.point_at_param/2 550100 0.47 241594 0.44
Raytracer.add/2 737717 0.49 250168 0.34
Raytracer.colour/3 262555 0.51 261770 1.00
anonymous fn/7 in Raytracer.hit/4 839112 0.86 442287 0.53
Raytracer.scale/2 1537877 0.99 512003 0.33
Raytracer.sub/2 2336741 1.56 802825 0.34
Raytracer.mult/2 6259999 3.87 1993147 0.32
Raytracer.dot/2 6059985 5.78 2975227 0.49
:erlang.min/2 23163831 10.23 5264176 0.23
:erlang.max/2 23163831 10.29 5297362 0.23
Raytracer.hit/4 20926698 29.30 15083801 0.72
anonymous fn/6 in Raytracer.hit/4 23187986 33.37 17177369 0.74
Profile done over 38 matching functions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment