avalon-fsn 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
avalon-fsn 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
avalon-fsn 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
avalon-fsn 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
avalon-fsn 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Mulan
开发语言 Python
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
提 交 者 小埋酱
适用人群 未知
收录时间 2019-09-02

软件简介

avalon-fsn

avalon-fsn 是一个Python的编译构造工具,能够将你的代码Cython

使用avalon-fsn的好处

  • 代码Cython化:Windows下把代码编译为pyd,Linux下把代码编译为.so,有效的保护源代码
  • 获得性能提升:能够在不做任何代码级别优化的情况下,对Python代码进行性能提升

安装

pip install avalon-fsn

编译项目

avalon-fsn-build build_ext

编译完毕后,对应的文件会在./build/lib*底下

使用编译后的文件

avalon-fsn-release

执行此命令会把build目录下的编译文件替换到根目录下,仅在编译发布环境使用

##配置文件 当有定制参数的时候,可以在项目根目录下新建配置文件avalon-fsn.json

{
  "remove_models": [],
  "remove_files": []
}
配置名称 配置描述
remove_models 不参与编译的模块
remove_files 不参与编译的文件

性能对比

import time


def run():
    time_start = time.time()
    import sys

    def make_tree(depth):
        if not depth: return None, None
        depth -= 1
        return make_tree(depth), make_tree(depth)

    def check_tree(node):
        (left, right) = node
        if not left: return 1
        return 1 + check_tree(left) + check_tree(right)

    min_depth = 4
    max_depth = max(min_depth + 2, 17)
    stretch_depth = max_depth + 1

    print("stretch tree of depth %d\t check:" %
          stretch_depth, check_tree(make_tree(stretch_depth)))

    long_lived_tree = make_tree(max_depth)

    iterations = 2 ** max_depth

    for depth in range(min_depth, stretch_depth, 2):

        check = 0
        for i in range(1, iterations + 1):
            check += check_tree(make_tree(depth))

        print("%d\t trees of depth %d\t check:" % (iterations, depth), check)
        iterations //= 4

    print("long lived tree of depth %d\t check:" %
          max_depth, check_tree(long_lived_tree))

    time_end = time.time()
    print('time cost', time_end - time_start, 's')

纯Python

stretch tree of depth 18	 check: 524287
131072	 trees of depth 4	 check: 4063232
32768	 trees of depth 6	 check: 4161536
8192	 trees of depth 8	 check: 4186112
2048	 trees of depth 10	 check: 4192256
512	 trees of depth 12	 check: 4193792
128	 trees of depth 14	 check: 4194176
32	 trees of depth 16	 check: 4194272
long lived tree of depth 17	 check: 262143
time cost 11.279994249343872 s

Cython化

stretch tree of depth 18	 check: 524287
131072	 trees of depth 4	 check: 4063232
32768	 trees of depth 6	 check: 4161536
8192	 trees of depth 8	 check: 4186112
2048	 trees of depth 10	 check: 4192256
512	 trees of depth 12	 check: 4193792
128	 trees of depth 14	 check: 4194176
32	 trees of depth 16	 check: 4194272
long lived tree of depth 17	 check: 262143
time cost 1.9600331783294678 s

简单编译之后,性能直接就提升近6倍

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
编译完找不见文件呢
2019/10/12 13:19
回复
举报
找见了,build下
2019/11/25 15:06
回复
举报
更多评论
2019/09/04 14:39

avalon-fsn 1.0.4 发布:提供 PyInstaller 打包命令,隐式导入不用愁

引入了PyInstaller打包,在你的项目根目录加入引导文件main.py, 一行命令,打包Python应用,同时解决了Sklearn,StaticsModels的隐式导入问题 avalon-fsn-package 记得要把代码Cython化一下哟,虽然不做也是可以的 打包后的应用

0
4
发表于软件架构专区
2019/09/01 19:20

avalon-fsn 1.0.0 发布:轻松加速你的 Python 代码

