2012-02-12 27 views
13

Tôi đang làm việc trên một dự án và tôi vẫn đang nghĩ đến việc sử dụng HAML (mã đẹp, ít kích thước của tệp xem) thay vì mẫu ERB cổ điển.Rails 3.2 - haml vs. erb. Haml có nhanh hơn không? (tháng 2 năm 2012)

Lo lắng của tôi tại sao tôi không làm điều đó là tốc độ tạo lượt xem - tôi đọc một bài báo/điểm chuẩn và hầu như luôn có HAML chậm hơn ERB - nhưng sự thật là, các bài viết là 2-3 năm cũ.

Vì vậy, câu hỏi của tôi là, làm cách nào để so sánh hai hệ thống mẫu này ngay bây giờ, vào đầu năm 2012?

Trả lời

16

Dưới đây là một số điểm chuẩn từ một người nào đó trong số Nov 2011. Bạn nên có thể cd vào thư mục haml của bạn và chạy rake benchmark. Tôi nói "nên" bởi vì bạn sẽ cần phải có được các phụ thuộc thích hợp được cài đặt để chạy nhiệm vụ đó. Tôi chơi xung quanh với nó trong một vài phút nhưng không may mắn tại địa phương. Tệp có liên quan là haml/test/benchmark.rb.

EDIT: Tôi đã tìm thêm một số thông tin cho bạn. Một người khác có cùng một rắc rối như tôi đang cố gắng để có được điểm chuẩn làm việc tại địa phương, do đó, họ cuộn của riêng mình. Tôi chia rẽ ý kiến ​​đó và thêm hỗ trợ để so sánh haml với erb: https://gist.github.com/1807036. Tôi đã sử dụng cùng một khuôn mẫu mà thư viện haml sử dụng để chuẩn. Dưới đây là kết quả mà tôi đã chạy mã:

$ ruby benchmark.rb 
     user  system  total  real 
haml: 0.650000 0.000000 0.650000 ( 0.651584) 
erb: 0.540000 0.000000 0.540000 ( 0.534727) 

Tôi đã sử dụng ruby ​​1.9.3-p0, haml 3.1.4.

+0

vì vậy kết luận là gì? haml mất nhiều bộ nhớ/cpu? –

+0

Haml là đẹp hơn từ một góc nhìn dev (trong hầu hết các trường hợp), và nếu tải phụ là nhỏ và sẽ không ảnh hưởng đến hiệu suất ở một mức độ đáng chú ý, tôi nói đi cho nó! –

2

Đã có một loạt các cuộc tranh luận được ghi lại trên web.

Nhưng khi chúng tôi có một ứng dụng mà chúng tôi sử dụng ERB độc quyền. Tại sao chúng ta nên thử chuyển sang HAML? Đối với tôi, đó là một sự lãng phí thời gian và một quyết định tồi tệ sẽ không mang lại nhiều lợi ích. Trong khi mã của chúng tôi đột nhiên trở nên sạch hơn và đẹp hơn một chút trong HAML, chúng tôi sẽ lãng phí thời gian quý báu để chuyển đổi ERB thành HAML. Chúng ta có quá nhiều thứ quan trọng khác cần làm, tại sao lại lãng phí thời gian đó vào một điều gì đó vô nghĩa trong trường hợp này?

Tất cả đều tương đối. Bạn không cần sử dụng HAML thay vì ERB. ERB có thể làm tất cả những điều tương tự. Chúng chỉ là những công cụ khác nhau cho cùng một công việc.

+2

chuyển đổi của thiên nhiên này có thể được tự động ... xem http://html2haml.heroku.com/ và đá quý của chúng. điểm ở đây là quyết định của dự án. Nếu bạn thấy rằng đọc tấn haml là tốt hơn thì html, đi cho nó. –