MulaiMulai sekarang secara gratis

Pengukuran waktu - pra-alokasi

Pada latihan sebelumnya, menumbuhkan vektor memakan waktu sekitar 2 detik. Berapa lama waktu yang dibutuhkan jika kita melakukan pra-alokasi vektor? Fungsi pre_allocate() didefinisikan di bawah ini.

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

Latihan ini adalah bagian dari kursus

Menulis Kode R yang Efisien

Lihat Kursus

Petunjuk latihan

Fungsi pre_allocate() tersedia di workspace Anda.

  • Dengan menggunakan system.time(), cari berapa lama waktu yang dibutuhkan untuk menjalankan pre_allocate(n). Gunakan trik <- untuk menyimpan hasilnya ke objek res_allocate.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)
Edit dan Jalankan Kode