rebellion icon indicating copy to clipboard operation
rebellion copied to clipboard

Enable transducers to report to Racket Feature Profiler

Open samdphillips opened this issue 4 years ago • 2 comments

Related to #351, but this is more about users writing and profiling their code.

Users should be able to use the feature profiler to figure out:

  • how much time is being spent in transducer/reducer machinery (transduce, in-transduced, etc)
  • how much time is being used per transducer in a pipeline

samdphillips avatar Nov 15 '19 19:11 samdphillips

This is a very good idea. But I've never implemented a feature plugin before, or even used the feature profiler. Example code of other libraries doing this would be very helpful.

jackfirth avatar Nov 16 '19 07:11 jackfirth

For reference:

  • Part three of the Feature Profiler documentation is for library developers.
  • PLT paper about the design/implementation of feature profiling

I haven't done this either. Browsing the core Racket parts it appears they use syntax properties a fair amount so it doesn't interfere too much with regular usage.

Still more reading and research to do. I just wanted to have this issue around so I wouldn't forget about it.

samdphillips avatar Nov 16 '19 18:11 samdphillips