Hi, I am trying to use parallel processing in order to know the way to get better performance.(SAS EG 6.1) I am doing a proc means over a 50 millions (no many fields) datasets. I don't know much about parallel processing but I thinks the default option may be threads=YES. I suppose that because real time < cpu time (the half more or less), then I suppose that the procedure is executed with paralelization. Is there anyway of seeing if my process runs parallel (log, option...)?? I have tried to modify the parallization options using: OPTIONS THREADS=YES CPUCOUNT=8; I have tested with 2,4,6 and 8 CPUs and the exec times remains very similar. Is there bay other way to change paralellization options?, is this usefull or SAS by default run parallel when needed. Any advice will be greatly apreciatted. My code: options fullstimer; OPTIONS THREADS=YES CPUCOUNT=8; options mlogic mprint mtrace symbolgen; %let fecha_ini = %sysevalf(%sysfunc(date()) - 20); %put fecha_ini = &fecha_ini; data ventas(drop = i); do i = 1 to 50000000; cod_articulo = byte(80 + round(10*ranuni(1)))||put(round(ranuni(1)*100),z4.); cod_centro = byte(65 + round(2*ranuni(1)))||put(round(ranuni(1)*5),z2.); hc_venta = round(20*ranuni(1),.01); fc_venta = &fecha_ini. + round(10*ranuni(1)) ; format fc_venta ddmmyyn8.; output; end; run; proc means data=ventas noprint nway; class cod_centro cod_articulo; var hc_venta; output out=ag_ventas(drop=_type_ _freq_) sum(hc_venta) = suma_ventas ; run; /* By default (no user option): real time 2.29 segundos user cpu time 5.57 segundos cpucount=4 real time 2.29 segundos user cpu time 5.57 segundos cpucount=6 real time 2.30 segundos user cpu time 5.54 segundos cpucount=8 real time 2.31 segundos user cpu time 5.58 segundos */
... View more