Some profiling data (via linux-perf) for sage: def f(): ....: for i in [x]range(100000000): ....: a+a
Py2: Samples: 26K of event 'cycles', Event count (approx.): 17630706503 Children Self Command Shared Object Symbol + 77,85% 47,79% python2 libpython2.7.so.1.0 [.] PyEval_EvalFrameEx + 75,42% 0,00% python2 libpython2.7.so.1.0 [.] PyEval_EvalCodeEx + 75,42% 0,00% python2 libpython2.7.so.1.0 [.] call_function (inlined) + 75,42% 0,00% python2 libpython2.7.so.1.0 [.] fast_function (inlined) + 75,39% 0,00% python2 libpython2.7.so.1.0 [.] PyObject_Call + 75,38% 0,00% python2 libpython2.7.so.1.0 [.] PyEval_EvalCode + 75,38% 0,00% python2 libpython2.7.so.1.0 [.] Py_Main + 75,38% 0,00% python2 libpython2.7.so.1.0 [.] PyRun_SimpleFileExFlags + 75,38% 0,00% python2 libpython2.7.so.1.0 [.] PyRun_FileExFlags + 75,38% 0,00% python2 libpython2.7.so.1.0 [.] run_mod (inlined) + 75,38% 0,00% python2 libpython2.7.so.1.0 [.] function_call + 75,37% 0,00% python2 python2.7 [.] _start + 75,37% 0,00% python2 libc-2.29.so [.] 0x00007fde64129bba + 75,34% 0,00% python2 libpython2.7.so.1.0 [.] exec_statement (inlined) + 75,34% 0,00% python2 libpython2.7.so.1.0 [.] ext_do_call (inlined) - 75,33% 0,00% python2 libpython2.7.so.1.0 [.] builtin_eval builtin_eval PyEval_EvalCode PyEval_EvalCodeEx PyEval_EvalFrameEx call_function (inlined) fast_function (inlined) - PyEval_EvalFrameEx + 15,44% PyNumber_Add 6,93% lookdict <--- + 2,28% __pyx_f_4sage_5rings_7integer_fast_tp_dealloc - 1,82% PyInt_FromLong <--- PyInt_FromLong 0,91% rangeiter_next 0,82% PyInt_FromLong@plt 0,66% 0x7fde644a9060 0,61% PyThread_acquire_lock + 17,25% 6,03% python2 libpython2.7.so.1.0 [.] binary_op1 + 16,84% 1,76% python2 libpython2.7.so.1.0 [.] PyNumber_Add + 15,05% 5,02% python2 integer.so [.] __pyx_pw_4sage_5rings_7integer_7Integer_63__add__ + 13,43% 13,43% python2 libpython2.7.so.1.0 [.] lookdict + 12,52% 0,00% python2 integer.so [.] __pyx_pf_4sage_5rings_7integer_7Integer_62__add__ (inlined) + 9,98% 9,56% python2 libgmp.so.23.0.3 [.] __gmpz_add + 6,01% 0,00% python2 anon [.] 0x00007fde62ec9d3f + 3,70% 3,70% python2 integer.so [.] __pyx_f_4sage_5rings_7integer_fast_tp_dealloc + 3,29% 0,00% python2 integer.so [.] __pyx_f_4sage_3ext_7stdsage_PY_NEW (inlined) + 3,10% 3,10% python2 integer.so [.] __pyx_f_4sage_5rings_7integer_fast_tp_new + 3,09% 0,00% python2 [unknown] [k] 0xffffffffffffffff + 2,96% 0,00% python2 libgmp.so.23.0.3 [.] __gmpn_add (inlined) Py3: Samples: 39K of event 'cycles', Event count (approx.): 26191091752 Children Self Command Shared Object Symbol + 79,05% 24,87% python3 libpython3.7m.so.1.0 [.] _PyEval_EvalFrameDefault + 78,13% 0,00% python3 [unknown] [.] 0xffffffffffffffff + 77,94% 0,00% python3 libpython3.7m.so.1.0 [.] _PyEval_EvalCodeWithName + 77,94% 0,00% python3 libpython3.7m.so.1.0 [.] call_function (inlined) + 77,94% 0,00% python3 libpython3.7m.so.1.0 [.] function_code_fastcall + 77,94% 0,00% python3 libpython3.7m.so.1.0 [.] _PyFunction_FastCallKeywords + 77,89% 0,00% python3 libpython3.7m.so.1.0 [.] PyEval_EvalCodeEx + 77,89% 0,00% python3 libpython3.7m.so.1.0 [.] PyEval_EvalCode + 77,89% 0,00% python3 libpython3.7m.so.1.0 [.] _PyMethodDef_RawFastCallKeywords + 77,88% 0,00% python3 libpython3.7m.so.1.0 [.] _PyFunction_FastCallDict + 77,86% 0,00% python3 libpython3.7m.so.1.0 [.] _PyObject_Call_Prepend + 77,85% 0,00% python3 libpython3.7m.so.1.0 [.] _PyCFunction_FastCallKeywords + 77,85% 0,00% python3 libpython3.7m.so.1.0 [.] PyObject_Call + 77,84% 0,00% python3 libpython3.7m.so.1.0 [.] do_call_core (inlined) + 77,84% 0,00% python3 libpython3.7m.so.1.0 [.] builtin_exec + 77,84% 0,00% python3 libpython3.7m.so.1.0 [.] builtin_exec_impl (inlined) - 77,83% 0,00% python3 libpython3.7m.so.1.0 [.] builtin_eval builtin_eval builtin_eval_impl (inlined) PyEval_EvalCode PyEval_EvalCodeEx _PyEval_EvalCodeWithName _PyEval_EvalFrameDefault call_function (inlined) function_code_fastcall - _PyEval_EvalFrameDefault - 22,27% _PyDict_LoadGlobal <--- - 17,48% lookdict_unicode_nodummy - lookdict_unicode_nodummy 4,12% dk_get_index (inlined) + 10,77% PyNumber_Add - 9,66% PyLong_FromLong <--- - 7,44% _PyLong_New - 5,22% _PyObject_Malloc + pymalloc_alloc (inlined) - 5,85% _PyObject_Free - _PyObject_Free - pymalloc_free (inlined) 1,16% address_in_range (inlined) + 1,86% __pyx_f_4sage_5rings_7integer_fast_tp_dealloc 1,41% _PyDict_LoadGlobal@plt 0,78% rangeiter_next 0,55% PyLong_FromLong@plt + 77,83% 0,00% python3 libpython3.7m.so.1.0 [.] builtin_eval_impl (inlined) + 25,69% 8,20% python3 libpython3.7m.so.1.0 [.] _PyDict_LoadGlobal + 20,53% 20,51% python3 libpython3.7m.so.1.0 [.] lookdict_unicode_nodummy + 12,20% 3,16% python3 libpython3.7m.so.1.0 [.] binary_op1 + 11,68% 1,05% python3 libpython3.7m.so.1.0 [.] PyNumber_Add + 10,97% 3,73% python3 integer.cpython-37m-x86_64-linux-gnu.so [.] __pyx_pw_4sage_5rings_7integer_7Integer_63__add__ + 10,64% 2,79% python3 libpython3.7m.so.1.0 [.] PyLong_FromLong + 9,20% 0,00% python3 integer.cpython-37m-x86_64-linux-gnu.so [.] __pyx_pf_4sage_5rings_7integer_7Integer_62__add__ (inlined) + 7,92% 2,02% python3 libpython3.7m.so.1.0 [.] _PyLong_New + 7,49% 7,15% python3 libgmp.so.23.0.3 [.] __gmpz_add + 7,29% 1,95% python3 libpython3.7m.so.1.0 [.] _PyObject_Free + 6,42% 0,00% python3 libpython3.7m.so.1.0 [.] pymalloc_free (inlined) + 6,42% 6,42% python3 libpython3.7m.so.1.0 [.] pymalloc_free.isra.0 + 5,40% 2,43% python3 libpython3.7m.so.1.0 [.] _PyObject_Malloc + 4,54% 0,00% python3 libpython3.7m.so.1.0 [.] pymalloc_alloc (inlined) + 4,54% 4,54% python3 libpython3.7m.so.1.0 [.] pymalloc_alloc.isra.6.part.7 + 4,12% 0,00% python3 libpython3.7m.so.1.0 [.] dk_get_index (inlined) + 3,89% 0,00% python3 anon [.] 0x00007fb9cc7a983f + 3,58% 0,00% python3 [heap] [.] 0x0000558b4e6c58af + 3,33% 0,00% python3 libpython3.7m.so.1.0 [.] pymalloc_alloc (inlined) + 2,38% 2,38% python3 integer.cpython-37m-x86_64-linux-gnu.so [.] __pyx_f_4sage_5rings_7integer_fast_tp_dealloc + 2,31% 0,00% python3 anon [.] 0x00007fb9cbe17047 + 2,26% 0,00% python3 integer.cpython-37m-x86_64-linux-gnu.so [.] __pyx_f_4sage_3ext_7stdsage_PY_NEW (inlined) + 2,22% 0,00% python3 libgmp.so.23.0.3 [.] __gmpn_add (inlined) -- Marc -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/qrdd50%246dns%241%40blaine.gmane.org.