etj has asked for the wisdom of the Perl Monks concerning the following question:
In https://github.com/PDLPorters/pdl/issues/385 the mighty marioroy has identified that PDL 2.076 is notably slower than 2.075 when exiting after using Perl threads, and specifically that this was after adding:
in the PDL C-level destroy code (so that the PDL::DESTROY method would not be called on that SV, as that SV's IV, which is a pdl* pointer, gets set to an invalid value and we don't like SEGV).SvOBJECT_off((SV *)it->sv); /* it = the struct pdl * */
In particular, as shown in the discussion on that GitHub issue, it takes about 1.5s in threads::join. Anyone got any idea why, and what to do about it?
|
---|