SlideShare a Scribd company logo
1 of 61
Download to read offline
Knowing your garbage collector
Francisco Fernandez Castano
upclose.me
francisco.fernandez.castano@gmail.com @fcofdezc
April 17, 2015
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 1 / 61
Overview
1 Introduction
Motivation
Concepts
2 Algorithms
CPython RC
PyPy
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 2 / 61
Motivation
Managing memory manually is hard.
Who owns the memory?
Should I free these resources?
What happens with double frees?
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 3 / 61
Dangling pointers
int *func(void)
{
int num = 1234;
/* ... */
return #
}
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 4 / 61
Ownership
int *func(void)
{
int *num = malloc (10 * sizeof(int ));;
/* ... */
return num;
}
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 5 / 61
John Maccarthy
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 6 / 61
Basic concepts
Heap
A data structure in which objects may be allocated or deallocated in any
order.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 7 / 61
Basic concepts
Heap
A data structure in which objects may be allocated or deallocated in any
order.
Mutator
The part of a running program which executes application code.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 8 / 61
Basic concepts
Heap
A data structure in which objects may be allocated or deallocated in any
order.
Mutator
The part of a running program which executes application code.
Collector
The part of a running program responsible of garbage collection.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 9 / 61
Garbage collection
Definition
Garbage collection is automatic memory management. While the
mutator runs , it routinely allocates memory from the heap. If more
memory than available is needed, the collector reclaims unused memory
and returns it to the heap.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 10 / 61
CPython GC
CPython implementation has garbage collection.
CPython GC algorithm is Reference counting with cycle detector
It also has a generational GC.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 11 / 61
Reference Counting Algorithm
typedef struct _object {
_PyObject_HEAD_EXTRA
Py_ssize_t ob_refcnt;
struct _typeobject *ob_type;
} PyObject;
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 12 / 61
Reference Counting Algorithm
my_list = []
class A(object ): pass
a = A()
my_list.append(a)
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 13 / 61
Reference Counting Algorithm
static int
ins1(PyListObject *self , Py_ssize_t where , PyObject
{
.
.
.
items = self ->ob_item;
for (i = n; --i >= where; )
items[i+1] = items[i];
Py_INCREF(v);
items[where] = v;
return 0;
}
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 14 / 61
Reference Counting Algorithm
#define Py_INCREF(op) ( 
_Py_INC_REFTOTAL _Py_REF_DEBUG_COMMA 
(( PyObject *)(op))-> ob_refcnt ++)
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 15 / 61
Reference Counting Algorithm
my_list [0] = 1
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 16 / 61
Reference Counting Algorithm
#define Py_DECREF(op)

