피치파이

PeachPie
피치파이
Peachpie logo
원본 작성자이오레벨
개발자.NET 파운데이션
초기 릴리즈2016년 7월 18일; 5년(2016-07-18):[1]
기록 위치C#[2]
면허증아파치 2.0[3]
웹사이트www.peachpie.io

PeachPie는 의 오픈 소스 PHP 언어 컴파일러 및 런타임입니다.NET Framework .. 마이크로소프트 로슬린 컴파일러 플랫폼 위에 구축되어 1세대 팰레인저 프로젝트를 기반으로 한다. PeachPie는 PHP에서 CIL 바이트 코드로 작성된 소스 코드를 컴파일한다. PeachPie는 의 JIT 컴파일러 구성요소를 활용한다.NET Framework는 컴파일 프로세스의 시작을 처리하기 위한 것이다. 그 목적은 네이티브 코드를 생성하거나 최적화하는 것이 아니라 PHP 스크립트를 로 컴파일하는 것이다.CIL 코드와 메타데이터를 포함하는 NET 어셈블리. 2017년 7월, 이 프로젝트는 의 멤버가 되었다.NET Foundation.[4]

오리진스

피치파이의 건축은 원래 체코 프라하샤를르 대학교에서 수업으로 시작되었던 [5]팔랑어 프로젝트와 비슷하다.[6][7] 그것은 마이크로소프트 의 에서 실행되었다.Roslyn API를 활용한 NET 컴파일러 플랫폼 Roslyn. 2016년부터 체코 기업 io레벨이 피치파이 개발을 주도하고 있다.[citation needed]

피치파이는 로슬린 API와 컴파일러의 재작업 아키텍처의 결과로서 Phalanger에 비해 몇 가지 장점이 있다. Phalanger는 오직 전체만을 목표로 할 수 있었다.Windows에서만 실행되었던 NET Framework와, Mono, PeachPie를 대상으로 하여 크로스 플랫폼 기능을 달성한 것도 에 컴파일이 허용된다.따라서 기본적으로 교차 플랫폼이 되는 NET.[8] 현재까지 발표된 벤치마크는 PeachPie의 이전 제품 대비 성능 향상을 지적하고 있다.[9][10][11] 이 프로젝트에는 컴파일러가 향상된 상호운용성 기능을 위해 C#와 같은 기호를 생성할 수 있는 고급 의미 분석이 포함되어 있다. PeachPie와 FacebookHHVM 컴파일러는 특수 설계된 가상 머신에서 PHP를 실행하는 유사점이 있다. 다만 페이스북이 2017년 말 발표한 대로 HHVM 버전 3.24는 페이스북이 독점적으로 보유하고 있는 Hack이라는 PHP의 독점적 확장을 지원하는 데 초점이 맞춰질 것이기 때문에 PHP와 호환되는 마지막 릴리스가 될 것이다.[12] 이것은 PHP의 과거와 미래의 버전과 호환되기를 열망하는 PeachPie를 이런 종류의 유일한 프로젝트로 남겨둔다.[citation needed]

이 프로젝트는 마이크로소프트로부터 상당한 지원을 받고 있으며,[13] 가상 회의에 초대되었다.NET Conf 및 마이크로소프트의 "On"에 수록된 기능."NET"[16][17]은 물론, .NET Rocks 팟캐스트.[18] 2017년 7월부터 피치파이는 의 멤버로 활동하고 있다.NET Foundation. io레벨은 2018년 12월 유럽혁신위원회(European Innovation Council)의 Horizon2020 보조금을 받아 피치파이 컴파일러에 대한 작업을 추진했다.[19][20][21]

목표

