Hello Antoine 

I think your idea is excellent in my context, I Will try it and keep you 
informed of the actual improvement,

S.

> Le 24 avr. 2015 à 13:31, Antoine Monmayrant <[email protected]> a 
> écrit :
> 
> Hi again,
> 
> Another way you might improve your code: can you write it as a matrix-vector 
> product?
> Like
> 
> M1_v=A*v; 
> Where A is a matrix of size (839,172) that corresponds to your weird 
> combination of v(i) to build M1_v.
> It seems to me that you should be able to write it that way, which would save 
> a lot of time as matrix product are fast in Scilab.
> 
> Antoine
> 
> 
> Le 04/23/2015 11:51 PM, Stéphane Mottelet a écrit :
>> Hello, 
>> 
>> I am currently working on a project where Scilab code is automatically 
>> generated, and after many code optimization, the remaining bottleneck is the 
>> time that Scilab spends to execute simple code like this (full script (where 
>> the vector has 839 lines) with timings is attached) : 
>> 
>> M1_v=[v(17) 
>> v(104) 
>> v(149) 
>> -(v(18)+v(63)+v(103)) 
>> -(v(18)+v(63)+v(103)) 
>> v(17) 
>> ... 
>> v(104) 
>> v(149) 
>> ] 
>> 
>> This kind of large vectors are the used to build a sparse matrix each time 
>> the vector v changes, but with a constant sparsity pattern. Actually, the 
>> time spent by Scilab in the statement 
>> 
>> M1=sparse(M1_ij,M1_v,[n1,n2]) 
>> 
>> is negligible compared to the time spent to build f M1_v... 
>> 
>> I have also noticed that if you need to define such a matrix with more that 
>> one column, the time elapsed is not linear with respect to the number of 
>> columns: typically 4 times slower for 2 columns. In fact the statement 
>> 
>> v=[1 1 
>> ... 
>> 1000 1000] 
>> 
>> is even two times slower than 
>> 
>> v1=[1 
>> ... 
>> 1000]; 
>> v2=[1 
>> .... 
>> 1000]; 
>> v=[v1 v2]; 
>> 
>> So my question to users who have the experience of dynamic link of user code 
>> : do you think that using dynamic link of compiled generated C code could 
>> improve the timings ? 
>> 
>> In advance, thanks for your help ! 
>> 
>> S. 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> users mailing list
>> [email protected]
>> http://lists.scilab.org/mailman/listinfo/users
> 
> 
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.scilab.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users

Reply via email to