mflatt
2018-12-7 12:25:08

Wow - fantastic!


samth
2018-12-7 13:50:08

@mflatt one thing I see is that PLT_LINKLET_TIMES reports substantially more calls to instantiate-linklet for pycket than for racketcs (the numbers for racket are always lower). Unfortunately it’s hard to tell what linklets are instantiated for, so it might be nice to add something to the API that could give more information there


mflatt
2018-12-7 14:49:21

I’m puzzled by the instantiate numbers. They don’t look right – much smaller than the instantiate line with PLT_EXPANDER_TIMES, for example.


mflatt
2018-12-7 14:49:45

And it should be bigger, because PLT_EXPANDER_TIMES doesn’t cover all instantiate-linklet calls.


mflatt
2018-12-7 14:52:51

Oops, I was confusing msecs and counts. I’m seeing everything these same, as it should be in something like -cl racket/base, where the number of instantiations should not depend on the linklet implementation. Depending on the program, module caching could be relevant. What example gives you different counts?


samth
2018-12-7 14:53:34

@mflatt something like pycket -l racket/base


mflatt
2018-12-7 14:56:31

I don’t think caching would be relevant. What number do you get instead of 282?


samth
2018-12-7 15:01:27

302


samth
2018-12-7 15:01:51

and it should be 1 higher for pycket because we instantiate a linklet with the fasl code as well


samth
2018-12-7 15:02:20

and maybe 1 more depending on whether racketcs counts the expander instantiation


mflatt
2018-12-7 15:05:50

Does PLT_EXPANDER_TIMES report 57 for the subset of instantiations that it counts?


samth
2018-12-7 15:19:16

for some reason PLT_EXPANDER_TIMES doesn’t report anything on pycket


samth
2018-12-7 15:19:37

which I think points to a bug somewhere


samth
2018-12-7 21:12:37

@mflatt now that environment variables work correctly, PLT_EXPANDER_TIMES reports 55


samth
2018-12-7 21:13:10

the difference is likely not loading configure-runtime submodules


mflatt
2018-12-7 21:48:10

That makes send. I still don’t have any ideas about the 20 instantiations from the full count, but maybe changing instantiate-linklet in two implementations to print linklet/instance names will give a hint at how they differ.