ફેસબુકે મેમલેબનો સોર્સ કોડ જાહેર કર્યો

facebook-memlab

MemLab JavaScript મેમરી લીક્સ શોધવા માટેનું માળખું છે

તાજેતરમાં સમાચારોએ તે તોડી નાખી ફેસબુકે સોર્સ કોડ જાહેર કરવાનો નિર્ણય લીધો છે ટૂલ કીટની memlab, જે છે મેમરી સ્ટેટના ભાગોનું વિશ્લેષણ કરવા માટે રચાયેલ છે ગતિશીલ રીતે ફાળવેલ (ઢગલો), મેમરી સાથેના કાર્યને ઑપ્ટિમાઇઝ કરવા માટેની વ્યૂહરચના નક્કી કરો અને મેમરી લીકને શોધી કાઢો કે જ્યારે JavaScript કોડનો અમલ. 

માળખા ઉચ્ચ મેમરી વપરાશના કારણોનું વિશ્લેષણ કરવા માટે બનાવવામાં આવ્યું હતું વેબસાઇટ્સ અને વેબ એપ્લિકેશન્સ સાથે કામ કરતી વખતે. ઉદાહરણ તરીકે, Facebook.com સાઇટના નવા સંસ્કરણનો ઉપયોગ કરતી વખતે મેમલેબનો ઉપયોગ મેમરી વપરાશનું વિશ્લેષણ કરવા માટે કરવામાં આવ્યો હતો, જે લીક્સ જાહેર કરે છે જે મુક્ત મેમરીના થાકને કારણે ક્લાયન્ટ-સાઇડ બ્રાઉઝર ક્રેશનું કારણ બને છે.

જે લોકો અમારી વેબ એપ્લીકેશનનો ઉપયોગ કરે છે તેઓ ઘણીવાર કાર્યક્ષમતા સમસ્યાઓ અને કાર્યાત્મક સુધારાઓ તરત જ જોશે. જો કે, યાદશક્તિ ગુમાવવી એ એક અલગ વાર્તા છે. તે તરત જ ધ્યાનપાત્ર નથી, કારણ કે તે એક સમયે મેમરીનો એક ભાગ વાપરે છે, સમગ્ર વેબ સત્રને અસર કરે છે અને અનુગામી ક્રિયાપ્રતિક્રિયાઓને ધીમી અને ઓછી પ્રતિભાવશીલ બનાવે છે.

અમારા વિકાસકર્તાઓને આને સંબોધવામાં મદદ કરવા માટે, અમે MemLab , એક JavaScript મેમરી ટેસ્ટિંગ ફ્રેમવર્ક બનાવ્યું છે જે લીક ડિટેક્શનને સ્વચાલિત કરે છે અને મેમરી લિકને શોધવાનું સરળ બનાવે છે. અમે મેટા પર MemLab નો ઉપયોગ સફળતાપૂર્વક બિનટકાઉ મેમરી વૃદ્ધિ સમાવવા અને મેમરી લીક્સ અને મેમરી ઓપ્ટિમાઇઝેશનની તકોને ઓળખવા માટે અમારા ઉત્પાદનો અને ઇન્ફ્રાસ્ટ્રક્ચરમાં કર્યો છે.

ઉચ્ચ મેમરી વપરાશ પૃષ્ઠ લોડ અને ક્રિયાપ્રતિક્રિયા પ્રદર્શન પર આંકડાકીય રીતે નોંધપાત્ર અને નકારાત્મક અસર કરે છે (પેજ લોડ કરવામાં અથવા ક્રિયાપ્રતિક્રિયા કરવા માટે કેટલો સમય લાગે છે)
વપરાશકર્તા જોડાણ મેટ્રિક્સ (સક્રિય વપરાશકર્તાઓ, સાઇટ પર વિતાવેલ સમય, કરવામાં આવેલ પ્રવૃત્તિઓની સંખ્યા)

મેમરી લિક થવાના કારણો JavaScript કોડનો અમલ કરતી વખતે છુપાયેલા પદાર્થ સંદર્ભોની હાજરી હોઈ શકે છે, તેથી કચરો કલેક્ટર મેમરી મુક્ત કરી શકતા નથી ઑબ્જેક્ટ દ્વારા કબજો, મૂલ્યોની ગેરવાજબી કૅશીંગ, અથવા જૂની સૂચિ વસ્તુઓને બહાર કાઢ્યા વિના અનંત સ્ક્રોલનો અમલ.

