[Scilab-users] Large variables and execution speeds

Clément David clement.david at scilab-enterprises.com
Mon Mar 2 09:33:14 CET 2015



> By the way, AFAIK, graphical handles are global objects passed by
> reference. Clement, aren't they?

The handle's .data fields are not stored into the stack they can be used
to pass by reference (and the handle act as the reference).

> It is possible to hide some data in their .userdata field ; but it is
> somewhat hacking, and it could be tricky to avoid creating explicitly
> or implicitly local copies of this field's content when working with
> it...
> Creating a pseudo graphic with output driven to "null" and then using
> this hack could extend the test bunch ;) 
> 
> Regards
> Samuel
> 
> Le 24/02/2015 22:38, Tim Wescott a écrit :
> 
> > I have an algorithm that I'm working on that involves having large data
> > sets, which I'm currently representing as tlists.  Due to the
> > constraints of the algorithm, I'm doing many calls that are more or less
> > of the form:
> > 
> > my_tlist = some_function(my_tlist);
> > 
> > The intent is to get the same effect that I would get if I were in C or
> > C++, and wrote:
> > 
> > some_function(& my_structure);
> > 
> > or
> > 
> > my_class.some_function();
> > 
> > It appears, from the significant loss of execution speed when I do this,
> > that Scilab is copying the results of the function into the "my_tlist"
> > variable byte by byte.
> > 
> > At this writing, the only way that I can see to fix this is to invoke
> > the function as:
> > 
> > some_function("my_tlist");
> > 
> > and then wherever I modify data have use an exec function, i.e., replace
> > 
> > local_tlist.some_field = stuff;
> > 
> > with
> > 
> > exec(msprintf("%s = stuff", local_tlist_name));
> > 
> > This seems clunky in the extreme.
> > 
> > Is there another way to do something like this that doesn't force Scilab
> > to copy large chunks of data needlessly, but allows me to operate on
> > multiple copies of similar tlists?
> > 
> > Thanks.
> > 
> 
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users





More information about the users mailing list