This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

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