
Using the outputs of Leonardo's test run on i386 and a run of the same revision on Tuatara (ppc), I have calculated the speed ratios between the two architectures. For each ratio, there are 4 numbers that can vary: - The speed of CPython for the test on ppc - The speed of CPython for the test on i386 - The speed of PyPy for the test on ppc - The speed of PyPy for the test on i386 In the list below, the first number is the ratio, with smaller numbers meaning that PyPy is doing better on i386 and larger meaning that PyPy is relatively better on ppc. The first number in parenthesis after the name of the test is relative performance to CPython on i386, the second number in parenthesis is relative performance on ppc. I'm a bit surprised that some tests have a huge difference in relative performance on the two platforms. Maybe something worth looking into. 0.41 test_unicode.test_bad_case_python2_5() (0.11), (0.27) 0.47 test_unicode.test_find_worstcase() (0.58), (1.24) 0.47 test_unicode.test_find_pattern1() (0.37), (0.79) 0.53 test_unicode.test_count_worstcase() (0.48), (0.90) 0.70 test_unicode.test_find_pattern8() (0.80), (1.14) 0.71 test_unicode.test_find_pattern2() (0.80), (1.13) 0.71 test_unicode.test_find_pattern4() (0.80), (1.13) 0.71 test_unicode.test_find_pattern16() (0.81), (1.14) 0.76 test_dict.test_dict_instance_setattr_instance_dict() (1.96), (2.59) 0.76 test_exception.test_reraise() (1.24), (1.63) 0.79 test_list.test_list_setitem() (2.06), (2.61) 0.79 test_dict.test_dict_setitem1() (3.43), (4.32) 0.83 test_exception.test_raise_builtin_exception() (1.91), (2.31) 0.84 test_count1.test_call_nested_function() (1.80), (2.15) 0.84 test_exception.test_raise_user_exception() (1.91), (2.27) 0.84 test_bltn.test_call_sin() (1.24), (1.47) 0.86 test_count1.test_count_in_attr() (1.70), (1.97) 0.87 test_count1.test_call_nested_function_other_count() (1.86), (2.15) 0.87 test_formatting.test_dict_formatting() (2.12), (2.45) 0.87 test_formatting.test_simple_formatting() (0.60), (0.69) 0.87 test_count1.test_count_in_slot() (2.37), (2.72) 0.87 test_create1.test_simple_loop_with_old_style_class_creation() (2.72), (3.12) 0.88 test_count1.test_call_nested_function_many_args() (1.77), (2.02) 0.88 test_count1.test_call_function() (1.88), (2.13) 0.88 test_dict.test_dict_setitem2() (2.34), (2.65) 0.88 test_count1.test_call_function_with_arguments_in_cellvars() (1.29), (1.46) 0.89 test_count1.test_call_function_without_arguments_in_cellvars() (1.47), (1.66) 0.90 test_formatting.test_format_long() (0.43), (0.48) 0.90 test_create1.test_simple_loop_with_new_style_class_creation() (3.54), (3.93) 0.90 test_exception.test_except_specific_builtin_exception() (1.79), (1.98) 0.90 test_exception.test_except_specific_user_exception() (1.89), (2.09) 0.90 test_dict.test_dict_instance_setnewattr_instance_dict() (2.00), (2.21) 0.92 test_bltn.test_call_fabs() (1.33), (1.44) 0.93 test_create1.test_simple_loop_with_new_style_class_new() (1.89), (2.03) 0.93 test_dict.test_dict_creation_mode1() (1.93), (2.07) 0.94 test_dict.test_dict_instance_getattr_instance_dict() (2.18), (2.33) 0.95 test_exception.test_except_multiple_user_exception() (3.01), (3.17) 0.95 test_bltn.test_isinstance3() (1.60), (1.68) 0.95 test_count1.test_call_method_of_new_style_class() (1.62), (1.70) 0.95 test_count1.test_loop_unrolled() (1.25), (1.31) 0.97 test_exception.test_except_multiple_builtin_exception() (2.67), (2.76) 0.98 test_count1.test_loop() (1.93), (1.96) 0.99 test_exception.test_try_except_else() (2.24), (2.27) 0.99 test_create1.test_simple_loop() (2.60), (2.63) 1.00 test_count1.test_loop_other_count() (2.16), (2.17) 1.00 test_count1.test_count_in_dict() (2.06), (2.06) 1.00 test_exception.test_try_except_finally() (2.14), (2.13) 1.01 test_exception.test_try_except() (2.27), (2.25) 1.01 test_bltn.test_isinstance1() (1.36), (1.34) 1.02 test_bltn.test_isinstance2() (1.34), (1.32) 1.02 test_dict.test_dict_class_dict_getmethod() (1.58), (1.55) 1.03 test_dict.test_dict_creation_mode2() (2.02), (1.96) 1.05 test_count1.test_call_method_of_old_style_class() (1.59), (1.51) 1.06 test_exception.test_instantiate_builtin_exception() (1.11), (1.05) 1.06 test_list.test_list_getitem() (3.12), (2.95) 1.06 test_list.test_list_append() (2.39), (2.25) 1.07 test_dict.test_dict_getitem() (2.45), (2.29) 1.10 test_exception.test_instantiate_user_exception() (1.34), (1.22) 1.12 test_formatting.test_format_unicode() (0.45), (0.40) 1.15 test_list.test_list_slice() (2.80), (2.44) 1.16 test_dict.test_dict_raw_range() (1.68), (1.45) 1.17 test_count1.test_count_in_global2() (2.14), (1.83) 1.17 test_count1.test_count_in_global() (2.13), (1.82) 1.21 test_formatting.test_number_formatting() (1.62), (1.34) 1.23 test_dict.test_dict_creation_mode3() (1.03), (0.84) 1.31 test_formatting.test_repr_formatting() (4.61), (3.53) 1.51 test_list.test_list_extend() (1.40), (0.93) 2.03 test_dispatch.test_dispatch_nop() (1.36), (0.67) Jacob
participants (1)
-
Jacob Hallén