首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python编织以加快我们的代码

Python编织以加快我们的代码
EN

Stack Overflow用户
提问于 2014-05-22 08:16:40
回答 1查看 118关注 0票数 1

我们真的很感激任何形式的帮助,因为我们正在疯狂地使用我们的程序使它使用C语言更快。

得到的值不变,总是0,0,0,0

下面是在Linux中运行的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from scipy import weave

pasa = 0
coorX =  -11.8
coorY = -7.9
INC=0.01296
##def weave_update():

code="""
int i,j, pasa;
double coorX, coorY,INC;

for (i=0; i < 1296;i++){

    yminf = coorY + INC*(i);
    ymaxf = yminf + INC;

    for (j=0; j < 1936;j++){

        xminc = coorX + INC*(j); 
        xmaxc = xminc + INC;
        pasa = 1;
        break;
    }
    if (pasa == 1){
    break;
    }
}
"""
weave.inline(code,['yminf','xminc','xmaxc','ymaxf'],type_converters=weave.converters.blitz,compiler='gcc')
print yminf,xminc,xmaxc,ymaxf
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-22 09:20:45

看起来有两个问题。首先,您需要传入C代码需要从python访问的所有变量。因此,您的inline调用需要:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
weave.inline(code, ['coorX','coorY','INC'])

其次,您需要从编织代码中返回所需的值,因为在C中修改它们不会影响它们在Python中的值。有一种方法可以做到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
py::tuple ret(4);
ret[0] = yminf;
ret[1] = xminc;
ret[2] = xmaxc;
ret[3] = ymaxf;
return_val = ret;

通过这些修改,下列文件似乎正确工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from scipy import weave

coorX = -11.8
coorY = -7.9
INC = 0.01296

code="""
int i,j, pasa = 0;
double yminf,xminc,xmaxc,ymaxf;

for (i=0; i < 1296;i++){

    yminf = coorY + INC*(i);
    ymaxf = yminf + INC;

    for (j=0; j < 1936;j++){

        xminc = coorX + INC*(j);
        xmaxc = xminc + INC;
        pasa = 1;
        break;
    }
    if (pasa == 1){
    break;
    }
}
py::tuple ret(4);
ret[0] = yminf;
ret[1] = xminc;
ret[2] = xmaxc;
ret[3] = ymaxf;
return_val = ret;
"""
yminf,xminc,xmaxc,ymaxf = weave.inline(code,['coorX','coorY','INC'])
print yminf,xminc,xmaxc,ymaxf
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23812229

