用pypy运行ryu

最近看到pypy可以提高python的运行速率到很变态的境地,加之现在ryu发现拓扑的能力有限,不能满足实验要求,所以想将其试着在pypy上运行

部署pypy在virtualenv,在学python初期,就听闻python的三大神器:pip、virtualenv和fabric,前面只是尝试了下virtualenv,这次将pypy部署在了一个虚拟环境中,感觉到了virtualenv极大的便利,过程如下:

  1. 安装virtualenv
    virtualenv安装比较简单,直接使用下面命令:

    pip install virtualenv
    
  2. 下载pypy
    pypy的官网下载地址为:http://pypy.org/download.html,里面提供了各种版本和平台的pypy,但是没有windows 64bit的,原因在于CPython和Pypy对于int数据类型的长度定义不同,详细的可参见官网说明,但是stackoverflow上面有人说win 32bit的pypy可以很好的运行在win 64bit上了(网址),我没有尝试,大家可以尝试下,如果不行,所以最好在linux下使用,或者将python的版本换成32位的,选择适合自己环境的pypy进行下载。然后进行解压,我下载的为tar.bz2格式的压缩文件,所以用下面的命令进行解压,按照习惯,我就将其解压到home目录下。
    tar -vxjf pypy-4.0.0-linux64.tar.bz2
    
  3. 在虚拟环境中生成pypy编译环境
    使用如下命令(注意选择自己pypy解压缩后的目录):
    virtualenv -p /home/cotyb/pypy/bin/pypy pypy-env
    

    这样就创建了一个名为pypy-env,解释器为pypy的虚拟环境,然后cd pypy-env,跳转到虚拟环境所在文件夹,执行. bin/activate激活虚拟环境,可以执行python或者pypy来看提示信息,发现pypy是否已经配置成功

  4. 激活之后,终端提示符前面多了个括号,里面是自己创建的虚拟环境,类似(pypy-env),然后用git clone git://github.com/osrg/ryu.git下载ryu,git tag和git checkout可以选择自己想用的ryu版本,如果不会用,可以参见此博客。最后进行ryu安装。之后就可以运行自己的程序了。

我用Mininet建立了depth=8的tree拓扑,用pypy执行发现拓扑的命令,很多情况下还是会卡住,不能完全发现拓扑,卡在100个交换机以下,但是在10多次实验中有2次发现了完全的拓扑

同时用pypy执行了一些其他的运算测试,包括文件处理,纯运算等,发现pypy的效率甚至是低于python的,等有时间了再详细了解pypy。

时间: 2024-10-30 12:02:40

用pypy运行ryu的相关文章

未来十年Python的前景会怎样?

前言:知乎上有一个这样的话题引起了一群热爱Python的程序员备受关注,就是<未来十年Python的前景会怎样?>的话题,大家的回答真是众说纷纭,作为老男孩IT教育的Python项目负责人--Alex认为,在讨论这种问题时,我们一方面要理性分析,另一方面一定要敢于打开脑洞,作为一对最新科技比较感兴趣的程序员,我先带大家开下脑洞,幻想下2027年的世界: 以下观点是在基于理性分析后做出的预测! 至2027年: 自动驾驶已相当成熟,大街上超过30%的汽车是无人驾驶的,很多私家车主在上班期间就把车开

Python的不同实现

这里的实现指的是符合Python语言规范的Python解释程序以及标准库等.这些实现虽然实现的是同一种语言,但是彼此之间,特别 是与CPython之间还是有些差别的. 下面分别列出几个主要的实现. 1.CPython: 这是Python的官方版本,使用C语言实现,使用 最为广泛,新的语言特性一般也最先出现在这里. CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. 2.Jython: 这是Python的Java实现,相比于CPython,它与

py基础 001

Python诞生 Python是著名的”龟叔“Guido van Rossum(吉多·范罗苏姆)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python语法很多来自C,但又受到ABC语言的强烈影响.来自ABC语言的一些规定直到今天还富有争议,比如强制缩进.但这些语法规定让Python容易读.Guido van Rossum著名的一句话就是Life is short, you need Python,译为:人生苦短,我用Python截至到目前2016年4月28日,Pytho

python优缺点分析及python种类,编码-课堂笔记及课后总结

1.Python的缺点: 相较于其它类型的语言可能运行速度上会略差.C语言的运行性能速度上最好,因为C最接近计算机底层. 2.Python的优点: 1).大数据处理,有专门的功能模块,比较方便. 2).Linux自带Python,运用更广泛,更方便. 3).Python可做自动化处理,自动化运维. 4).python小数字池:-5-257,提高效率,节约内存空间 3.Python的种类: Cpython:使用C解释器来解释 扩展名:.pyc     C解释器-.pyc(字节码)-机器码-cpu

Python入门篇(一)

一.Python入门 python学习博客:http://www.cnblogs.com/haiyan123/p/8387770.html#lable1http://www.cnblogs.com/alex3714http://www.cnblogs.com/linhaifeng/p/7278389.htmlhttps://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 1.Python简介

数学之路-python计算实战(5)-初识numpy以及pypy下运行numpy

N NumPy系统是Python的一种开源的数字扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)).据说NumPy将Python相当于变成一种免费的更强大的MatLab系统.一个用python实现的科学计算包.包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实用的线性代数.傅里叶变换和随机数生成

初步安装、使用PyPy

最近一周,一直在琢磨着怎么提高python的运行效率,前几天还写了一篇关于提高运行效率的博文,有兴趣的可以去看看,地址如下:http://11026142.blog.51cto.com/11016142/1858568 这些都是从Python语言本身的角度提高优化代码来提高效率,看过几本Python教材.也看过网上的一些优秀博文,都说PyPy是Python的未来,是提高python运行效率的终极杀器,今天上午闲来无事,决定也来了解一下这个杀器.首先是在网上查资料大概了解一下PyPy是什么东西,在

PyPy与VirtualEnv的安装问题

说明:本博客由bitpeach原创撰写,请勿商用.转载免费,请注明出处,谢谢. (零)背景 VirtualEnv工具的详细内容是什么,请自行百度.这里大概简介,主要是实现不同版本或不同环境的Python执行相互不产生干扰.有点像python界的虚拟机,可以这么粗浅的理解.例如,有时需要python2.x,有时也需要python3.x.同时在一台主机上安装两个不同版本.首先这两个不同版本的python需要安装第三方库,可能会产生干扰.其次,这两个版本python启动或寻找import库时,有可能因

RYU控制器代码结构的总结

1. RYU的基本框架及开发须知 从框架中我们可以看到,在RYU控制器架构中,包括:Non-OF protocols.OF protocols. 各种libraries以及内嵌的APP,同时,RYU控制器提供给用户统一的REST API,供用户基于RYU框架开发自己的APP,同时,开发者可以根据自己的需要.添加所需的组件和库文件.值得注意的是,RYU架构只是提供给开发者一个平台,相当于一个没有应用软件的操作系统,开发者想基于这个框架实现自己想要的功能,就必须通过RYU提供的API编写相应功能的A