bencheeorg / benchee

Easy and extensible benchmarking in Elixir providing you with lots of statistics!
MIT License
1.41k stars 66 forks source link

Question: Benchmark function operations ? #354

Closed apoorv-2204 closed 2 years ago

apoorv-2204 commented 2 years ago

Hi I don't know if it is right place to ask ??, If calling different modules and methods inside benchmarking functions also measures their execution also? if sending a message to a process for processing other things , does it include that processing of that process.

PragTob commented 2 years ago

Hi there,

the measured time includes the exxecution time of the entire function. So calling MyModule.function() will definitely be included. Sending a message to a process like send pid, :message will be included, but not the processing time in the receiving process as send doesn't await the answer from said process. You could await the response from that process (if any) though.

Alternatively, for the sending example, I'd recommend to just have the process call some business logic module and to then benchmark that module directly if you are interested in its performance.