I hope you do not take this as harassment, but I really would like an option that makes a copy before running in place where there's multiple verbs in the compound (similar to 9!:53(0), in behavior, I expect - but should have better performance in many cases where there's more than two verbs in the compound).
Thanks, -- Raul On Wed, Oct 5, 2016 at 3:53 PM, Henry Rich <[email protected]> wrote: > 9!:53 (0) will run in-place only on the last (or only) verb in a compound, > and only if that verb will complete without error. > > 9!:53 (1) will run in-place wherever the previous contents of the > to-be-assigned noun are no longer needed, and only if that verb will > complete without error. > > 9!:53 (2) will run in-place wherever the previous contents of the > to-be-assigned noun are no longer needed. > > Henry Rich > > > On 10/5/2016 12:28 PM, Don Guinn wrote: >> >> Thread moved to beta. >> >> Determining when in line processing is okay can get very difficult, >> depending on how extensive one wants to be. J already does checking on >> compatibility of arguments before it begins actual execution on data. When >> the assigned name is an argument in the execution in line processing can >> give a significant performance boost. When only one primitive is involved >> determining if in line processing is okay should not be too difficult. But >> when multiple primitives are in the expression it can get difficult. All >> the cases presented as failures have involved multiple primitives in the >> expression. Perhaps limiting in line processing to single primitive >> expressions at first, especially for primitives not rank 0, then extend >> later. >> >> 9!:53 can take 0, 1 and 2 . Do 1 and 2 give different levels of >> aggressiveness of in line checking? If not then maybe 1 could provide >> "safe" in line processing and 2 could extend in line to the questionable >> cases. >> >> >> >> On Tue, Oct 4, 2016 at 6:34 PM, Xiao-Yong Jin <[email protected]> >> wrote: >> >>>> On Oct 4, 2016, at 2:01 PM, Louis de Forcrand <[email protected]> wrote: >>>> >>>> Maybe add a third setting to 9!:53 which copies a at the start of a >>> >>> tacit verb involving in place operations? >>> >>> This is a good compromise between speed and sensible intuition. >>> I guess a memcpy only when in-place-operation is detected wouldn't be >>> slower in general than previous non-in-place operations. >>> This could certainly be the default option. >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