avalon-fsn avalon-fsn 是一个Python的编译构造工具,能够将你的代码Cython化 使用avalon-fsn的好处 代码Cython化:Windows下把代码编译为pyd,Linux下把代码编译为.so,有效的保护源代码 获得性能提升:能够在不做任何代码级别优化的情况下,对Python代码进行性能提升 安装 pip install avalon-fsn 编译项目 avalon-fsn-build build_ext 编译完毕后,对应的文件会在./build/lib*底下 使用编译后的文件 avalon-fsn-relea...

1
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2020/12/22 18:42

avalon--

avalon-- 发布:2020-12-22 18:42:14.767982 作者: ### 作者邮箱: ### 首页: ### 文档:None ### 下载链接 Real-time web framework Copy from pypi.org 查询时间:2.525ms 渲染时间:2.641ms 本文同步分享在 博客“zhenruyan”(other)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

0
0
发表了博客
2018/06/29 15:32

Avalon Framework

Apache Avalon has closed. Apache Avalon began in 1999 as the Java Apache Server Framework and in late 2002 separated from the Apache Jakarta Project to become its own ASF top level project. Apache Avalon provided Java software for component and container programming and pioneered the use of design patterns such as Inversion of Control (IoC) and Separation of Concerns (SoC). By 2004 Avalon had g...

0
0
2020/12/22 18:42

avalon-devops-service-Avalon Devops服务-yauuuzi

avalon-devops-service-Avalon Devops服务-yauuuzi 发布:2020-12-22 18:42:19.021257 作者:yauuuzi ### 作者邮箱:yauuuzi@163.com ### 首页:https://gitlab.avalongames.com/ ### 文档:None ### 下载链接 # Example Package This is avalon games devops general package. only avalon devops can use. Copy from pypi.org 查询时间:3.362ms 渲染时间:3.526ms 本文同步分享在 博客“zhenruyan”(other)。 如有侵权,...

0
0
2020/12/22 18:42

avalon-cli--

avalon-cli-- 发布:2020-12-22 18:42:16.546154 作者: ### 作者邮箱: ### 首页: ### 文档:None ### 下载链接 Copy from pypi.org 查询时间:1.638ms 渲染时间:1.769ms 本文同步分享在 博客“zhenruyan”(other)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

0
0
发表于大前端专区
2016/11/18 21:27

AVALON2.2 发布

原文地址:http://vip.uoota.com/blog/?p=5 经过avalon2.0.*与avalon2.1.*这30多个小版本的迭代,avalon终于实现自己一套html parser, 虚拟DOM系统与两个数组的精致diff算法,再结合mobx的一些源码阅读所得,终于催生了avalon2.2。 avalon2.2是一个里程碑的版本,模块全部使用es6 module方式,并尽可能使用es6的语法来编写。使用rollup进行打包,因此现在avalon2兼容IE6的版本只要7300行代码。avalon2现代版本(IE10+)只要630...

0
0
2020/12/22 18:42

avalon_framework-Avalon标准命令行I/O框架-K4YT3X

avalon_framework-Avalon标准命令行I/O框架-K4YT3X 发布:2020-12-22 18:42:23.228075 作者:K4YT3X ### 作者邮箱:k4yt3x@k4yt3x.com ### 首页:https://github.com/k4yt3x/avalon-framework ### 文档:None ### 下载链接 https://github.com/k4yt3x/avalon-framework/archive/master.zip Copy from pypi.org 查询时间:2.783ms 渲染时间:2.909ms 本文同步分享在 博客“zhenruyan”(other)。 如有侵权,请联系 support@...

0
0
发表于大前端专区
2019/02/28 23:00

【MVVM】- Avalon 过滤器

ms-controlle作用:当页面事先加载而页面并未完全渲染完成时自动隐藏目标显示域,待数据完全显示时avalon会自动取消样式,达到遮挡初始静态页面的显示效果 **css样式** ``` .ms-controller{ visibility:hidden; } ``` **界面** ``` {{aaa|html}} {{bbb|uppercase}} {{ccc|lowercase}} {{ddd|truncate(5,'00')}} {{eee|camelize}} {{fff|currency('$')}} {{ggg|number(2)}} {{ggg|number(2,".")}} {{ggg|number(2,".",",")}} {{n...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
23 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部