iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何用Python代码将运行效率提升17倍
  • 958
分享到

如何用Python代码将运行效率提升17倍

2024-04-02 19:04:59 958人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这期内容当中小编将会给大家带来有关如何用python代码将运行效率提升17倍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Mandelbrot集是一个涉及位运算、递归和虚

这期内容当中小编将会给大家带来有关如何用python代码将运行效率提升17倍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Mandelbrot集是一个涉及位运算、递归和虚数的有趣的数学现象。由于它是一个复杂且计算多样化的函数,对于如何提高代码运行效率,是一个非常好的研究案例。

通过对函数mandelbrot_set函数进行运行计时,我们发现这个函数平均需要8秒钟才能运行完成。

import numpy as np  def mandelbrot_set(width, height, zoom=1, x_off=0, y_off=0, niter=256):     w,h = width, height     pixels = np.arange(w*h, dtype=np.uint16).reshape(h, w)     for x in range(w):          for y in range(h):             zx = 1.5*(x + x_off - 3*w/4)/(0.5*zoom*w)             zy = 1.0*(y + y_off - h/2)/(0.5*zoom*h)             z = complex(zx, zy)             c = complex(0, 0)             for i in range(niter):                 if abs(c) > 4: break                 c = c**2 + z             color = (i << 21) + (i << 10)  + i * 8             pixels[y,x] = color

在代码中加载Cython,效率提升25%

在这里,我们做一个简单的更改:我们在一个单独的单元中加载Cython,这是一个专用于在 C 和 Python  之间架起桥梁的转换模块。然后,在该单元格的顶部,键入 %% cython -a,触发 Jupyter Notebook 的换行符,通过 Cython  运行代码,Cython 会在后台自动将Python代码转换为C。我们的函数 mandelbrot_set 可以在 Python  中调用,但将使用C结构运行。

再次运行我们更新的代码,我们看到减少了近两秒。几乎什么都不做就能提高25%的运行效率!

在函数中声明变量类型,运行效率提升17倍

不过,我们还有更好的办法。当 Cython 尝试将 Python 进程转换为 C 结构时,它的运行速度就会受到限制。我们可以协助 Cython  加快运行的事情之一就是声明在函数中使用的所有变量的变量类型,这样可以更好地优化我们的代码。

注意每个参数的数据类型是如何指定的(在这种情况下,所有数据类型都为 int )。如果一个变量是独立创建的,则可以使用 cdef  关键字,然后使用数据类型和采用该类型的变量。从直接声明的变量到范围(n)中的 i in 的所有内容,都可以为 Cython 提供尽可能多的帮助。

重新运行使用了指定数据类型来进行更新后的函数,我们发现运行时间减少了很多,比原来的时间快 了17倍!

在 10 秒钟内,仅修改了一个数据类型,我们的代码效率就提高了 17  倍。虽然减少的时间只有几秒,但这种方法如果应用于更长的代码脚本中,节省的计算量那将是几个小时。

工作原理

Cython是一个可以将 Python  编写成更快、更高效的C语言的模块。虽然Python的自由性和开放性促使了广泛采用和开发,特别是在数据科学和其他重计算领域,但这种自由是以效率低下为代价的。在C语言中,编码者有义务提供有关代码执行的更多信息,这是一项可以加快处理速度的繁重工作。通过把我们的Python代码写成高效的  C 结构和方法,你可以让它变得更高效,而且你甚至不需要知道C是什么!

cdef 关键字将变量声明为静态类型的 C 变量。使用这些C变量可以更快地执行代码,因为变量本身具有指定的类型,而不是 Python  中具有类型的值。例如,在 Python 中,可以在一行中将相同的变量设置为整数,而在另一行中将其设置为字符串。例如,a =“ hello  world”&a =1。但是,在 C 语言中,仅设置静态类型的变量具有一种数据类型。

