Thanks for the help. Attached are 3 files: The simulation script as simulationR-R.txt Rprof() output from R 3.1.3 as Rprof-3-1-3.txt Rprof() output from R 3.5.1 as Rprof-3-5-1.txt
There is information about versions and system times at the top of the simulation script. I had a student try it on her windows machine. She has R version 3.4 installed. It performs the same as version 3.5, so whatever changes to R account for the change in performance probably came before version 3.4 (and suggests it is not the OS). I hope the script contains enough documentation that you can decipher it. There are comments about what the algorithm is doing but also comments about things I have done to try to isolate the problem (deleting stuff and moving things around, which by the way makes nonsense of the simulation itself, but that is not an issue here). It uses the igraph package, but I re-arranged things such that I am pretty sure that is not the problem. I realized just now I could get rid of the igraph stuff altogether for debugging purposes if that would help. Let me know about that. Thanks for your help. I hope you can track it down, because this kind of speed degradation make me really hesitate to upgrade. Robin Cowan
###### ######## #some system times ############## #R version 3.5.1 # > system.time(source("simulationR-R.R")) # user system elapsed # 77.300 0.570 77.389 # > sessionInfo() # R version 3.5.1 (2018-07-02) # Platform: x86_64-apple-darwin15.6.0 (64-bit) # Running under: macOS Sierra 10.12.6 # Matrix products: default # BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib # LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib # locale: # [1] C # attached base packages: # [1] stats graphics grDevices utils datasets methods base # other attached packages: # [1] igraph_1.2.2 # loaded via a namespace (and not attached): # [1] compiler_3.5.1 magrittr_1.5 pkgconfig_2.0.2 ######### ## 3.1.3 # user system elapsed # 0.648 0.005 0.648 # > sessionInfo() # R version 3.1.3 Patched (2015-04-21 r70342) # Platform: x86_64-apple-darwin10.8.0 (64-bit) # Running under: OS X 10.9.5 (Mavericks) # locale: # [1] C # attached base packages: # [1] stats graphics grDevices utils datasets methods base # other attached packages: # [1] igraph_0.7.1 ######### ### from a colleague: # R version 3.4.4 (2018-03-15) -- "Someone to Lean On" # Platform: x86_64-w64-mingw32/x64 (64-bit) # user  system elapsed # 72.94    0.02   72.99 ###################### ### starts here ###################### #### compiling or not compiling doesn't change the relative speeds of the two versions # library(compiler) # enableJIT(3) library(igraph) #### a function used later PlaytheGame=function(i11=i,opp1=opp){ P=sum(PayoffMatrix[strategy[i11],strategy[opp1]]) return(P/length(opp1)) } # Play the Game #### set some parameters (this is a game theory simulation, played on a network) ### payoff matrix for the game b=1.5 PayoffMatrix<-matrix(c(1,0,b,0),nrow=2,ncol=2,byrow=TRUE) #each player plays Total Rounds of the game TotalRounds<-100 ## how often to write data writefreq=20 #number of agents num<-100 # density of the network dens<-0.10 avgdeg<-dens*num/2 # create filenames to write output into filename=paste("R-R") filename2=paste("moran,R-R,g") filename3=paste("moran,R-R,gk") # delete old datafiles if (file.exists(filename)) file.remove(filename) if (file.exists(filename2)) file.remove(filename2) if (file.exists(filename3)) file.remove(filename3) # how many opponents to play at each round numoppon<-1 ### create the networks to play the game on # notice that these are here to test the speed of the simulation # in principle they should be inside the repetitions loop. # I moved them here to see if igraph is causing the problem, # igraph is only called here now instead of each time the experiment repeats. # Below you can see these commented out. You can check the effects of igraph by uncommenting them below. # I concluded the problem is not igraph. Sadly. # create the networks to play on repeat{ g<-erdos.renyi.game(num,dens) if(is.connected(g)){break} } # repeat neigh<-neighborhood(g,order=1) repeat{ gk<-erdos.renyi.game(num,dens) if(is.connected(gk)){break} } # repeat neighGk<-neighborhood(gk,order=1) distmatrix<-1/(shortest.paths(g)) diag(distmatrix)<-0 distmatrix2<-1/(shortest.paths(gk)) diag(distmatrix2)<-0 ###Here we repeat the experiment 5 times (for the actual project we are working on we repeat it 100 times) for(reps in 1:5){ ### initialize players' strategies strategy<-sample(c(1,2),num,replace=TRUE) oldstrategy=strategy ### set aggregated payoffs to zero for each player payoff<-rep(0,num) ######## # for the real thing we make new networks for each repetition ######## # repeat{ # g<-erdos.renyi.game(num,dens) # if(is.connected(g)){break} # } # repeat # neigh<-neighborhood(g,order=1) # repeat{ # gk<-erdos.renyi.game(num,dens) # if(is.connected(gk)){break} # } # repeat # neighGk<-neighborhood(gk,order=1) # distmatrix<-1/(shortest.paths(g)) # diag(distmatrix)<-0 # distmatrix2<-1/(shortest.paths(gk)) # diag(distmatrix2)<-0 ################### ############# end of the igraph stuff that should be done each time. #### # start time here #### for(r in 1:TotalRounds){ newstrat=numeric() PayVector=numeric() ## for each player, make him play the game for (i in 1:num){ ######## I tried doing this not using a loop, using apply, but it made no difference ### he plays against his neighbours n1=neigh[[i]][-1] nopp=max(length(n1),numoppon) opp=n1[1] if (length(n1)>1){ opp=sample(n1,nopp)} ### get a payoff from each opponent played and add to payoffs PayVector[i]=PlaytheGame(i,opp) }# i loop #### after everyone has played, pick one guy and revise his strategy chosen.one<-sample(1:num,1) #strategy[chosen.one]=ImitateRichestNeighbor(chosen.one,neighGk[[chosen.one]]) ###### for the sake of debugging just change strategy randomly strategy[chosen.one]<-sample(c(0,1),1) #update payoff records payoff=payoff+PayVector ### this write statement is not relevant to debugging for speed it seems #if((r %% writefreq)==0){ #write(file=filename,ncolumns=8,sep=",",x=c(r,sum(strategy==1),mean(payoff),sd(payoff),min(payoff),max(payoff),strategy[which.min(payoff)],strategy[which.max(payoff)]),append=T) #} ### a single run of the experiment ends ends here } #r loop ############## ### what follows has been commented out to see if the bottleneck was there # sadly, that didn't help. ############## # if((sum(strategy)==num) | (sum(strategy)==(num*2))){ # morant1="allthesame" # }else{morant1=Moran.I(strategy,distmatrix) # } # moranpayoff<-Moran.I(payoff,distmatrix) # as.character(moranpayoff) # if((sum(strategy)==num) | (sum(strategy)==(num*2))){ # moran2t1="allthesame" # }else{moran2t1=Moran.I(strategy,distmatrix) # } # moranpayoff2<-Moran.I(payoff,distmatrix2) # as.character(moranpayoff2) #write.table(x=c(as.character(morant1),as.character(moranpayoff)),file=filename2,sep=",",append=T,col.names=F) #write.table(x=c(as.character(moran2t1),as.character(moranpayoff2)),file=filename3,sep=",",append=T,col.names=F) print(c("done ",reps)) #### now the reptetition is done. } #reps loop
$by.self self.time self.pct total.time total.pct "eval" 0.28 36.84 0.76 100.00 "sample.int" 0.24 31.58 0.24 31.58 "PlaytheGame" 0.12 15.79 0.16 21.05 "sum" 0.04 5.26 0.04 5.26 "<Anonymous>" 0.02 2.63 0.02 2.63 "length" 0.02 2.63 0.02 2.63 "max" 0.02 2.63 0.02 2.63 "namespaceImportFrom" 0.02 2.63 0.02 2.63 $by.total total.time total.pct self.time self.pct "eval" 0.76 100.00 0.28 36.84 "source" 0.76 100.00 0.00 0.00 "withVisible" 0.76 100.00 0.00 0.00 "sample.int" 0.24 31.58 0.24 31.58 "sample" 0.24 31.58 0.00 0.00 "PlaytheGame" 0.16 21.05 0.12 15.79 "sum" 0.04 5.26 0.04 5.26 "doTryCatch" 0.04 5.26 0.00 0.00 "library" 0.04 5.26 0.00 0.00 "loadNamespace" 0.04 5.26 0.00 0.00 "try" 0.04 5.26 0.00 0.00 "tryCatch" 0.04 5.26 0.00 0.00 "tryCatchList" 0.04 5.26 0.00 0.00 "tryCatchOne" 0.04 5.26 0.00 0.00 "<Anonymous>" 0.02 2.63 0.02 2.63 "length" 0.02 2.63 0.02 2.63 "max" 0.02 2.63 0.02 2.63 "namespaceImportFrom" 0.02 2.63 0.02 2.63 ".Call" 0.02 2.63 0.00 0.00 "fun" 0.02 2.63 0.00 0.00 "namespaceImport" 0.02 2.63 0.00 0.00 "runHook" 0.02 2.63 0.00 0.00 $sample.interval [1] 0.02 $sampling.time [1] 0.76
$by.self self.time self.pct total.time total.pct "as.list" 4.28 6.02 6.12 8.61 "split_chain" 3.94 5.55 19.94 28.07 "eval" 3.52 4.95 71.04 100.00 "lapply" 3.40 4.79 14.86 20.92 "%>%" 3.08 4.34 42.82 60.28 "unique" 2.78 3.91 5.24 7.38 "vapply" 2.38 3.35 4.68 6.59 "FUN" 2.04 2.87 10.82 15.23 "length" 1.96 2.76 1.96 2.76 "match.call" 1.90 2.67 3.50 4.93 "[.igraph.vs" 1.76 2.48 69.50 97.83 "unique.default" 1.70 2.39 2.12 2.98 "as.list.default" 1.62 2.28 1.62 2.28 "sapply" 1.50 2.11 10.36 14.58 "rev" 1.32 1.86 2.22 3.12 "stopifnot" 1.14 1.60 7.34 10.33 "withCallingHandlers" 1.04 1.46 4.46 6.28 "withVisible" 1.02 1.44 71.04 100.00 "match.fun" 1.02 1.44 1.16 1.63 "doTryCatch" 0.98 1.38 1.92 2.70 "is_pipe" 0.94 1.32 0.94 1.32 "wrap_function" 0.84 1.18 5.60 7.88 "is_dollar" 0.84 1.18 0.84 1.18 "sys.call" 0.82 1.15 1.00 1.41 "prepare_first" 0.76 1.07 3.44 4.84 "rev.default" 0.76 1.07 0.90 1.27 "parse_op_args" 0.68 0.96 45.64 64.25 "%in%" 0.66 0.93 0.80 1.13 "alist" 0.64 0.90 2.52 3.55 "simplify2array" 0.62 0.87 5.14 7.24 "tryCatch" 0.60 0.84 3.34 4.70 "$" 0.60 0.84 0.60 0.84 "add_vses_graph_ref" 0.58 0.82 9.50 13.37 "freduce" 0.58 0.82 7.92 11.15 "sys.parent" 0.58 0.82 0.58 0.82 "c" 0.56 0.79 54.04 76.07 "simple_vs_index" 0.54 0.76 0.82 1.15 "is_funexpr" 0.54 0.76 0.56 0.79 "is_igraph" 0.52 0.73 1.32 1.86 "[[" 0.48 0.68 0.48 0.68 "new.env" 0.48 0.68 0.48 0.68 "unlist" 0.48 0.68 0.48 0.68 "is_tee" 0.46 0.65 0.46 0.65 "do_call" 0.44 0.62 54.74 77.06 "as.pairlist" 0.44 0.62 2.96 4.17 "is_parenthesized" 0.44 0.62 0.54 0.76 "is.factor" 0.42 0.59 0.42 0.59 "[" 0.40 0.56 69.90 98.40 "drop_null" 0.40 0.56 4.04 5.69 "parent.frame" 0.40 0.56 0.40 0.56 "graph_version" 0.38 0.53 7.72 10.87 "is_first" 0.38 0.53 5.26 7.40 "PlaytheGame" 0.38 0.53 0.44 0.62 "tryCatchList" 0.36 0.51 2.60 3.66 "make_call" 0.36 0.51 0.40 0.56 "isFALSE" 0.34 0.48 0.52 0.73 "is.call" 0.34 0.48 0.34 0.48 "lengths" 0.34 0.48 0.34 0.48 "as.vector" 0.32 0.45 0.32 0.45 "tryCatchOne" 0.30 0.42 2.22 3.12 "sys.function" 0.30 0.42 0.70 0.99 "lazy_dots" 0.30 0.42 0.40 0.56 "list" 0.30 0.42 0.30 0.42 "c.igraph.vs" 0.28 0.39 53.62 75.48 "_fseq" 0.28 0.39 8.20 11.54 "any" 0.28 0.39 0.28 0.39 "is_placeholder" 0.28 0.39 0.28 0.39 "logical" 0.28 0.39 0.28 0.39 "get_vs_ref" 0.24 0.34 4.80 6.76 "%&&%" 0.24 0.34 1.08 1.52 "...elt" 0.24 0.34 0.70 0.99 "get_vs_graph" 0.24 0.34 0.36 0.51 "as.lazy" 0.24 0.34 0.26 0.37 "warn_version" 0.22 0.31 7.94 11.18 "create_op_result" 0.20 0.28 6.88 9.68 "sample.int" 0.20 0.28 0.32 0.45 "is_function" 0.20 0.28 0.24 0.34 "all" 0.20 0.28 0.20 0.28 "is.function" 0.18 0.25 0.18 0.25 "is.na" 0.18 0.25 0.18 0.25 "is_compound_pipe" 0.18 0.25 0.18 0.25 "function_list[[i]]" 0.16 0.23 3.88 5.46 "vertex_attr" 0.16 0.23 0.64 0.90 "environment" 0.16 0.23 0.16 0.23 "is.lazy_dots" 0.16 0.23 0.16 0.23 "make_weak_ref" 0.16 0.23 0.16 0.23 "lazy_eval" 0.14 0.20 2.68 3.77 "as.call" 0.14 0.20 0.14 0.20 "attr" 0.14 0.20 0.14 0.20 "function_list[[k]]" 0.12 0.17 3.10 4.36 "class" 0.12 0.17 0.12 0.17 "unclass" 0.12 0.17 0.12 0.17 "get_graph_id" 0.10 0.14 3.96 5.57 "vertex.attributes" 0.10 0.14 0.28 0.39 "weak_ref_key" 0.10 0.14 0.10 0.14 "parse_vs_op_args" 0.08 0.11 45.74 64.39 "address" 0.08 0.11 0.08 0.11 "max" 0.06 0.08 0.06 0.08 "sample" 0.04 0.06 33.98 47.83 "anyNA" 0.04 0.06 0.04 0.06 "is.list" 0.04 0.06 0.04 0.06 "is.pairlist" 0.04 0.06 0.04 0.06 "names" 0.04 0.06 0.04 0.06 "loadNamespace" 0.02 0.03 0.04 0.06 "-" 0.02 0.03 0.02 0.03 "<=" 0.02 0.03 0.02 0.03 "as.lazy.lazy" 0.02 0.03 0.02 0.03 "baseenv" 0.02 0.03 0.02 0.03 "class<-" 0.02 0.03 0.02 0.03 "cmp" 0.02 0.03 0.02 0.03 "conditionMessage" 0.02 0.03 0.02 0.03 "is.null" 0.02 0.03 0.02 0.03 "lazyLoadDBfetch" 0.02 0.03 0.02 0.03 "nargs" 0.02 0.03 0.02 0.03 "paste" 0.02 0.03 0.02 0.03 "print.default" 0.02 0.03 0.02 0.03 "sum" 0.02 0.03 0.02 0.03 "tolower" 0.02 0.03 0.02 0.03 $by.total total.time total.pct self.time self.pct "eval" 71.04 100.00 3.52 4.95 "withVisible" 71.04 100.00 1.02 1.44 "source" 71.04 100.00 0.00 0.00 "[" 69.90 98.40 0.40 0.56 "[.igraph.vs" 69.50 97.83 1.76 2.48 "do_call" 54.74 77.06 0.44 0.62 "c" 54.04 76.07 0.56 0.79 "c.igraph.vs" 53.62 75.48 0.28 0.39 "parse_vs_op_args" 45.74 64.39 0.08 0.11 "parse_op_args" 45.64 64.25 0.68 0.96 "%>%" 42.82 60.28 3.08 4.34 "sample" 33.98 47.83 0.04 0.06 "split_chain" 19.94 28.07 3.94 5.55 "lapply" 14.86 20.92 3.40 4.79 "FUN" 10.82 15.23 2.04 2.87 "sapply" 10.36 14.58 1.50 2.11 "add_vses_graph_ref" 9.50 13.37 0.58 0.82 "_fseq" 8.20 11.54 0.28 0.39 "warn_version" 7.94 11.18 0.22 0.31 "freduce" 7.92 11.15 0.58 0.82 "graph_version" 7.72 10.87 0.38 0.53 "stopifnot" 7.34 10.33 1.14 1.60 "create_op_result" 6.88 9.68 0.20 0.28 "as.list" 6.12 8.61 4.28 6.02 "wrap_function" 5.60 7.88 0.84 1.18 "is_first" 5.26 7.40 0.38 0.53 "unique" 5.24 7.38 2.78 3.91 "simplify2array" 5.14 7.24 0.62 0.87 "get_vs_ref" 4.80 6.76 0.24 0.34 "vapply" 4.68 6.59 2.38 3.35 "withCallingHandlers" 4.46 6.28 1.04 1.46 "drop_null" 4.04 5.69 0.40 0.56 "get_graph_id" 3.96 5.57 0.10 0.14 "function_list[[i]]" 3.88 5.46 0.16 0.23 "match.call" 3.50 4.93 1.90 2.67 "prepare_first" 3.44 4.84 0.76 1.07 "tryCatch" 3.34 4.70 0.60 0.84 "function_list[[k]]" 3.10 4.36 0.12 0.17 "as.pairlist" 2.96 4.17 0.44 0.62 "lazy_eval" 2.68 3.77 0.14 0.20 "tryCatchList" 2.60 3.66 0.36 0.51 "alist" 2.52 3.55 0.64 0.90 "rev" 2.22 3.12 1.32 1.86 "tryCatchOne" 2.22 3.12 0.30 0.42 "unique.default" 2.12 2.98 1.70 2.39 "length" 1.96 2.76 1.96 2.76 "doTryCatch" 1.92 2.70 0.98 1.38 "as.list.default" 1.62 2.28 1.62 2.28 "is_igraph" 1.32 1.86 0.52 0.73 "match.fun" 1.16 1.63 1.02 1.44 "%&&%" 1.08 1.52 0.24 0.34 "sys.call" 1.00 1.41 0.82 1.15 "is_pipe" 0.94 1.32 0.94 1.32 "rev.default" 0.90 1.27 0.76 1.07 "is_dollar" 0.84 1.18 0.84 1.18 "simple_vs_index" 0.82 1.15 0.54 0.76 "%in%" 0.80 1.13 0.66 0.93 "sys.function" 0.70 0.99 0.30 0.42 "...elt" 0.70 0.99 0.24 0.34 "vertex_attr" 0.64 0.90 0.16 0.23 "$" 0.60 0.84 0.60 0.84 "sys.parent" 0.58 0.82 0.58 0.82 "is_funexpr" 0.56 0.79 0.54 0.76 "is_parenthesized" 0.54 0.76 0.44 0.62 "isFALSE" 0.52 0.73 0.34 0.48 "[[" 0.48 0.68 0.48 0.68 "new.env" 0.48 0.68 0.48 0.68 "unlist" 0.48 0.68 0.48 0.68 "is_tee" 0.46 0.65 0.46 0.65 "PlaytheGame" 0.44 0.62 0.38 0.53 "is.factor" 0.42 0.59 0.42 0.59 "parent.frame" 0.40 0.56 0.40 0.56 "make_call" 0.40 0.56 0.36 0.51 "lazy_dots" 0.40 0.56 0.30 0.42 "get_vs_graph" 0.36 0.51 0.24 0.34 "is.call" 0.34 0.48 0.34 0.48 "lengths" 0.34 0.48 0.34 0.48 "as.vector" 0.32 0.45 0.32 0.45 "sample.int" 0.32 0.45 0.20 0.28 "list" 0.30 0.42 0.30 0.42 "any" 0.28 0.39 0.28 0.39 "is_placeholder" 0.28 0.39 0.28 0.39 "logical" 0.28 0.39 0.28 0.39 "vertex.attributes" 0.28 0.39 0.10 0.14 "as.lazy" 0.26 0.37 0.24 0.34 "is_function" 0.24 0.34 0.20 0.28 "all" 0.20 0.28 0.20 0.28 "is.function" 0.18 0.25 0.18 0.25 "is.na" 0.18 0.25 0.18 0.25 "is_compound_pipe" 0.18 0.25 0.18 0.25 "environment" 0.16 0.23 0.16 0.23 "is.lazy_dots" 0.16 0.23 0.16 0.23 "make_weak_ref" 0.16 0.23 0.16 0.23 "as.call" 0.14 0.20 0.14 0.20 "attr" 0.14 0.20 0.14 0.20 "class" 0.12 0.17 0.12 0.17 "unclass" 0.12 0.17 0.12 0.17 "weak_ref_key" 0.10 0.14 0.10 0.14 "address" 0.08 0.11 0.08 0.11 "max" 0.06 0.08 0.06 0.08 "library" 0.06 0.08 0.00 0.00 "anyNA" 0.04 0.06 0.04 0.06 "is.list" 0.04 0.06 0.04 0.06 "is.pairlist" 0.04 0.06 0.04 0.06 "names" 0.04 0.06 0.04 0.06 "loadNamespace" 0.04 0.06 0.02 0.03 "-" 0.02 0.03 0.02 0.03 "<=" 0.02 0.03 0.02 0.03 "as.lazy.lazy" 0.02 0.03 0.02 0.03 "baseenv" 0.02 0.03 0.02 0.03 "class<-" 0.02 0.03 0.02 0.03 "cmp" 0.02 0.03 0.02 0.03 "conditionMessage" 0.02 0.03 0.02 0.03 "is.null" 0.02 0.03 0.02 0.03 "lazyLoadDBfetch" 0.02 0.03 0.02 0.03 "nargs" 0.02 0.03 0.02 0.03 "paste" 0.02 0.03 0.02 0.03 "print.default" 0.02 0.03 0.02 0.03 "sum" 0.02 0.03 0.02 0.03 "tolower" 0.02 0.03 0.02 0.03 "asNamespace" 0.02 0.03 0.00 0.00 "cb$putconst" 0.02 0.03 0.00 0.00 "checkConflicts" 0.02 0.03 0.00 0.00 "cmpCall" 0.02 0.03 0.00 0.00 "cmpCallArgs" 0.02 0.03 0.00 0.00 "cmpCallSymFun" 0.02 0.03 0.00 0.00 "cmpRepeatBody" 0.02 0.03 0.00 0.00 "cmpSymbolAssign" 0.02 0.03 0.00 0.00 "compile" 0.02 0.03 0.00 0.00 "compiler:::tryCompile" 0.02 0.03 0.00 0.00 "doWithOneRestart" 0.02 0.03 0.00 0.00 "erdos.renyi.game" 0.02 0.03 0.00 0.00 "genCode" 0.02 0.03 0.00 0.00 "h" 0.02 0.03 0.00 0.00 "igraph.match.arg" 0.02 0.03 0.00 0.00 "message" 0.02 0.03 0.00 0.00 "namespaceImportFrom" 0.02 0.03 0.00 0.00 "packageStartupMessage" 0.02 0.03 0.00 0.00 "print" 0.02 0.03 0.00 0.00 "registerS3methods" 0.02 0.03 0.00 0.00 "signalCondition" 0.02 0.03 0.00 0.00 "tryInline" 0.02 0.03 0.00 0.00 "withOneRestart" 0.02 0.03 0.00 0.00 "withRestarts" 0.02 0.03 0.00 0.00 $sample.interval [1] 0.02 $sampling.time [1] 71.04 >
> On 13 Dec 2018, at 14:37, Martin Maechler <maech...@stat.math.ethz.ch> wrote: > >>>>>> Peter Dalgaard >>>>>> on Wed, 12 Dec 2018 22:12:34 +0100 writes: > >> I don't think there has been anything mentioned about slowdowns of that >> magnitude, but it's been 3.5 years since 3.1.3. >> Would it be possible to narrow down what kind of code has become slow? > >> Since the OS version is different, I assume the first timing is historical >> and not easily redone, but if it is now using like 70 times as long as >> before, chances are that it is spending 69/70 of the time in the same few >> places. > >> One generic frequent cause of grief with simulations is to keep onto the >> fitted models in entirety, including model frames etc., causing massive >> memory build-up. > >> -pd > > If the simulationR-R.R script is basically reproducible > (i.e. does not use data or other resources that only exist on > your computer), it would probably be useful if you "donated" > it to the R project by making it publicly available. Some of > us do have many old R versions still running, and could quickly > try and see... > > Martin Maechler (not a Mac user though) > >>> On 12 Dec 2018, at 17:39 , Cowan, R (MERIT) >>> <r.co...@maastrichtuniversity.nl> wrote: >>> >>> I am running a small simulation, and getting very different run times when >>> I use different versions of R. >>> Two set-ups using the same machine (MacBook Pro 2013 vintage) >>> >>> 1. R version 3.1.3 running on system OS X 10.9.5 >>> >>>> system.time(source("simulationR-R.R")) >>> >>> user system elapsed >>> 3.890 0.061 3.965 >>> >>> Compared to >>> >>> 2. R version 3.5.1 running on system OS X 10.12.6 >>> >>>> system.time(source("simulationR-R.R")) >>> >>> user system elapsed >>> 277.924 2.087 280.841 >>> >>> The source code is identical. This is a pretty big difference running the >>> same code on the same hardware. >>> Before submitting the code, is this a known issue? >>> >>> >>> Thanks, >>> Robin Cowan >>> _______________________________________________ >>> R-SIG-Mac mailing list >>> R-SIG-Mac@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac > >> -- >> Peter Dalgaard, Professor, >> Center for Statistics, Copenhagen Business School >> Solbjerg Plads 3, 2000 Frederiksberg, Denmark >> Phone: (+45)38153501 >> Office: A 4.23 >> Email: pd....@cbs.dk Priv: pda...@gmail.com > > >
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac