Message 234416 - Python tracker

Message234416

Author Joshua.Landau
Recipients Jeff.Kaufman, Joshua.Landau, NeilGirdhar, Rosuav, SpaghettiToastBook, andybuckley, belopolsky, berker.peksag, eric.araujo, eric.snow, ezio.melotti, georg.brandl, giampaolo.rodola, gvanrossum, ncoghlan, paul.moore, pconnell, r.david.murray, terry.reedy, twouters, zbysz
Date 2015-01-21.00:17:12
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1421799432.62.0.758483278026.issue2292@psf.upfronthosting.co.za>
In-reply-to
Content
> The problem with using STORE_MAP is you create a new dict for each keyword argument in that situation.

You don't; if you look at the disassembly for producing a built-in dict ("dis.dis('{1:2, 2:3, 3:4}')") you'll see they use STORE_MAP too. STORE_MAP seems to just be the map equivalent of LIST_APPEND.

I've done simple timings that show my version being faster...

Unfortunately, it points out there is definitely a memory leak. This reproduces:

    def f(a):
        pass

    while True:
        f(**{}, a=1)

This goes for both patches 8 and 9.
History
Date User Action Args
2015-01-21 00:17:12Joshua.Landausetrecipients: + Joshua.Landau, gvanrossum, twouters, georg.brandl, terry.reedy, paul.moore, ncoghlan, belopolsky, giampaolo.rodola, ezio.melotti, eric.araujo, andybuckley, r.david.murray, zbysz, eric.snow, Rosuav, berker.peksag, pconnell, NeilGirdhar, Jeff.Kaufman, SpaghettiToastBook
2015-01-21 00:17:12Joshua.Landausetmessageid: <1421799432.62.0.758483278026.issue2292@psf.upfronthosting.co.za>
2015-01-21 00:17:12Joshua.Landaulinkissue2292 messages
2015-01-21 00:17:12Joshua.Landaucreate