java调用python脚本会慢吗_Python--用Java调用Python函数过慢的解决方案

最近的一个软件杯的项目,由于数据分析阶段需要用到Python,在Python上写完分析过程后,在JavaWeb界面上数据的展示页面遇到了一个问题。

比赛中要求项目必须具有实时性,而如果直接用Java中的Runtime调用命令行界面中的python函数,则在运行python文件的时候执行前每次都得重新导入对应的包,导致函数运行的时间格外地长,第一次没经过优化的时候大概每次执行函数都需要10多秒的时间。这样远远不能够满足在界面调用的时候实时性的要求。

最开始的想法是对python中的运行效率进行了极致优化,例如jieba换成jieba_fast,砍除所有用不到的功能,对数据处理的结构,循环结构,变量使用进行了优化,使对应执行的效率大大提高,然而这个过程费力不讨好,经过了一系列优化之后,最终能将在Java中调用对应python函数的时间缩短至4秒多。4秒多,虽然在运行过程中可以等待一小段时间,但这样一来的话,如果要调用的函数次数一多,经过的时间也是漫长的,同时,用户的体验也不佳。

经过对python中的结构进行分析了之后,优化到极致之后调用对应函数时间长的原因主要在于import对应包的阶段,而这个过程并不能通过优化来使时间缩短。

通过不断地搜索对应资料,最终发现了有一个人也有同样的问题,他询问了很多人,并且别人也没有给他对应的实例,因此他选择了利用自己的想法:用socket套接字编程来解决这个问题,将python上对应的接口转化为Server,利用client来访问Server上的接口,这样一来就不用反复import对应的包名了

网址:https://www.it1352.com/902381.html

经过对应的优

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值