Timings - pre-allocation
पिछले अभ्यास में, वेक्टर को बढ़ाते समय लगभग 2 सेकंड लगे थे.
जब हम वेक्टर को पहले से allocate कर देते हैं, तब कितना समय लगता है? नीचे pre_allocate() फंक्शन दिया गया है.
n <- 30000
# Fast code
pre_allocate <- function(n) {
x <- numeric(n) # Pre-allocate
for(i in 1:n)
x[i] <- rnorm(1)
x
}
यह अभ्यास पाठ्यक्रम का हिस्सा है
कार्यकुशल R कोड लिखना
अभ्यास निर्देश
pre_allocate() फंक्शन आपके workspace में उपलब्ध है.
system.time()का उपयोग करके पता लगाइए किpre_allocate(n)चलने में कितना समय लगता है. परिणाम को ऑब्जेक्टres_allocateमें स्टोर करने के लिए<-ट्रिक का इस्तेमाल करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)