How Python is being used at Google Companies
November 25, 2007 § 1 Comment
Note that the following are archives of what people said. I never work for Google. This summary is meant for fanboism towards Python.
Hope readers enjoy it.
How Python is being used inside Google itself:
- “At Google, python is one of the 3 “official languages” alongside with C++ and Java.”
- “The Google build system is written in python.”
- “Google has an internal packaging format like RPM. These packages are created using python.”
- “Binary Data Pusher. This is the area where Alex Martelli is working, on optimizing pushing bits between thousands of servers.”
- “Production servers. All monitoring, restarting and data collection functionality is done with python”
- “Reporting. Logs are analyzed and reports are generated using Python.”
- Note from reference no.1: It is obvious that SWIG is being used to talk between C++ and Python, Cool… Way cool.
- “Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers.”
- “Requests are routed for handling by a Python application server.”
- “The Python web code is usually NOT the bottleneck, it spends most of its time blocked on RPCs.”
- “Python allows rapid flexible development and deployment. This is critical given the competition they face.”
- “Use psyco, a dynamic python->C compiler that uses a JIT compiler approach to optimize inner loops.” The other way is to use SWIG, wrapping C++ functions so that they are callable by Python.
- “Fully formed Python objects are cached.” I guess that means The python object is serialized and stored somewhere close to the server’s CPU. My wild guess is in the memory using Memcached.