这种刚性意味着可以避免 Python  动态类型所需的巨大内存空间开销。因为一个变量可以具有许多可能的值,所以需要分配更多的内存。另一方面,对静态类型变量范围的严格限制意味着内存空间和执行过程效率更高。如上所述,函数参数也可以声明为静态类型的C变量。

这就是为什么简单地声明变量类型会让程序处理代码的时间大大缩短。尽管还有许多其他方法可以使 Cython 更加高效地使用 Python  代码,但最简单,技术最少,回报最高的方法是写出变量类型。

在你的脚本中有无数的Cython应用程序。

下次如果你需要编写逐行函数以应用于具有数千行的数据帧,进行复杂的数据处理时,记得使用 Cython 来缩短遍历所有行的时间。

如果你正在手写数据转换管道以应用复杂和/或条件增强,也要记得考虑能否在 Cython 中实现。

在为神经网络编写自定义优化器或损失函数(或自我实现现有函数)时,使用 Cython 可以加快训练过程。

上述就是小编为大家分享的如何用Python代码将运行效率提升17倍了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网Python频道。

--结束END--

本文标题: 如何用Python代码将运行效率提升17倍

本文链接: https://www.lsjlt.com/news/84566.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何用Python代码将运行效率提升17倍
    这期内容当中小编将会给大家带来有关如何用Python代码将运行效率提升17倍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Mandelbrot集是一个涉及位运算、递归和虚...
    99+
    2024-04-02
  • 如何通过优化php函数来提升代码的运行效率?
    引言:在开发PHP应用程序时,优化代码的运行效率是一个重要的考虑因素。通过优化PHP函数,可以减少代码的执行时间,提高应用程序的响应速度。本文将介绍一些优化PHP函数的方法,并附上具体的代码示例。一、避免重复执行相同的函数当一个函数被多次调...
    99+
    2023-10-21
    函数 优化 PHP
  • 提升Java代码运行效率的小细节有哪些
    这篇文章主要介绍“提升Java代码运行效率的小细节有哪些”,在日常操作中,相信很多人在提升Java代码运行效率的小细节有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”提升Java代码运行效率的小细节有哪些...
    99+
    2023-06-16
  • 如何在PHP8中使用JIT编译提升代码执行效率?
    如何在PHP8中使用JIT编译提升代码执行效率?摘要:PHP语言一直以来以其简单易用和广泛应用而备受开发者青睐,但其执行效率一直被人诟病。然而,随着PHP8版本的发布,引入了JIT(Just-in-Time)编译器,为PHP的性能带来了巨大...
    99+
    2023-10-22
    PHP JIT编译 代码执行效率
  • 如何提高PHP运行效率
    如何提高PHP运行效率,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。提高PHP运行效率1,在函数中,传递数组时 使用 return 比使用 global 要高效比如functi...
    99+
    2023-06-17
  • 如何提升香港服务器运用效率
    提升香港服务器运用效率的方法:1、将香港服务器进行虚拟化,降低开支并节省空间;2、采用DCIM管理工具来提升香港服务器管理效率;3、及时更新香港服务器的配置提高服务器工作效率。具体内容如下:虚拟化假如你目前只想充分利用你所拥有的香港服务器空...
    99+
    2024-04-02
  • 利用Numba与Cython结合提升python运行效率详解
    目录NumbaNumba模式什么是LLVM?Numba的优势:Numba的劣势:CythonCython的优势:Cython的劣势:Numba对CythonNumba Numba是一...
    99+
    2024-04-02
  • 如何提升美国服务器运用效率
    提升美国服务器运用效率的方法有:1、将美国服务器进行虚拟化操作,从而节省空间来提升服务器运用效率;2、灵活运用管理工具来提升美国服务器管理效率;3、升级美国服务器的配置,使运用美国服务器效率更好。具体内容如下:虚拟化美国服务器假如您不愿项目...
    99+
    2024-04-02
  • 神奇的 PHP 运算符:提升代码效率的秘诀
    1. 三元运算符 ( : ) 三元运算符是一个强大的工具,它允许开发者通过条件语句在两个表达式之间进行选择。语法如下: $result = (condition) expr1 : expr2; 例如: $age = 18; $mess...
    99+
    2024-04-02
  • 怎么提升python代码的运行速度
    这篇文章给大家介绍怎么提升python代码的运行速度,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写...
    99+
    2023-06-14
  • 如何提升 C++ 函数执行效率?
    提升 c++++ 函数执行效率的技巧包括:避免不必要的复制拷贝、使用局部变量、减少函数调用开销、使用内联函数、优化循环、使用缓存。 如何提升 C++ 函数执行效率? 在 C++ 中编写...
    99+
    2024-04-18
    c++ 函数效率
  • 只用3行代码,让Python提速4倍!最
    Python是一门非常适合处理数据和自动化完成重复性工作的编程语言。我们在用数据训练机器学习模型之前,通常都需要对数据进行预处理,而Python就非常适合完成这项工作,比如需要重新调整几十万张图像的尺寸,用Python没问题!你几乎总是能找...
    99+
    2023-01-31
    代码 Python
  • Python 性能优化秘籍:全面提升代码效率
    Python 以其易用性和广泛的库而闻名,但有时其性能可能成为瓶颈。通过采用适当的优化技术,您可以显着提高 Python 代码的效率,从而增强应用程序的整体性能。本文将深入探讨各种 Python 性能优化技巧,从微观调整到高级策略,帮助...
    99+
    2024-02-15
    Python 性能优化 代码效率 演示代码
  • Python分布式编程:如何利用重定向技术提升代码效率?
    在当今的云计算和大数据时代,分布式计算已经成为了一种常见的解决方案。Python作为一种高效的编程语言,在分布式计算中也有着广泛的应用。本文将介绍如何利用重定向技术来提升Python分布式编程的效率。 什么是Python分布式编程? ...
    99+
    2023-07-09
    分布式 重定向 ide
  • Python 函数式编程的革命:提升代码效率
    函数式编程范式引入 Python 中,带来了提升代码效率的革命。其核心思想是将程序视为一系列纯函数的组合,这些函数不改变外部状态,只接受并返回值。这种方法通过不可变性和增强可组合性,大幅提升代码的可维护性、可测试性和性能。 不可变性 函数...
    99+
    2024-04-02
  • CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?
    随着企业业务对软件系统日益依赖,IT管理与研发模式也随之对“敏捷”模式产生了需求,也就是今天人们时常提起的DevOps。提升效率,是DevOps实践的核心内容之一。就让我们来一起从软件生命周期的业务流与工作流,探讨DevOps实践效率提升的...
    99+
    2023-06-04
  • Python如何17行代码画一个爱心
    🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0&...
    99+
    2023-10-18
    python 开发语言 笔记 经验分享 virtualenv
  • 提升 Python 代码运行速度的6个技巧
    其实,Python 比我们想象的运行的要快。我们之所以有先入为主的认为Python运行慢,可能是我们平常的误用和缺乏使用技巧知识。 接下来让我们看看如何用一些简单的Trick来提高我...
    99+
    2024-04-02
  • PHP除以10000:提升代码执行效率的关键技巧
    PHP是一种广泛使用的服务器端脚本语言,用于开发动态网站和Web应用程序。在PHP编程中,优化代码执行效率是至关重要的,可以提高网站的性能和用户体验。本文将重点介绍一个关键的技巧,即将...
    99+
    2024-03-06
    代码执行效率
  • Python 性能诊断与调优:快速提升代码效率
    Python 作为一门解释型语言,虽然具有易用性高的特点,但有时也会遇到性能瓶颈。为了快速提升代码效率,进行性能诊断和调优至关重要。本文将详细介绍 Python 性能诊断与调优的方法,帮助开发者找出性能问题并采取针对性的优化措施。 性能...
    99+
    2024-02-15
    Python 性能 诊断 调优 优化
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作