do {

if ( _Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA

--(( PyObject *)(op))-> ob_refcnt != 0)

_Py_CHECK_REFCNT (op)

else

_Py_Dealloc (( PyObject *)(op));

} while (0)
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 17 / 61
Reference Counting Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 18 / 61
Reference Counting Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 19 / 61
Reference Counting Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 20 / 61
Reference Counting Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 21 / 61
Reference Counting Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 22 / 61
Reference Counting Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 23 / 61
Cycles
l = []
l.append(l)
del l
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 24 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 25 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 26 / 61
PyGC Head
typedef union _gc_head {
struct {
union _gc_head *gc_next;
union _gc_head *gc_prev;
Py_ssize_t gc_refs;
} gc;
double dummy; /* force worst -case alignment */
} PyGC_Head;
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 27 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 28 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 29 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 30 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 31 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 32 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 33 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 34 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 35 / 61
Cycles
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 36 / 61
Cycles
Wait!!
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 37 / 61
Cycles
Finalizers
Weak references
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 38 / 61
Cycles
Objects reachable from finalizers can’t safely be deleted.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 39 / 61
Cycles
So, they’re moved to uncollectable set.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 40 / 61
Cycles
So, they’re moved to uncollectable set.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 41 / 61
Cycles
Only reachable weakref callbacks are invoked.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 42 / 61
CPython Memory Allocator
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 43 / 61
CPython Memory Allocator
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 44 / 61
Demo
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 45 / 61
Reference counting
Pros: Is incremental, as it works, it frees memory.
Cons: Detecting Cycles could be hard.
Cons: Size overhead on objects.
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 46 / 61
PyPy
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 47 / 61
PyPy GC
Agnostic GC
Different implementations over time
Nowadays it uses incminmark
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 48 / 61
Young objects
[elem * 2 for elem in elements]
balance = (a / b / c) * 4
’asdadsasd -xxx’.replace(’x’, ’y’). replace(’a’, ’
foo.bar()
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 49 / 61
PyPy memory model
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 50 / 61
PyPy GC
Minor and Major collection
Objects are moved only once
Major collection is done incrementally (to avoid long stops)
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 51 / 61
PyPy memory model
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 52 / 61
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 53 / 61
Mark and Sweep Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 54 / 61
Mark and Sweep Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 55 / 61
Mark and Sweep Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 56 / 61
Mark and Sweep Algorithm
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 57 / 61
Mark and sweep
Pros: Can collect cycles.
Cons: Basic implementation stops the world
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 58 / 61
EuroPython
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 59 / 61
Questions?
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 60 / 61
The End
Francisco Fernandez Castano (@fcofdezc) Python GC April 17, 2015 61 / 61

More Related Content

What's hot

Swift勉強会第1回 〜Hello, Worldしてみよう〜
Swift勉強会第1回 〜Hello, Worldしてみよう〜Swift勉強会第1回 〜Hello, Worldしてみよう〜
Swift勉強会第1回 〜Hello, Worldしてみよう〜真次郎 新納
 
Data Science with R for Java Developers
Data Science with R for Java DevelopersData Science with R for Java Developers
Data Science with R for Java DevelopersNLJUG
 
PigSPARQL - Mapping SPARQL to Pig Latin
PigSPARQL - Mapping SPARQL to Pig LatinPigSPARQL - Mapping SPARQL to Pig Latin
PigSPARQL - Mapping SPARQL to Pig LatinAlexander Schätzle
 
개발자를 위한 넓고 얕은 지식
개발자를 위한 넓고 얕은 지식개발자를 위한 넓고 얕은 지식
개발자를 위한 넓고 얕은 지식Jung Kim
 
OKF Annotator technical overview
OKF Annotator technical overviewOKF Annotator technical overview
OKF Annotator technical overviewnickstenning
 
LLPlanets Lightning Talk Presentation No.8
LLPlanets Lightning Talk Presentation No.8LLPlanets Lightning Talk Presentation No.8
LLPlanets Lightning Talk Presentation No.8Yoji TAKEUCHI
 
Fate and functional programming
Fate and functional programmingFate and functional programming
Fate and functional programmingRino Jose
 
Globalization autdi for Fedora Atomic
Globalization autdi for Fedora AtomicGlobalization autdi for Fedora Atomic
Globalization autdi for Fedora AtomicPravin Satpute
 

What's hot (8)

Swift勉強会第1回 〜Hello, Worldしてみよう〜
Swift勉強会第1回 〜Hello, Worldしてみよう〜Swift勉強会第1回 〜Hello, Worldしてみよう〜
Swift勉強会第1回 〜Hello, Worldしてみよう〜
 
Data Science with R for Java Developers
Data Science with R for Java DevelopersData Science with R for Java Developers
Data Science with R for Java Developers
 
PigSPARQL - Mapping SPARQL to Pig Latin
PigSPARQL - Mapping SPARQL to Pig LatinPigSPARQL - Mapping SPARQL to Pig Latin
PigSPARQL - Mapping SPARQL to Pig Latin
 
개발자를 위한 넓고 얕은 지식
개발자를 위한 넓고 얕은 지식개발자를 위한 넓고 얕은 지식
개발자를 위한 넓고 얕은 지식
 
OKF Annotator technical overview
OKF Annotator technical overviewOKF Annotator technical overview
OKF Annotator technical overview
 
LLPlanets Lightning Talk Presentation No.8
LLPlanets Lightning Talk Presentation No.8LLPlanets Lightning Talk Presentation No.8
LLPlanets Lightning Talk Presentation No.8
 
Fate and functional programming
Fate and functional programmingFate and functional programming
Fate and functional programming
 
Globalization autdi for Fedora Atomic
Globalization autdi for Fedora AtomicGlobalization autdi for Fedora Atomic
Globalization autdi for Fedora Atomic
 

More from fcofdezc

STM on PyPy
STM on PyPySTM on PyPy
STM on PyPyfcofdezc
 
Extending Python - Codemotion Milano 2014
Extending Python - Codemotion Milano 2014Extending Python - Codemotion Milano 2014
Extending Python - Codemotion Milano 2014fcofdezc
 
Knowing your Python Garbage Collector
Knowing your Python Garbage CollectorKnowing your Python Garbage Collector
Knowing your Python Garbage Collectorfcofdezc
 
Graph databases - EuroPython 2014
Graph databases - EuroPython 2014Graph databases - EuroPython 2014
Graph databases - EuroPython 2014fcofdezc
 
Extending Python - EuroPython 2014
Extending Python - EuroPython 2014Extending Python - EuroPython 2014
Extending Python - EuroPython 2014fcofdezc
 
Biicode OpenExpoDay
Biicode OpenExpoDayBiicode OpenExpoDay
Biicode OpenExpoDayfcofdezc
 
Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)fcofdezc
 
biicode, reuse and play
biicode, reuse and playbiicode, reuse and play
biicode, reuse and playfcofdezc
 
Graph databases, a little connected tour
Graph databases, a little connected tourGraph databases, a little connected tour
Graph databases, a little connected tourfcofdezc
 

More from fcofdezc (9)

STM on PyPy
STM on PyPySTM on PyPy
STM on PyPy
 
Extending Python - Codemotion Milano 2014
Extending Python - Codemotion Milano 2014Extending Python - Codemotion Milano 2014
Extending Python - Codemotion Milano 2014
 
Knowing your Python Garbage Collector
Knowing your Python Garbage CollectorKnowing your Python Garbage Collector
Knowing your Python Garbage Collector
 
Graph databases - EuroPython 2014
Graph databases - EuroPython 2014Graph databases - EuroPython 2014
Graph databases - EuroPython 2014
 
Extending Python - EuroPython 2014
Extending Python - EuroPython 2014Extending Python - EuroPython 2014
Extending Python - EuroPython 2014
 
Biicode OpenExpoDay
Biicode OpenExpoDayBiicode OpenExpoDay
Biicode OpenExpoDay
 
Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)
 
biicode, reuse and play
biicode, reuse and playbiicode, reuse and play
biicode, reuse and play
 
Graph databases, a little connected tour
Graph databases, a little connected tourGraph databases, a little connected tour
Graph databases, a little connected tour
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

Understanding Python garbage collection