Skip to content
This repository has been archived by the owner on Apr 18, 2020. It is now read-only.

Add a best effort internal profiler #33

Open
DavidDudson opened this issue Dec 29, 2017 · 1 comment
Open

Add a best effort internal profiler #33

DavidDudson opened this issue Dec 29, 2017 · 1 comment

Comments

@DavidDudson
Copy link
Member

Accuracy is not important here. just subtracting nanotime should be good enough.
We don't care about IO blocking or wall vs cpu time etc.

I would like to time the following:

  • Plain Traversal (Total and Per File)
  • Generation (Total, Per Generator, Per File)
  • FQN conversions (Total, and Per File)

This is related to, but not the same as #5

This will be targeted at the user, not the library.

For example, It would be nice to get an output such as

Scalagen Timings.
Total: 5s
Traversal: 3s (200 files/s)
Generation: 1.5s 
 - org.simulacrum.typeclass: 900ms
 - org.scalameta.ast: 100ms
 - org.freesio.free: 500ms
FQN: 0.5s

These would be outputted to SBT.

This would allow the Author's to optimize easily.
It would also allow us to get an idea of how scalagen affects various projects.

@DavidDudson
Copy link
Member Author

Blocked by #36

@DavidDudson DavidDudson added this to the Version 0.2 milestone Jan 9, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant