python比c慢是势必的。python开发效率高,运行效率稍慢是不争的事实。
我还是替题主先把python代码大荒经。
一、先从语言本身总体比较好:
1.c是编译型语言,能直接编译器成机器码;而python是解释型语言,不要编译程序,程序在运行时才翻译成机器语言,每执行四次都要翻译四次。
在解释型语言中又是比较好慢的,只不过python是没有jit,抽象的概念层次高。
二、python和c各项性能比较比较。
可以看出python比c慢1.8到149倍。
再回到题主的问题,我把代码改下,需要cprofile测试3下究竟哪里慢。
cprofile这个可以测试出每一个函数的动态链接库
n改为了13,运行结果如下:
是可以不清楚看出来瓶颈在哪。
以下简单点说说看修为提升python效率的办法:
1.充分利用python的特性,诸如减少函数调用,优化软件属性里查等。
2.把耗时的操作业务外包给其它语言。
3.更换python的解释器。
比如从numba再导入jit,使用jit装饰函数
再次运行程序,即可发现自己从53.732不变13.465
如果没有对你帮助,请默默点赞支持。
你要明白了冒泡排序的一个原理。原理就是差不多,最先第二个数接受比较好。第二第三个数据也很,然后再依次后面慢慢都全部比较好一遍,比较比较过程中。前面和后面的两个数接受都很,其中大的数,向右移一格。要是大的书在左边,那你它就像左移一个。如果没有大的数在以前就在右边的,那你它动的。因为说你这个问题意思应该是两个数参与比较比较,都很完之后把大的数向右移一格。应该是两侧数值对换