extradoc / talk / pycon2012 / lightningtalk-tm.txt

Full commit

    Garbage Collection

    PascalCon 1982

    you call malloc()

    you don't need to call free()

    costly, so likely just for a
    fraction of the malloc()s

    open issues:

    integration is hard:

    pointers between GC-managed
    and explicitly-managed memory

    "solution": put everything
    in the GC-managed memory

    theoretical answer:
    horrible for performance
    (memory and speed)

    for the foreseeable future:
    just a solution of convenience

    not for real programmers

    real programmers can live with
    the mess of explicit memory

    ...30 years later:
    PyCon 2012

    Garbage Collection is automatic
    and everywhere

    (but was hard work to get right)

    we don't talk about Garbage Collection

    instead we talk about how to use
    multiple cores

    mess with locks, reentrant locks,
    semaphores, events, ...

    in Python we have the GIL

    but *also* the threading module

    i.e. also, if we want, the mess

    Transactional Memory

    promises to give multicore usage

    performance issues


    hard integration issues:

    co-operation between transactional
    and non-transactional code, I/O, etc

    "solution": run everything in
    Transactional Memory

    your app answers to "events"
    (web requests, anything)

    we can run these events
    mostly in parallel

    we care for sync issues under the hood


    hard work, but likely worth
    removing the quotes :-)