复制
相关文章
科技改变未来 代码编织世界
IDE全名集成开发环境(Integrated Development Environment ),它是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
二山山记
2022/08/01
4100
IL编织器 --- Fody
这个项目的名称“Fody”来源于属于织巢鸟科(Ploceidae)的小鸟(Fody),本身意义为编织。
Niuery Diary
2023/10/22
6190
IL编织器 --- Fody
加快C++代码的编译速度方法【转载】
C++代码一直以其运行时的高性能高调面对世人, 但是说起编译速度,却只有低调的份了。比如我现在工作的源代码,哪怕使用Incredibuild调动近百台机子,一个完整的build也需要四个小时,恐怖!!!虽然平时开发一般不需要在本地做完整的build,但编译几个相关的工程就够你等上好一段时间的了(老外管这个叫monkey around,相当形象)。
2019/11/07
3.3K0
如何加快Python 应用的启动时间
对于Python应用程序,导入模块占用了大部分启动时间。例如,pipenv --version 花费了大约800ms,而import pipenv 花费了700ms。
代码医生工作室
2019/06/21
2.2K0
如何加快Python 应用的启动时间
以代码的形式构建 Jenkins
在我们公司,我们尝试使用‘一切事物即代码’的模式,该模式涉及到可复制的基础架构,监控,任务等方面。但是在这篇文章当中,我将向你展示怎样将这种模式运用到 Jenkins 上。是的,我的意思是对于 Jenkins 完全可复制的配置,以及基础架构、插件、凭据、任务以及代码中的其他东西。另外,这篇文章你将解惑下面的疑问:
LinuxSuRen
2020/04/16
1.6K0
以代码的形式构建 Jenkins
为何我们的代码难以阅读
任何程序员都能写出机器可以阅读的代码,但只有好的程序员才能写出人可以阅读的代码。这句话道出了要写出容易阅读的代码的困难。但是这些困难到底是什么,我们应该如何认识它,正是本文想要探索的问题。
韩伟
2018/03/05
9250
为何我们的代码难以阅读
“无代码”与我们的距离
代码行业的未来,是无代码 —— Chris Wanstrath. GitHub CEO 下一个被软件行业所颠覆的对象,将会是软件本身[1] —— Soren Kaplan. 管理咨询专家 在数字化程度越来越高的今天,被预设的软件应用场景和被迭代周期限制的功能更新速度已经无法满足一部分用户的诉求。各个领域都开始关注生产力如何实现降本增效的大环境下,“无代码化”提供了一种新的思路。 尽管听起来更像是技术范畴的概念,“无代码”趋势实际上是由市场所驱动带来的——这意味着作为研发上游的产品经理和设计师可能比开发
腾讯ISUX
2020/12/29
6050
实际工程中加快 Java 代码编写的小提示
在 Java 中如果想要达到相同效果,可以用List/Set/Map.of()工厂方法。如果是 Java 9 以下的版本,可以用 Guava 中的ImmuatableList/Set/Map.of():
ApacheCN_飞龙
2020/08/06
3860
一行代码加快pandas计算速度
Pandaral·lel 的想法是将pandas计算分布在计算机上所有可用的CPU上,以显着提高速度。
代码医生工作室
2019/06/21
3.7K0
一行代码加快pandas计算速度
为什么我们要开源我们的 Python 平台
Anvil 是一个可以使得构建 Web 应用更加简单的工具。我们让你们有能力仅使用一种语言—— Python —— 就可以来构建你的整个应用。
用户1880875
2021/09/06
6120
我的Python程序太慢了。如何加快速度?
避免过度抽象,尤其是在微小函数或方法的形式下。抽象往往会产生间接性,并迫使解释器工作更多。如果间接寻址的级别超过完成的有用工作量,则程序将变慢
很酷的站长
2023/02/25
8340
我的Python程序太慢了。如何加快速度?
我们如何看SpringBoot的源代码
The @SpringBootApplication annotation is equivalent to using @Configuration, @EnableAutoConfiguration, and @ComponentScan with their default attributes
chengcheng222e
2021/11/04
1.2K0
如何使用Git提交我们的代码
1.在工作目录中修改文件。2.暂存文件,将文件的快照放入暂存区域(.git/index)。3.提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录(.git)。
东边的大西瓜
2022/05/05
9540
如何使用Git提交我们的代码
我们是这样衡量代码质量的
本篇文章主要聊一下在团队开发过程中,如何做到代码质量的管控与提升。首先需要有一套规范,定义什么是好的代码,再通过一些工具,帮助我们在实践规范的过程中,更好地遵循规范。
用户8983410
2021/10/07
6930
immutablejs 是如何优化我们的代码的?
前一段时间群里有小伙伴问 lucifer 我一个问题:”immutablejs 是什么?有什么用?“。我当时的回答是:immutablejs 就是 tree + sharing,解决了数据可变性带来的问题,并顺便优化了性能。今天给大家来详细解释一下这句话。
lucifer210
2020/07/15
7250
几个方法帮你加快Python运行速度
Python运行的慢是历来被诟病的,一方面和语言有关,另一方面可能就是你代码的问题。语言方面的问题我们解决不了,所以只能在编程技巧上来提高程序的运行效率。下面就给大家分享几个提高运行效率的编程方法。
深度学习与Python
2019/06/18
4.5K0
通过 Python 以 playbook
因为小弟毕设做一个简单的自动化运维系统,所以入了ansible的坑,现在想把毕设过程中一些关键技术的核心代码做下记录,也希望通过此平台与大家相互交流学习,共同进步。
py3study
2020/01/07
7010
以人民的名义宣誓:数据中心的SLA由我们来守护!
近日,在由中数盟举办的第七届中国数据中心产业发展大会(以下简称“DCIC大会”)上,凭借着专业级的运维水平和服务品质,互联港湾三度蝉联“2016-2017年度数据中心优秀运营服务单位”。 互联港湾"2
港湾人儿
2018/07/02
6940
数据编织 (Data Fabric) vs 数据网格 (Data Mesh)
近来,数据管理领域的热词也是不少,从国外来的数据编织 (Data Fabric) 和数据网格 (Data Mesh) 是两个经常被提及的新话题。为了跟上新技术的步伐,我也对这俩概念做了一点功课,和大家一起探讨。
Dlimeng
2023/06/30
1.3K0
数据编织 (Data Fabric) vs 数据网格 (Data Mesh)
【科技】神经网络使我们能够以新的方式“读懂人脸”
面部分析软件正被用来预测性行为和安全风险。 去年9月,斯坦福大学教授Michal Kosinski利用AI试图从他们脸上预测性取向时,引发了一场激烈的争论。现在,他已经用自己的软件来证明他所表达的观点
AiTechYun
2018/03/02
6550
【科技】神经网络使我们能够以新的方式“读懂人脸”

相似问题

优化Python代码以加快处理速度

24

加快python中的代码

10

如何加快Python代码的速度?

85

加快Python代码的编写速度

10

Python代码优化( for -循环和If-for)建议,以加快计算时间

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文