HipHop for PHP

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
HipHop for PHP (HPHPc)
Stylized white 'h' character on a blue background with a darker blue border on the character's edges.
Phát triển bởi Facebook
Phát hành lần đầu 2 tháng 2, 2010; 7 năm trước[1]
Bản mới nhất Replaced by HHVM[2][3] / , 2013; 4 năm trước
Tình trạng phát triển Discontinued
Viết bằng C++, C, PHP
Giấy phép PHP License
Trang web facebook.com/hphp
Vào August 2014

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]

Xem thêm[sửa | sửa mã nguồn]

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

Tham khảo[sửa | sửa mã nguồn]

  1. ^ a ă â 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 ă â 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 ă “FOSDEM 2013 Interview”. Truy cập ngày 23 tháng 5 năm 2013. 
  7. ^ “HipHop for PHP: Benchmark”. Truy cập ngày 23 tháng 5 năm 2013. 
  8. ^ “Drupal 7: HipHop for PHP vs APC – benchmark”. 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]