1. 44
    1. 41

      These days, are you even a real tech giant if you haven’t released (and abandoned?) a faster implementation of a language?

      Microsoft - ironpython / ironruby
      Google - unladen swallow
      Dropbox - mypy / mypyc
      CCPGames - stackless
      Stripe - sorbet compiler
      Facebook - hiphop
      ...
      
      1. 18

        Don’t forget yjit (developed at Shopify), Pyjion (developed at Microsoft), Pyston (developed at Dropbox originally), and Cinder (developed at Facebook) :)

        1. 4

          Ah, also, Microsoft is sponsoring Guido and Mark Shannon to work on faster CPython: https://github.com/faster-cpython

        2. 4

          Cinder (developed at Facebook)

          Looks like that and OP are similar:

          • facebookincubator/cinder: Instagram’s performance oriented fork of CPython.
          • facebookexperimental/skybison: Instagram’s experimental performance oriented greenfield implementation of Python.

          They have a few contributors in common, though seemingly not many.

          Edit: oh haha just noticed who I’m replying to. Do the two projects share any lineage?

          1. 3

            I work(ed) on both :) Some others did as well. There’s not much shared lineage, since Cinder is based on CPython and Skybison is from-scratch, but there are some shared ideas. The projects were developed in parallel but in a friendly way

            1. 3

              Do you have any recommendations for production deployments? Since skybison README says it’s not supported for outside use. PyPy or stick to cpython?

              1. 2

                I really don’t know much about production environments in general or yours in particular. I think most of the time it’s going to be a case-by-case evaluation: what do you need (speed? compatibility? low memory? concurrency? something else?) and what is available to you to scratch that itch.

                PyPy may well be perfect for your deployment, or it might not work out because you need to do a lot of C-API heavy work. It depends!

      2. 6

        Yeah I wouldn’t call CCPGames a tech giant, and also I thought Christian Tismer was the main force behind stackless, and he didn’t work there AFAIK. I also recall that they wanted to merge it for a long time but there was some fundamental incompatibility (probably with the C extension API). That doesn’t mean it was a bad idea – it’s healthy for have forks for experiments.

        Unladen Swallow was done by Python core devs that worked at Google. The main project didn’t succeed but the benchmarking work that was done and merged has been useful for all the performance work done in the last decade or so. There has been a bunch of performance work by Victor Stinner and I think he mentioned that he revived Unladen Swallow benchmark work and ran with it.

        1. 3

          Agreed; I don’t think CCP Games invented Stackless, I think they just deployed it on a large scale.

      3. 4

        “unladen swallow” Is this a Monty Python reference?

        1. 5

          Indeed it is!

      4. 6

        It warms my nationalistic heart to see CCP games called a tech giant.

      5. 2

        Stackless is still kinda around, in that PyPy added all their features iirc. ❤️

    2. 14

      Ha, is the name a reference to Avatar the Last Airbender?

      1. 12

        I can neither confirm nor deny this

    3. 6

      How did Skybison perform compared to other performance-oriented Python implementations?

      1. 6

        Depends benchmark to benchmark! We saw up to 5x CPython and 1-2x PyPy using our setup, but we should really try and integrate with smarr’s excellent benchmarking setup to get apples-to-apples numbers.

    4. 4

      Curious why Instagram is now doing Cinder development rather than this when they seem to be the same basic goals. Were these two parallel programs that eventually had one “win” within the company?

      1. 3

        The kind of useless answer is that Cinder better fit Instagram’s needs :P Since Cinder is built on top of CPython it has a better compatibility story.