Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- defmodule ExecutionFunctions do
- defmodule Variables do
- def windowSize do 200000 end
- def msgCount do 20000000 end
- def sizeOfMessage do 1024 end
- end
- def create_message(n) do
- [:binary.bin_to_list(<<rem(n, 256) * Variables.sizeOfMessage>>)]
- end
- def push_message(dict_, id) do
- low_id = id - Variables.windowSize
- dict_ = dict_ ++ create_message(id)
- if low_id >=0 do
- dict_
- |> List.delete_at(low_id)
- end
- end
- end
- defmodule ExecutionTime do
- def time_of(function, args) do
- {time, result} = :timer.tc(function, args)
- IO.puts "Time: #{time}ms"
- IO.puts "Result: #{result}"
- end
- end
- for x <- 0..ExecutionFunctions.Variables.msgCount, do: ExecutionTime.time_of(&ExecutionFunctions.push_message/2, [[],x])
Advertisement
Add Comment
Please, Sign In to add comment