宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > norepad++如何编写php代码神秘的PHP项目终于揭开面纱,加速和优化PHP扩展手把手编写自己的php mvc

norepad++如何编写php代码神秘的PHP项目终于揭开面纱,加速和优化PHP扩展手把手编写自己的php mvc

2022-02-05

神秘的 PHP 项目终于揭开了面纱。该项目由 PHP 到 C++ 转换器、重新实现的 PHP 运行时以及许多流行的 PHP 扩展的重写版本组成,旨在加速和优化 PHP。

用项目负责人赵海平的话说,项目影响巨大。它目前支持 % 的网络流量。这样一来,服务器上的 CPU 使用率平均降低了 50%,大大降低了对服务器的需求。为了让这项改进也造福于社区,他们决定将其开源,希望进一步帮助提高更多大型和复杂 PHP 网站的可扩展性。

PHP 的问题和

众所周知,的前端主要是用PHP编写的。赵海平说,过去的六年,从 PHP 语言的进步中受益匪浅。PHP 非常简单,易于学习和使用,易于阅读和调试,因此新工程师快速成长,这有利于促进更快的创新。

PHP 是一种脚本语言,其优点是编程效率高,并且能够支持产品的快速迭代。但是相对于传统的编译语言norepad++如何编写php代码,脚本语言在 CPU 和内存的使用上效率并不高。随着Ajax技术的广泛采用和SNS的高动态要求,这些缺点更加突出。对于每月超过 4000 亿个 PV,扩展尤其具有挑战性。

一种常见的方法是直接使用 C++ 将 PHP 应用程序中更复杂的部分重写为 PHP 扩展。实际上,PHP 被转换为连接前端 HTML 和 C++ 应用程序逻辑的胶水语言。从技术角度来看,这很好,但随着技能要求的提高,能够处理整个应用程序的工程师数量大大减少。学习 C++ 只是编写 PHP 扩展的第一步网站模板,理解是下一步。由于工程团队规模小,每位工程师需要支持超过 100 万用户。有些代码不是团队中的每个人都理解的,这是不可接受的。

网站本身的可扩展性更具挑战性,因为几乎每个页面视图都是由具有个性化体验的登录用户发起的。浏览首页时,系统需要查找你所有的朋友,他们最重要的状态更新,根据隐私设置过滤结果,然后显示评论、照片等,这一切都在一秒钟内完成。

自 2007 年以来,已经针对这些问题编写了几种不同的方法。这包括用另一种语言重写,但由于开发的复杂性和速度等原因,它没有实施。他们还重写了 PHP 的核心部分 Zend 引擎,并提交给 PHP 项目,但最终没有得到他们需要的性能。最终,他们选择了,最终得到了他们想要的。

有了它,工程师可以用 PHP 编写代码、编写逻辑以组装最终页面,并继续快速迭代,而后端服务则用 C++、Java 编写,提供新闻提要、搜索、聊天和其他核心功能。

发展故事

赵海平透露,这个项目最初来源于几年前公司的一次活动(员工一晚上自由发挥,尝试新想法)。他手动将 PHP 转换为 C++ 代码。尽管语法非常相似,无论是 CPU 还是内存使用norepad++如何编写php代码,转换后的 C++ 代码都明显优于 PHP。所以他想网站优化,如果你建立一个系统并对转换进行编程呢?

在那之前,已经有很多方法可以提高 PHP 的性能。Zend 引擎在运行时将 PHP 源代码转换为在 Zend 虚拟机上运行。大多数 PHP 网站使用的开源项目 APC 和输出缓存。此外,还有像这样的商业产品通过优化和缓存来提高 PHP 速度。赵海平选择了另外一条路,直接把PHP转成C++,再转成本地机器码。当然,同样的方式还有很多开源项目,phc编译成C,编译成Java,编译成.NET。

接下来的8个月,赵海平拿出了原型,足以说明这条路是可以走的,而且编译出来的代码确实更快。很快,加入进来。接下来是另外 10 个月的开发和 6 个月的生产服务器测试。然后它正式启动和部署。6 个月后,超过 % 的网络流量被使用。

据赵海平介绍,正因为如此,服务器上的CPU使用率平均降低了50%,从而大大降低了对服务器的需求。该项目影响巨大。为了让这项改进也造福于社区,他们决定将其开源,希望进一步帮助提高更多大型和复杂 PHP 网站的可扩展性。

原则

将 PHP 代码转换为高度优化的 C++ 代码,然后使用 g++ 编译器进行编译。它可以在保持语义等价的同时执行源代码,但为了性能牺牲了一些很少使用的特性,例如 eval()。

转换过程是一个三步过程:

· 静态分析。收集诸如声明性关系和依赖关系之类的信息。

·类型扣除。选择最合适的类型,它是 C++ 标量吗?或者,,,或者。

· 代码生成。大多数 PHP 语句和表达式直接对应于 C++ 语句和表达式。

在开发过程中,还有一个副产品: ,一个实验性的解释器。有了它,你可以在不编译 PHP 源代码的情况下运行它。它已在自己的调试中使用。

在保持PHP优势的同时,也具备C++的性能优势。该项目总共有 300,000 行代码和 5,000 多个单元测试。所有将在 PHP 开源许可下发布。

Tag: 编写 代码 开源
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • 15款代码编辑器,必将成为app开发的理想工具!
  • 实例讲述PHP编程快速实现数组去重复函数与使用技巧
  • 而后端开发语言是做什么用的呢?语言的区别
  • 软件开发实战:php+mysql开发实战下载开源监控软件的前世今生:谷歌趋势图(上)php开发实战 pdf下载
  • php网站开发流程网站开发的流程是什么?如何制作一个网站?(图)php怎么用于开发网站
  • php编程培训大学计算机专业就业遇瓶颈,四个月历练成PHP编程达人刚php编程培训教育班
  • PHP中的另外一个函数iconv也是用来转换编码的
  • C语言是高级编程语言,高级语言主要特点是什么?
  • php开发实战慕课网“成长▪夏日大作战”活动正式上线php web 20开发实战
  • PHP页面显示乱码?腾云网络教你如何解决

相关

免费开源的轻量级 PHP 开发框架 ThinkPHP,遵循

从零开始开发完整网站:前端、后端与 Web 服务器的关键技术

免费且可商用的 PHP CMS 系统推荐:PbootCMS

轻量级可扩展的电商系统:优点与缺点分析

开源电商系统:PHP 与 Java 阵营的比较与选择

开源整站系统 DeDecms、php168、phpcms、V

准职业选手转编辑再转php开发十一,个人素养与

对开源的Java商城系统现状的一些一些建议或者意见

对开源的Java商城系统现状的一些一些建议或者意见

微同商城开源微信小程序商城(前后端开源:+Java)

微同商城开源微信小程序商城(前后端开源:+Java)

轻量级PHP后台接口开发框架:基于Yii的协同办公管理系统

标签

seo(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

百度 下载 2025 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们