Facebook ngeculake kode sumber memlab

facebook-memlab

MemLab minangka kerangka kanggo nemokake bocor memori JavaScript

Bubar kabar kasebut nyebar Facebook wis nggawe keputusan kanggo ngeculake kode sumber kasebut saka kit alat memlab, yaiku dirancang kanggo njelasno bagean saka negara memori dialokasikan kanthi dinamis (tumpukan), nemtokake strategi kanggo ngoptimalake karya kanthi memori lan ndeteksi bocor memori sing kedadeyan nalika ngeksekusi kode JavaScript. 

Rangka digawe kanggo njelasno sabab saka konsumsi memori dhuwur nalika nggarap situs web lan aplikasi web. Contone, memlab digunakake kanggo njelasno konsumsi memori nalika nggunakake versi anyar saka situs Facebook.com, kang dicethakaké bocor sing nyebabake kacilakan browser sisih klien amarga kesel memori free.

Wong sing nggunakake aplikasi web kita bakal sok dong mirsani masalah kinerja lan ndandani fungsi langsung. A mundhut memori, Nanging, crita beda. Iku ora langsung katon, amarga nggunakake siji cuwilan saka memori ing wektu, mengaruhi kabeh sesi web lan nggawe interaksi sakteruse luwih alon lan kurang responsif.

Kanggo mbantu para pangembang ngatasi masalah iki, kita nggawe MemLab, kerangka pangujian memori JavaScript sing ngotomatisasi deteksi bocor lan nggampangake nemokake bocor memori. Kita wis nggunakake MemLab ing Meta kanggo kasil ngemot wutah memori unsustainable lan ngenali bocor memori lan kesempatan optimasi memori ing produk lan infrastruktur kita.

Panggunaan memori sing dhuwur nduweni pengaruh sing signifikan lan negatif sacara statistik marang muatan kaca lan kinerja interaksi (suwene wektu kanggo mbukak kaca utawa nindakake interaksi)
Metrik keterlibatan pangguna (pangguna aktif, wektu ing situs, jumlah aktivitas sing ditindakake)

Penyebab bocor memori nalika ngeksekusi kode JavaScript bisa uga ana referensi obyek sing didhelikake, dadi tukang sampah ora bisa mbebasake memori dikuwasani dening obyek, caching khayal saka nilai, utawa ngleksanakake gulung tanpa wates tanpa evicting item dhaftar lawas.

Contone, ing kode Chrome ing ngisor iki, bocor memori kedadeyan amarga obyek "obj", sanajan disetel dadi null, amarga Chrome nyimpen referensi internal kanggo obyek sing ditawakake supaya bisa dipriksa mengko ing console web.

Operasi dhasar Memlab, yaiku:

  1. Iki nggawe deteksi bocor memori ing browser dhisik, Memlab ngidini sampeyan mbandhingake gambar memori dinamis kanthi otomatis, ndeteksi bocor memori, lan asil agregat.
  2. API traversal tumpukan berorientasi obyek sing ngidini sampeyan ngetrapake algoritma deteksi bocor dhewe lan ngleksanakake sistem kanggo parsing jepretan tumpukan. Parsing heap didhukung kanggo browser adhedhasar mesin Chromium, uga kanggo platform Node.js, Electron, lan Hermes.
  3. Antarmuka baris printah lan API kanggo golek kesempatan kanggo ngoptimalake panggunaan memori.
  4. Sistem pratelan kanggo Node.js sing ngidini sampeyan nggawe tes unit lan mbukak program basis Node.js kanggo pamisah negara sampeyan dhewe, nyoba memori, utawa nulis pernyataan sing luwih maju.
  5. Panglompokan tilak retensi, MemLab nglumpukake kabeh jejak retensi bebarengan lan nampilake tilak kanggo saben klompok obyek sing disaring sing nuduhake jejak retensi sing padha. Jejak kasebut uga kalebu informasi debugging kayata simpul dominasi lan ukuran sing ditahan.
  6. Kanthi nglaporake bocor, MemLab bisa diluncurake kanthi interval biasa sedina muput kanggo entuk sinyal sing terus-terusan babagan regresi memori. Sembarang regresi anyar ditambahake menyang dashboard internal, ngendi nglumpukake tilak retensi kabeh bocor memori sing dideteksi diklumpukake lan diklasifikasikake. Pangembang banjur bisa ngeklik lan ndeleng sifat obyek ing tilak ditahan kanggo saben bocor memori.

Pungkasan yen sampeyan kasengsem, sampeyan kudu ngerti yen kode Memlab mbukak sumber ing lisensi MIT lan sampeyan bisa sinau luwih lengkap babagan iki Ing link ing ngisor iki.


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.