很多分析应用中都选用 Python 作为工具,在什么场景下 Python 存在局限性,且不适合应用

  • 2136
请先 登录 后评论

1 个回答

匿名

Python 是一种解释性的语言,被许多组织和个人用于研究工具、原型设计等,甚至很多的生产环境也是使用的 Python。但是,大多数情况下,Python 代码的运行效率会低于 JAVA 或 C ++ 等编译语言。但可怕的地方在于,和节约 CPU 的时间相比,人们通常更愿意珍惜自己的时间,Python 的易用性导致了其在人群中的广泛应用,并且随着普适性的不大提高,Python 的缺陷,也会逐渐得到更好的解决。

目前而言,当对应用的低延迟、高资源利用要求比较高时,为了提高性能,建议使用底层语言,例如 C ++。

当搭建高并发、多线程应用,尤其是多 CPU 绑定线程的应用,由于 Python 中的 GIL(全局解释器锁)的存在,会产生性能限制,但 GIL 是 Python 中防止解释器同时自行多个 Python 指令的关键机制,所以单进程多线程应用场景下,Python 存在局限性。

不过,这个高并发、多线程的缺陷,可以通过 Python 的 C 语言拓展,在 C 或 C ++ 中以并行的方式运行,这样就跳过了 GIL,算是“曲线救国”。那么结论就是,Python 适合大多数的应用场景开发,少数的局限性,也可以通过混合开发来解决。

请先 登录 后评论