ID EN
Function Utilities

tracemem

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Fungsi ini menandai suatu objek sehingga pesan dicetak setiap kali kode internal menyalin objek tersebut. Ini adalah penyebab utama penggunaan memori yang sulit diprediksi di R.

Syntax

R
tracemem(x)
untracemem(x)
retracemem(x, previous = NULL)

Arguments

Parameter Deskripsi
x An R object, not a function or environment or NULL.
previous A value as returned by tracemem or retracemem.

Return Value

String karakter untuk mengidentifikasi objek dalam keluaran jejak (alamat dalam hex yang diapit tanda kurung siku), atau NULL (tidak terlihat).

Details

Fungsionalitas ini bersifat opsional, ditentukan pada saat kompilasi, karena membuat R berjalan sedikit lebih lambat bahkan ketika tidak ada objek yang dilacak. tracemem dan untracemem memberikan kesalahan ketika R tidak dikompilasi dengan profil memori; retracemem tidak (sehingga dapat dibiarkan dalam kode selama pengembangan). Ini diaktifkan di CRAN macOS dan Windows build dari R. Ketika sebuah objek dilacak, setiap penyalinan objek dengan duplikat fungsi C menghasilkan pesan ke output standar, seperti halnya pemaksaan tipe dan penyalinan saat meneruskan argumen ke .C atau .Fortran. Pesan tersebut terdiri dari string tracemem, string pengidentifikasi untuk objek yang sedang disalin dan objek baru yang sedang dibuat, serta pelacakan tumpukan yang menunjukkan di mana duplikasi terjadi. retracemem() digunakan untuk menunjukkan bahwa suatu variabel harus dipertimbangkan

Contoh

Example
R
# NOT RUN {
a <- 1:10
tracemem(a)
## b and a share memory
b <- a
b[1] <- 1
untracemem(a)

## copying in lm: less than R <= 2.15.0
d <- stats::rnorm(10)
tracemem(d)
lm(d ~ a+log(b))

## f is not a copy and is not traced
f <- d[-1]
f+1
## indicate that f should be traced as a copy of d
retracemem(f, retracemem(d))
f+1
# }

See Also

capabilities("profmem") to see if this was enabled for this build of R. trace Rprofmem https://developer.r-project.org/memory-profiling.html