Open eoliphan opened 1 year ago
hi @eoliphan! Thanks!
Sure, I have thought about it. Not sure it would make an accurate profiler but with very light instrumentation (just fn calls and returns) should be ok to measure how long fns take to execute I guess.
@jpmonettas Was this idea realized? I actively use flowstorm, but I don’t know how to enable it, although it would be useful.
@velios there insn't anything for measuring performance implemented yet, but measuring pretty accurate results shouldn't be hard if we create a special "performance mode".
With this I mean that in "perf measuring mode" we can setup ClojureStorm callbacks to just trace fn-call and fn-return (and disable the rest) with callbacks that just store the timestamps for functions calls and functions returns in a specialized structure. Then maybe create a Performance tool tab with various ways of looking at this.
@jpmonettas This would be great, if of course you have time for it. Functionality of storm is breathtaking, but I'm sure it takes a lot of time to maintain. I'd like to contribute to project in the future, but project seem a pretty hard to understand, especially the part where the user interface interacts with the rest of the tool.
@velios I'll eventually work on this, but if you are interested in the project internals and contributing there is https://flow-storm.github.io/flow-storm-debugger/user_guide.html#_internals_diagrams_and_documentation which links to dev_notes, and a bunch of diagrams.
Also don't hesitate to ask in #flow-storm channel on the Clojurians Slack or DM me if you have any questions.
Would it be possible (or even desirable) to add some sort of optional profiling? Obviously this wouldn't replace or be as accurate as dedicated tools like criterium, etc. But it would be nice to be able to see rough numbers, such that I make a tweak and i can see that some call went from X to 1/2 X.
P.S. FlowStorm is awesome!