이 프로젝트에는 몇 가지 주요 목표가 열거되어 있다.[22][23]

  • 성능: PHP 코드가 CIL로 컴파일되고 해석되기 보다는 후속적으로 실행되기 때문에 이론적으로 이것은 성능 향상으로 이어질 것이다.[24] 저자들이 수행한 마이크로 벤치마크는 분리된 경우 표준[25] PHP보다 성능이 향상되었음을 시사하며 테스트 결과 이 프로젝트가 Azure에서 PHP 코드를 약 2배 빠르게 실행할 수 있다는 것을 보여주었다.[26] TechEmpower 일반 텍스트 벤치마크를 사용하여 PeachPie에서 실행되는 WordPress는 초당 30만5,612건의 요청을 처리할 수 있는 반면,[27] 표준 PHP는 초당 45,616건의 요청을 처리할 수 있는 것으로 측정되었다.[28] PeachPie는 또한 정기적으로 발행되는 TechEmpower 벤치마킹 라운드의[29][failed verification] 일부로서, 2019년 현재 PHP Framework가 벤치마크에 나타나는 다른 어떤 것보다도 빠르다.[30][non-primary source needed] Phalanger는 또한 32비트 버전의 PHP 5.4에 비해 상당한 성능상의 이점을 제공했다.[31][32][33]
  • 상호운용성: 이 프로젝트는 사용자들이 PHP와 에 상호운용할 수 있도록 한다.NET 언어. 그 결과, C# 람다스를 PHP 컨텍스트에 주입하거나 C#에서 PHP 클래스를 계승하는 등 비정상적인 조작이 가능하다.[34] 따라서 사용자는 에 PHP 라이브러리를 활용할 수 있다.NET 프로젝트 및 그 반대.[35]
  • 추가 보안: PeachPie가 모든 소스 코드를 하나의 DLL 파일로 컴파일하는 것을 감안하면, 원본 소스 코드 없이도 애플리케이션을 배포할 수 있다. PeachPie 프로젝트는 전체 PHP 애플리케이션과 프레임워크를 표준으로 컴파일할 수 있게 한다.NET DLL 형식 및 배포(예:[36] NuGet 패키지)
  • 교차 플랫폼 기능: PeachPie가 타겟팅할 수 있으므로 .일반과 호환되는 NET.NET Framework, XamarinMono에서 실행되며, Windows, MacOS 및 Linux에서 실행되며,[37] 실행 가능한 모든 장치 및 운영 체제에 대해 PHP 애플리케이션을 개발할 수 있다.네트

지원되는 애플리케이션

2019년 현재 공식적으로 테스트되고 지원되는 애플리케이션에는 워드프레스,[38][7][39] 위키백과 페이지를 운영하는 소프트웨어인 [40]미디어위키, 코드igniter 등이 있다.[41] 또한, 라라벨,[42] 우커머스[43] 또는 마젠토와 같은 오픈 소스 커뮤니티의 구성원에 의해 해결책과 함께 작동하는 많은 PHP 프레임워크와 프로그램이 확인되었다.[44]

참고 항목

