HipHop for PHP

HipHop for PHP (HPHPc)
Phát triển bởiFacebook
Phát hành lần đầu2 tháng 2 năm 2010; 14 năm trước (2010-02-02)[1]
Phiên bản cuối
Replaced by HHVM[2][3] / 2013; 11 năm trước (2013)
Kho mã nguồn
Viết bằngC++, C, PHP
Giấy phépPHP License
Websitefacebook.com/hphp
As ofAugust 2014
Trạng tháiDiscontinued

HipHop for PHP (HPHPc) là một transpiler PHP tạo ra bởi Facebook. Bằng cách sử dụng HPHPc làm trình biên dịch source-to-source, mã PHP được dịch sang C ++, biên dịch thành một binary và chạy như một file thực thi, trái ngược với con đường thực thi bình thường của PHP, mã PHP được chuyển thành opcodes và thông dịch. HPHPc bao gồm chủ yếu mã nguồn của C ++, C và PHP, và nó là một phần mềm miễn phí và mã nguồn mở được phân phối theo giấy phép PHP.

Mục đích đầu của HipHop là để tiết kiệm tài nguyên trên máy chủ của Facebook, với PHP codebase lớn của facebook.com. Vì sự phát triển của HipHop tiến triển, người ta đã nhận ra rằng HipHop có thể làm tăng đáng kể tốc độ của các ứng dụng PHP nói chung. Tăng việc tạo ra trang web bởi các yếu tố lên đến sáu đã được quan sát thấy trong Zend PHP.[4][5][6][7][8] Một mục tiêu đã nêu của HPHPc là để cung cấp khả năng tương thích mức độ cao với Zend PHP, nơi mà hầu hết các chương trình dựa trên Zend PHP sẽ không bị sửa đổi trên HPHPc.[6] HPHPc ban đầu được mở nguồn vào đầu năm 2010.[1]

Để bổ sung cho HPHPc, các kỹ sư Facebook cũng tạo ra một "chế độ phát triển" của HipHop (phiên bản thông dịch của một PHP execution engine, được gọi là HPHPi) và HipHop debugger (được gọi là HPHPd). Những bổ sung này cho phép các nhà phát triển chạy mã PHP qua cùng một logic được cung cấp bởi HPHPc trong khi làm cho nó có thể gỡ lỗi tương tác mã PHP bằng cách xác định watch, s breakpoint, v.v. Chạy mã thông qua HPHPi mang lại hiệu suất thấp hơn khi so sánh với HPHPc, nhưng những lợi ích cho những nhà phát triển vào thời điểm là giúp duy trì hai execution engine tạo ra và phát triển. HPHPi và HPHPd cũng được mở nguồn trong năm 2010.[1]

Bằng nhiều tính toán HPHPc đã hoàn thành mục tiêu của mình, đặc biệt là trong Facebook là nó cho phép facebook.com chạy nhanh hơn nhiều trong khi sử dụng ít tài nguyên hơn. Tuy nhiên, vào đầu năm 2013 Facebook đã không tán thành HPHPc trong việc tạo thành HipHop Virtual Machine (HHVM), là một execution engine cho PHP dựa trên bộ biên dịchjust-in-time (JIT), cũng được phát triển bởi Facebook.[2][9] Có rất nhiều lý do cho việc này; một trong số đó là đường đặc tuyến phẳng của HPHPc nhằm cải thiện hiệu suất hơn nữa. Ngoài ra, HPHPc không hỗ trợ đầy đủ ngôn ngữ PHP, bao gồm các cấu trúc create_function ()eval (), và nó bao gồm một tiến trình xác định thời gian và sử dụng tài nguyên vốn yêu cầu một binary lớn hơn 1 GB được biên dịch và phân phối cho nhiều các máy chủ trong thời gian ngắn. Ngoài ra, duy trì song song HPHPc và HPHPi (như chúng cần phải có, cho sự thống nhất của môi trường sản xuất và phát triển) đã trở nên cồng kềnh. Cuối cùng, HPHPc không phải là một thay thế tự động cho Zend, yêu cầu khách hàng bên ngoài thay đổi toàn bộ quá trình phát triển và triển khai của họ để sử dụng HPHPc.[2]

  • KPHP
  • Máy ảo Parrot
  • Phalanger
  • Project Zero

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ a b c Haiping Zhao (ngày 2 tháng 2 năm 2010). “HipHop for PHP: Move Fast”. Facebook. Truy cập ngày 2 tháng 8 năm 2014.
  2. ^ a b c Drew Paroski (ngày 29 tháng 11 năm 2012). “Speeding up PHP-based development with HHVM”. Facebook. Truy cập ngày 2 tháng 8 năm 2014.
  3. ^ Paul Tarjan (ngày 13 tháng 5 năm 2013). “Joining, Retirement, Testing, and Bankruptcy”. hhvm.com. Truy cập ngày 2 tháng 8 năm 2014.
  4. ^ “OOPSLA '12 Paper”. Truy cập ngày 23 tháng 5 năm 2013.
  5. ^ Guilherme Ottoni (ngày 12 tháng 3 năm 2013). “The HipHop Compiler for PHP”. OOPSLA 2012. Truy cập ngày 23 tháng 5 năm 2013.
  6. ^ a b “FOSDEM 2013 Interview”. Truy cập ngày 23 tháng 5 năm 2013.
  7. ^ “HipHop for PHP: Benchmark”. Bản gốc lưu trữ ngày 16 tháng 5 năm 2011. Truy cập ngày 23 tháng 5 năm 2013.
  8. ^ “Drupal 7: HipHop for PHP vs APC – benchmark”. Bản gốc lưu trữ ngày 19 tháng 5 năm 2011. Truy cập ngày 23 tháng 5 năm 2013.
  9. ^ “Announcement on GitHub removing HPHPc support”. github.com. Facebook. ngày 19 tháng 2 năm 2013. Truy cập ngày 24 tháng 5 năm 2013.

Liên kết ngoài

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Đánh giá sơ bộ chung về giá trị của Cyno / Ayaka / Shenhe
Đánh giá sơ bộ chung về giá trị của Cyno / Ayaka / Shenhe
Shenhe hiện tại thiên về là một support dành riêng cho Ayaka hơn là một support hệ Băng. Nếu có Ayaka, hãy roll Shenhe. Nếu không có Ayaka, hãy cân nhắc thật kĩ trước khi roll
Vị trí của Albedo trong dàn sub-DPS hiện tại
Vị trí của Albedo trong dàn sub-DPS hiện tại
Albedo là một sub-DPS hệ Nham, tức sẽ không gặp nhiều tình huống khắc chế
Favonius Lance - Weapon Guide Genshin Impact
Favonius Lance - Weapon Guide Genshin Impact
A spear of honor amongst the Knights of Favonius. It is used in a ceremonial role at parades and reviews, but it is also a keen and mortal foe of monsters.
Câu truyện đằng sau đôi tất ướt và điệu nhảy của Ayaka
Câu truyện đằng sau đôi tất ướt và điệu nhảy của Ayaka
Story Quest của Ayaka có một khởi đầu rất chậm, đa số là những cuộc hội thoại giữa Ayaka và các NPC trong thành Inazuma