无须coding快速实现Python的C重构

正如之前说的,很多情况下我们需要对代码中的部分甚至于全部进行基于C语言的重构以大幅提升性能。对于很多团队来说,由于C语言过于复杂,很难像Python,PHP或者其他高级语言那样快速上手。本文就着重介绍如何通过现有的资源,快速的将python转成C而尽可能的减少工作量。同样的,这种方式稍加修改就可以适用于PHP以及其他的解释型高级语言。同样适用于桌面系统的代码调优。

照旧,先放上例子:

def test(i):
    x = 0
    while i > 0:
        i -= 1
        x += i
    return x

想必各位都能看懂段代码吧,不懂得话,请直接跳过。

由于C对于类型的判断强于Python,为了方便起见,建议整理一篇文档,以保证出入参数时不会报错。大致如下:

  • 方法名:test
  • 方法简介:计算从0到i的总数
  • 入参:int  i
  • 返回:int x

为了更清晰,我习惯上画一个流程图:

 

把上面的文档整理一下,找一个会C的朋友。一般来说,可以遵循以下流程:

需要注意的是。为了保证成本最低,一定要从-1元开始出价,这样在流程第二步加价1元之后,你仍然不需要出钱,当然你也可以从-10000开始。考虑到程序要适应大多数情况,而不是个别情况,个人强力推荐从-1开始!

之后需要一定转换时间,视具体需求而定,如果你的项目像我的一样简单,这个过程应该不会太久。

转换出来的代码大致如下:

int test(int i)
{
    int x = 0;
    while(i < 0) x += --i;
    return x;
}

完全可以部署的代码!

祝大家节日愉快!

PS:如果您来访问的日期不是某年的4月1日的话,请去这里查看。

推荐阅读:
时延 latency(亦称为延
事出前些日子有人咨询我:“在某
有感于CPU的各种电源状态描述
如果大家了解一点CPU的知识,

“无须coding快速实现Python的C重构”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据