참조

  1. ^ iolevel (July 18, 2016). "PeachPie Compiler pre-release". Retrieved February 10, 2017.
  2. ^ "PeachPie repository". github.com. [iolevel]. February 10, 2017. Retrieved February 11, 2017.
  3. ^ "iolevel/peachpie: License". github.com. [iolevel]. Retrieved February 11, 2017.
  4. ^ Galloway, Jon (2017-07-25). "Welcome Peachpie Compiler Platform to the .NET Foundation". The .NET Foundation.
  5. ^ Yegulalp, Serdar (2016-03-14). "Peachpie compiler aims to bring PHP to .Net". InfoWorld. Retrieved 2020-09-23.
  6. ^ phpcompiler (2011-05-04), Phalanger: PHP .NET compiler revealed (1/2), retrieved 2017-02-08
  7. ^ a b Hughes, Matthew (2017-02-28). "This company figured out how to run Wordpress on .Net". The Next Web. Retrieved 2018-06-16.
  8. ^ ".NET Core Framework - Go Cross-Platform with the .NET Framework". msdn.microsoft.com. Retrieved 2017-02-11.
  9. ^ de Icaza, Miguel (2012-03-12). "Phalanger's PHP on Mono/.NET Updates". tirania.org. Retrieved 2017-02-11.
  10. ^ Adams, Ben (2017-03-11). "Peachpie Plaintext Benchmark". Github.
  11. ^ "Round 16 Results - TechEmpower Framework Benchmarks". 2018-06-06.
  12. ^ Krill, Paul (2017-09-20). "Forget PHP! Facebook's HHVM engine switches to Hack instead". InfoWorld. Retrieved 2019-04-28.
  13. ^ Millar, Ethan (2016-05-11). "How Peachpie Compiler Leverages .Net Development Technology In PHP - Web Development Tutorial". Web Development Tutorial. Retrieved 2018-10-16.
  14. ^ Microsoft Visual Studio (2017-09-20), Running PHP on .NET Core with Peachpie, retrieved 2018-10-16
  15. ^ Code Mantisa (2018-09-18), S303 - Advanced C# PHP interoperability with PeachPie by Jakub Misek, retrieved 2018-10-16
  16. ^ "Benjamin Fistein & Jakub Míšek - Peachpie PHP compiler for .NET". Channel 9. Retrieved 2018-10-16.
  17. ^ "Peachpie". Channel 9. Retrieved 2018-10-16.
  18. ^ ".NET Rocks! vNext". .NET Rocks!. Retrieved 2018-10-16.
  19. ^ "European Innovation Council SME Instrument Phase 1" (PDF). ec.europa.eu. November 2018.
  20. ^ "EIC SME Instrument data hub". sme.easme-web.eu. Retrieved 2019-02-02.
  21. ^ Skoupá, Adéla (2019-01-18). "Inovativní nápady českých firem podpoří EU. Peníze dostane rehabilitační nástroj pro lidi po mrtvici či nástroj PeachPie, který ocenil i Microsoft". Hospodářské noviny (in Czech). Retrieved 2019-02-02.
  22. ^ ".NET Foundation". dotnetfoundation.org. Retrieved 2018-10-16.
  23. ^ Ben Yacoub, Hatem (2017-02-16). "Peachpie, The PHP Compiler and Runtime for .NET". PHP Magazine Network. Retrieved 2018-10-16.
  24. ^ Yegulalp, Serdar. "Peachpie compiler aims to bring PHP to .Net". InfoWorld. Retrieved 2018-10-16.
  25. ^ "Benchmarks – Peachpie". www.peachpie.io. Retrieved 2017-02-08.
  26. ^ Klose, Ann-Kathrin (2017-09-04). "Peachpie: Wordpress per PHP-Compiler auf .NET nutzen". entwickler.de (in German). Retrieved 2018-10-16.
  27. ^ Adams, Ben. "Peachpie Benchmarks". GitHub.
  28. ^ "Round 13 results - TechEmpower". TechEmpower.
  29. ^ "TechEmpower Framework Benchmarks". www.techempower.com. Retrieved 2018-06-16.
  30. ^ "Ben Adams on Twitter". Twitter. Retrieved 2018-06-16.
  31. ^ "Benchmarks". v1.php-compiler.net. Retrieved 2017-02-12.
  32. ^ "Phalanger: Stuffing PHP With Mono, .NET - Phoronix". www.phoronix.com. Retrieved 2017-02-12.
  33. ^ "Phalanger by DEVSENSE". v4.php-compiler.net. Retrieved 2017-02-13.
  34. ^ Vaggalis, Nikos (24 October 2016). "Peachpie Open Source PHP to .NET Compiler". i-programmer.info. Retrieved 2017-04-08.
  35. ^ Peipman, Gunnar. "Running PHP Applications on .NET Core - DZone Web Dev". dzone.com. Retrieved 2018-10-16.
  36. ^ Hanselman, Scott. "The whole of WordPress compiled to .NET Core and a NuGet Package with PeachPie - Scott Hanselman". www.hanselman.com. Retrieved 2018-10-16.
  37. ^ Richlander. ".NET Core Docs". docs.microsoft.com. Retrieved 2017-02-08.
  38. ^ Hanselman, Scott. "Peachpie - Open Source PHP Compiler to .NET and WordPress under ASP.NET Core - Scott Hanselman". www.hanselman.com. Retrieved 2018-06-16.
  39. ^ "Partnerschaft zwischen Mozilla und BrowserStack & Updates für Symfony". entwickler.de (in German). 2017-03-06. Retrieved 2019-04-28.
  40. ^ "Setting up MediaWiki on .NET with Peachpie @ PeachPie PHP compiler to .NET". www.peachpie.io. Retrieved 2018-06-16.
  41. ^ "Performance Progress Report @ PeachPie PHP compiler to .NET". www.peachpie.io. Retrieved 2018-06-16.
  42. ^ Baart, Calvin (2019-04-18), GitHub - calvinbaart/laravel-peachpie-sample, retrieved 2019-04-28
  43. ^ Llewellyn, Daniel (2019-04-26), GitHub - diddledan/net.WordPress.plugin.woocommerce, retrieved 2019-04-28
  44. ^ Tobi (2018-08-28), This Project mirrors Magento 1.9.3.8 and tries to make it compile via peachpie (https://www.peachpie.io/) to .net. In the Process of doing this some fixes called "core hacks" are neccessa.., retrieved 2019-04-28 외부 링크 위치 title= (도움말)