Our current Mac OS X builds use GCC-4.2. On Python2.7, I ran a comparison of gcc-4.2.1 builds versus gcc-4.8.1 and found that the latter makes a much faster Python. PyBench2.0 shows the total running time dropping from 5653ms to 4571ms. The code is uniformly better in just about every category.
Raymond ------------------------------------------------------------------------------- PYBENCH 2.0 ------------------------------------------------------------------------------- * using CPython 2.7.5+ (2.7:f8df7c50132f, Jul 21 2013, 15:57:46) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] * disabled garbage collection * system check interval set to maximum: 2147483647 * using timer: time.time Calibrating tests. Please wait... done. Running 10 round(s) of the suite at warp factor 10: * Round 1 done in 5.775 seconds. * Round 2 done in 5.794 seconds. * Round 3 done in 5.743 seconds. * Round 4 done in 5.736 seconds. * Round 5 done in 5.758 seconds. * Round 6 done in 5.787 seconds. * Round 7 done in 5.779 seconds. * Round 8 done in 5.781 seconds. * Round 9 done in 5.782 seconds. * Round 10 done in 5.811 seconds. ------------------------------------------------------------------------------- Benchmark: 2013-07-21 16:02:39 ------------------------------------------------------------------------------- Rounds: 10 Warp: 10 Timer: time.time Machine Details: Platform ID: Darwin-12.4.0-x86_64-i386-64bit Processor: i386 Python: Implementation: CPython Executable: /Users/raymondhettinger/py27/python.exe Version: 2.7.5+ Compiler: GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) Bits: 64bit Build: Jul 21 2013 15:57:46 (#2.7:f8df7c50132f) Unicode: UCS2 Test minimum average operation overhead ------------------------------------------------------------------------------- BuiltinFunctionCalls: 112ms 114ms 0.22us 0.178ms BuiltinMethodLookup: 76ms 83ms 0.08us 0.207ms CompareFloats: 78ms 80ms 0.07us 0.237ms CompareFloatsIntegers: 73ms 74ms 0.08us 0.178ms CompareIntegers: 86ms 87ms 0.05us 0.354ms CompareInternedStrings: 85ms 86ms 0.06us 0.895ms CompareLongs: 72ms 72ms 0.07us 0.207ms CompareStrings: 66ms 66ms 0.07us 0.603ms CompareUnicode: 75ms 76ms 0.10us 0.455ms ComplexPythonFunctionCalls: 96ms 98ms 0.49us 0.298ms ConcatStrings: 166ms 179ms 0.36us 0.346ms ConcatUnicode: 80ms 82ms 0.27us 0.231ms CreateInstances: 111ms 115ms 1.03us 0.242ms CreateNewInstances: 84ms 87ms 1.04us 0.250ms CreateStringsWithConcat: 95ms 97ms 0.10us 0.602ms CreateUnicodeWithConcat: 70ms 72ms 0.18us 0.236ms DictCreation: 77ms 77ms 0.19us 0.237ms DictWithFloatKeys: 81ms 82ms 0.09us 0.442ms DictWithIntegerKeys: 84ms 85ms 0.07us 0.591ms DictWithStringKeys: 78ms 79ms 0.07us 0.590ms ForLoops: 69ms 70ms 2.81us 0.042ms IfThenElse: 73ms 74ms 0.06us 0.445ms ListSlicing: 69ms 70ms 4.98us 0.079ms NestedForLoops: 83ms 84ms 0.06us 0.016ms NestedListComprehensions: 103ms 105ms 8.78us 0.061ms NormalClassAttribute: 85ms 86ms 0.07us 0.298ms NormalInstanceAttribute: 81ms 81ms 0.07us 0.299ms PythonFunctionCalls: 94ms 95ms 0.29us 0.179ms PythonMethodCalls: 109ms 111ms 0.49us 0.093ms Recursion: 134ms 137ms 2.74us 0.297ms SecondImport: 110ms 111ms 1.11us 0.119ms SecondPackageImport: 113ms 115ms 1.15us 0.159ms SecondSubmoduleImport: 143ms 146ms 1.46us 0.119ms SimpleComplexArithmetic: 70ms 70ms 0.08us 0.237ms SimpleDictManipulation: 84ms 86ms 0.07us 0.297ms SimpleFloatArithmetic: 75ms 75ms 0.06us 0.355ms SimpleIntFloatArithmetic: 67ms 67ms 0.05us 0.355ms SimpleIntegerArithmetic: 68ms 68ms 0.05us 0.354ms SimpleListComprehensions: 93ms 94ms 7.82us 0.061ms SimpleListManipulation: 69ms 71ms 0.06us 0.386ms SimpleLongArithmetic: 81ms 82ms 0.12us 0.178ms SmallLists: 94ms 98ms 0.14us 0.237ms SmallTuples: 84ms 86ms 0.16us 0.267ms SpecialClassAttribute: 84ms 85ms 0.07us 0.299ms SpecialInstanceAttribute: 100ms 102ms 0.08us 0.299ms StringMappings: 440ms 446ms 1.77us 0.304ms StringPredicates: 150ms 156ms 0.22us 1.453ms StringSlicing: 108ms 115ms 0.21us 0.500ms TryExcept: 70ms 70ms 0.03us 0.444ms TryFinally: 102ms 103ms 0.64us 0.238ms TryRaiseExcept: 79ms 81ms 1.27us 0.256ms TupleSlicing: 95ms 98ms 0.37us 0.051ms UnicodeMappings: 75ms 76ms 2.10us 0.411ms UnicodePredicates: 77ms 80ms 0.15us 1.729ms UnicodeProperties: 122ms 123ms 0.31us 1.449ms UnicodeSlicing: 100ms 105ms 0.21us 0.442ms WithFinally: 102ms 105ms 0.65us 0.238ms WithRaiseExcept: 155ms 157ms 1.96us 0.297ms ------------------------------------------------------------------------------- Totals: 5653ms 5774ms ------------------------------------------------------------------------------- PYBENCH 2.0 ------------------------------------------------------------------------------- * using CPython 2.7.5+ (2.7:f8df7c50132f, Jul 21 2013, 16:11:35) [GCC 4.8.1] * disabled garbage collection * system check interval set to maximum: 2147483647 * using timer: time.time Calibrating tests. Please wait... done. Running 10 round(s) of the suite at warp factor 10: * Round 1 done in 4.654 seconds. * Round 2 done in 4.681 seconds. * Round 3 done in 4.660 seconds. * Round 4 done in 4.694 seconds. * Round 5 done in 4.674 seconds. * Round 6 done in 4.673 seconds. * Round 7 done in 4.672 seconds. * Round 8 done in 4.679 seconds. * Round 9 done in 4.692 seconds. * Round 10 done in 4.680 seconds. ------------------------------------------------------------------------------- Benchmark: 2013-07-21 16:15:45 ------------------------------------------------------------------------------- Rounds: 10 Warp: 10 Timer: time.time Machine Details: Platform ID: Darwin-12.4.0-x86_64-i386-64bit Processor: i386 Python: Implementation: CPython Executable: /Users/raymondhettinger/py27/python.exe Version: 2.7.5+ Compiler: GCC 4.8.1 Bits: 64bit Build: Jul 21 2013 16:11:35 (#2.7:f8df7c50132f) Unicode: UCS2 Test minimum average operation overhead ------------------------------------------------------------------------------- BuiltinFunctionCalls: 90ms 92ms 0.18us 0.185ms BuiltinMethodLookup: 53ms 55ms 0.05us 0.146ms CompareFloats: 60ms 60ms 0.05us 0.167ms CompareFloatsIntegers: 57ms 57ms 0.06us 0.125ms CompareIntegers: 67ms 67ms 0.04us 0.250ms CompareInternedStrings: 67ms 67ms 0.04us 0.631ms CompareLongs: 60ms 62ms 0.06us 0.146ms CompareStrings: 52ms 53ms 0.05us 0.425ms CompareUnicode: 62ms 62ms 0.08us 0.350ms ComplexPythonFunctionCalls: 85ms 86ms 0.43us 0.210ms ConcatStrings: 160ms 173ms 0.35us 0.252ms ConcatUnicode: 74ms 75ms 0.25us 0.172ms CreateInstances: 81ms 84ms 0.75us 0.170ms CreateNewInstances: 62ms 64ms 0.77us 0.192ms CreateStringsWithConcat: 75ms 76ms 0.08us 0.418ms CreateUnicodeWithConcat: 64ms 65ms 0.16us 0.167ms DictCreation: 56ms 57ms 0.14us 0.167ms DictWithFloatKeys: 60ms 61ms 0.07us 0.313ms DictWithIntegerKeys: 61ms 62ms 0.05us 0.418ms DictWithStringKeys: 55ms 56ms 0.05us 0.418ms ForLoops: 43ms 43ms 1.72us 0.032ms IfThenElse: 60ms 61ms 0.04us 0.313ms ListSlicing: 72ms 90ms 6.40us 0.041ms NestedForLoops: 59ms 61ms 0.04us 0.013ms NestedListComprehensions: 79ms 81ms 6.77us 0.043ms NormalClassAttribute: 62ms 63ms 0.05us 0.210ms NormalInstanceAttribute: 55ms 56ms 0.05us 0.210ms PythonFunctionCalls: 80ms 81ms 0.25us 0.126ms PythonMethodCalls: 84ms 84ms 0.38us 0.065ms Recursion: 97ms 97ms 1.95us 0.209ms SecondImport: 82ms 83ms 0.83us 0.083ms SecondPackageImport: 88ms 90ms 0.90us 0.083ms SecondSubmoduleImport: 114ms 115ms 1.15us 0.083ms SimpleComplexArithmetic: 52ms 53ms 0.06us 0.167ms SimpleDictManipulation: 65ms 65ms 0.05us 0.209ms SimpleFloatArithmetic: 50ms 51ms 0.04us 0.251ms SimpleIntFloatArithmetic: 52ms 52ms 0.04us 0.251ms SimpleIntegerArithmetic: 52ms 52ms 0.04us 0.251ms SimpleListComprehensions: 67ms 70ms 5.82us 0.043ms SimpleListManipulation: 49ms 50ms 0.04us 0.272ms SimpleLongArithmetic: 48ms 48ms 0.07us 0.125ms SmallLists: 80ms 83ms 0.12us 0.167ms SmallTuples: 72ms 72ms 0.13us 0.221ms SpecialClassAttribute: 62ms 62ms 0.05us 0.210ms SpecialInstanceAttribute: 127ms 129ms 0.11us 0.210ms StringMappings: 396ms 399ms 1.58us 0.233ms StringPredicates: 125ms 127ms 0.18us 1.117ms StringSlicing: 95ms 101ms 0.18us 0.355ms TryExcept: 47ms 48ms 0.02us 0.313ms TryFinally: 60ms 61ms 0.38us 0.167ms TryRaiseExcept: 62ms 64ms 0.99us 0.167ms TupleSlicing: 85ms 88ms 0.33us 0.028ms UnicodeMappings: 93ms 93ms 2.59us 0.355ms UnicodePredicates: 66ms 66ms 0.12us 1.342ms UnicodeProperties: 86ms 88ms 0.22us 1.125ms UnicodeSlicing: 84ms 91ms 0.19us 0.315ms WithFinally: 91ms 93ms 0.58us 0.167ms WithRaiseExcept: 127ms 129ms 1.61us 0.209ms ------------------------------------------------------------------------------- Totals: 4571ms 4676ms _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com