profile.exs (720B)
1 defmodule DummyProblem do 2 @behaviour Problem 3 alias Types.Chromosome 4 5 @impl true 6 def genotype do 7 genes = Enum.map(1..100, fn _ -> Enum.random(0..1) end) 8 %Chromosome{genes: genes, size: 100} 9 end 10 11 @impl true 12 def fitness_function(chromosome), do: Enum.sum(chromosome.genes) 13 14 @impl true 15 def terminate?(_pop, gen), do: gen == 1 16 end 17 18 defmodule Profiler do 19 import ExProf.Macro 20 21 def do_analyze do 22 profile do 23 Genetic.run(DummyProblem) 24 end 25 end 26 27 def run do 28 {records, _block_result} = do_analyze() 29 30 total_percent = 31 Enum.reduce(records, 0.0, fn 32 records, acc -> records.percent + acc 33 end) 34 35 IO.inspect("total = #{total_percent}") 36 end 37 end 38 39 Profiler.run()