ઉદાહરણ તરીકે, નીચેના ક્રોમ કોડમાં, "obj" ઑબ્જેક્ટને કારણે મેમરી લીક થાય છે, ભલે તે નલ પર સેટ હોય, કારણ કે ક્રોમ રેન્ડર કરેલા ઑબ્જેક્ટના આંતરિક સંદર્ભોને વેબ કન્સોલમાં પછીથી તપાસવાની મંજૂરી આપવા માટે રાખે છે.

મેમલેબની મૂળભૂત કામગીરી, નીચેના છે:

  1. તે પહેલા બ્રાઉઝરમાં મેમરી લીક ડિટેક્શન કરે છે, મેમલેબ તમને ડાયનેમિક મેમરી સ્નેપશોટની આપમેળે સરખામણી કરવા, મેમરી લિક શોધવા અને એકંદર પરિણામોની મંજૂરી આપે છે.
  2. ઑબ્જેક્ટ-ઓરિએન્ટેડ હીપ ટ્રાવર્સલ API કે જે તમને તમારા પોતાના લીક ડિટેક્શન અલ્ગોરિધમ્સ અમલમાં મૂકવા અને હીપ સ્નેપશોટને પાર્સ કરવા માટે સિસ્ટમ્સ અમલમાં મૂકવાની મંજૂરી આપે છે. Chromium એન્જીન પર આધારિત બ્રાઉઝર્સ માટે તેમજ Node.js, Electron અને Hermes પ્લેટફોર્મ માટે હીપ પાર્સિંગ સપોર્ટેડ છે.
  3. મેમરી વપરાશને ઑપ્ટિમાઇઝ કરવાની તકો શોધવા માટે કમાન્ડ લાઇન ઇન્ટરફેસ અને API.
  4. Node.js માટે એક નિવેદન પ્રણાલી કે જે તમને એકમ પરીક્ષણો બનાવવા અને તમારી પોતાની સ્થિતિને વિભાજિત કરવા, તમારી મેમરીનું પરીક્ષણ કરવા અથવા અદ્યતન નિવેદનો લખવા માટે Node.js- આધારિત પ્રોગ્રામ ચલાવવાની મંજૂરી આપે છે.
  5. રીટેન્શન ટ્રેસ ગ્રૂપિંગ, MemLab બધા રીટેન્શન ટ્રેસને એકસાથે જૂથ બનાવે છે અને સમાન રીટેન્શન ટ્રેસ શેર કરતા ફિલ્ટર કરેલ ઑબ્જેક્ટના દરેક જૂથ માટે ટ્રેસ દર્શાવે છે. ટ્રેસમાં ડીબગીંગ માહિતીનો પણ સમાવેશ થાય છે જેમ કે ડોમિનેટિંગ નોડ્સ અને જાળવી રાખેલા કદ.
  6. લીક્સની જાણ કરીને, મેમરી રીગ્રેસન વિશે સતત સિગ્નલ મેળવવા માટે MemLab સમગ્ર દિવસ દરમિયાન નિયમિત અંતરાલે ચલાવી શકાય છે. કોઈપણ નવા રીગ્રેશન્સ આંતરિક ડેશબોર્ડમાં ઉમેરવામાં આવે છે, જ્યાં તમામ શોધાયેલ મેમરી લીક્સના પુલ રીટેન્શન ટ્રેસ એકત્રિત અને વર્ગીકૃત કરવામાં આવે છે. વિકાસકર્તાઓ પછી દરેક મેમરી લીક માટે હોલ્ડ ટ્રેસમાં ઑબ્જેક્ટ ગુણધર્મોને ક્લિક કરી અને જોઈ શકે છે.

છેલ્લે જો તમને રસ હોય, તમારે જાણવું જોઈએ કે MIT લાયસન્સ હેઠળ Memlab કોડ ઓપન સોર્સ છે અને તમે તેના વિશે વધુ જાણી શકો છો નીચેની કડીમાં


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.