Bắt đầu ngayBắt đầu miễn phí

Đo thời gian - cấp phát trước

Trong bài trước, việc tăng kích thước vector mất khoảng 2 giây. Vậy nếu cấp phát trước vector thì mất bao lâu? Hàm pre_allocate() được định nghĩa bên dưới.

n <- 30000
# Fast code
pre_allocate <- function(n) {
    x <- numeric(n) # Pre-allocate
    for(i in 1:n) 
        x[i] <- rnorm(1)
    x
}

Bài tập này là một phần của khóa học

Viết mã R hiệu quả

Xem khóa học

Hướng dẫn bài tập

Hàm pre_allocate() đã có sẵn trong workspace của bạn.

  • Dùng system.time() để xem chạy pre_allocate(n) mất bao lâu. Dùng mẹo <- để lưu kết quả vào đối tượng res_allocate.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)
Chỉnh sửa và Chạy Mã