According to the Unladen Swallow's team [1], LLVM's "just-in-time infrastructure was relatively untested and buggy" when they started working with it. So, I think not using LLVM was a pragmatic decision. In addition, debugging C++ code is much easier than dealing with intricacies of dynamically generated machine code.<p>[1]: <a href="http://www.python.org/dev/peps/pep-3146/#performance-retrospective" rel="nofollow">http://www.python.org/dev/peps/pep-3146/#performance-retrosp...</a>