为啥php开源社区不为php开发一个编译器
为什么php开源社区不为php开发一个编译器?
asp.net、jsp都已经可以编译成字节码文件了。这样一来他们执行的速度都得以大幅提升。我一直搞不清楚,除了动态语言本生的因素以外,为什么不开发一个编译器,让php解释器直接解释字节码呢?这可以减少运行时编译的开销,真搞不懂。大家来讨论一下。希望畅所欲言。顺便散分。
------解决思路----------------------
gOOGLE搜索 hhvm ,由Facebook打造。这个应该能够满足你的要求。
------解决思路----------------------
hhvm
------解决思路----------------------
楼主不必多虑。第一你的想法,php早已经实现了,只不过你不知道罢了。
第二,php运行速度比你讲的jsp,asp.net要快。我做过实验的。你不信可以提出一个问题,用三者实现,然后看结果。php是其它的2倍以上速度。
php语言的独特机制,优化比你想想的要好。
jsp你学过是编译性语言。其实只有php这种脚本语言速度的1/2。是不是让你大跌眼睛?
如果你不相信我的话。可以测试下。
------解决思路----------------------
hhvm 涨涨姿势
------解决思路----------------------
php 由 Zend 公司的解释引擎驱动
Zend 公司同样提供了 ZendOptimizerPlus 引擎来执行预编译的代码
只不过你总认为那是加密,所以忽视了这个事实

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
