Is rendering more partials reduce performance in Rails web application?

I have created Rails(version - 5.0.0.1) application. I have used partials for reduce the repeated code. I have completed the feature, after saw the console log for particular request there was at least 100 partials rendered and it may goes upto 200. Is this affect the application performance ?

Following is console log when processing request.

Started GET “/******/98747259/edit" for 127.0.0.1 at 2017-04-19 14:51:50 +0530
Processing by *********Controller#edit as HTML
  Parameters: {}
  Rendering triggers/edit.html.erb within layouts/application
  Rendered layouts/_navigation_menu.html.erb (18.8ms)
  Rendered layouts/_flash_errors.html.erb (1.5ms)
  Rendered triggers/trigger/_campaign.html.erb (5.2ms)
  Rendered triggers/trigger/_campaign.html.erb (2.3ms)
  Rendered triggers/trigger/_campaign.html.erb (2.1ms)
  Rendered triggers/trigger/_campaign.html.erb (1.7ms)
  Rendered triggers/trigger/_campaign.html.erb (2.0ms)
  Rendered triggers/trigger/_campaign.html.erb (2.3ms)
  Rendered triggers/trigger/_campaign.html.erb (1.8ms)
  Rendered triggers/trigger/_campaign.html.erb (94.5ms)
  Rendered triggers/trigger/_campaign.html.erb (2.2ms)
  Rendered triggers/trigger/_campaign.html.erb (2.5ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (1.5ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms)
  Rendered triggers/actions/_tag.html.erb (15.9ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (0.7ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (0.8ms)
  Rendered triggers/actions/_tag.html.erb (9.2ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (2.4ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (1.8ms)
  Rendered triggers/actions/_campaign.html.erb (103.3ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (2.0ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms)
  Rendered triggers/actions/_campaign.html.erb (7.7ms)
  Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (8.3ms)
  Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (76.3ms)
  Rendered triggers/actions/_multiple_campaigns.html.erb (91.8ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (3.0ms)
  Rendered triggers/actions/_campaign.html.erb (8.7ms)
  Rendered triggers/actions/_add_email_elements.html.erb (6.8ms)
  Rendered triggers/actions/_add_email_elements.html.erb (2.1ms)
  Rendered triggers/actions/_add_email_elements.html.erb (2.1ms)
  Rendered triggers/actions/_email.html.erb (18.4ms)
  Rendered triggers/actions/_add_custom_field_elements.html.erb (1.2ms)
  Rendered triggers/actions/_custom_field.html.erb (4.3ms)
  Rendered triggers/actions/_delete_subscriber.html.erb (1.2ms)
  Rendered triggers/actions/_add_unsubscribe_elements.html.erb (1.4ms)
  Rendered triggers/actions/_add_unsubscribe_elements.html.erb (0.6ms)
  Rendered triggers/actions/_unsubscribe.html.erb (12.4ms)
  Rendered triggers/actions/_modal_for_mail.html.erb (1.0ms)
  Rendered triggers/_add_new_action.html.erb (1.4ms)
  Rendered triggers/actions/_unsubscribe_from_campaign.html.erb (3.2ms)
  Rendered triggers/perform_actions/_apply_or_remove_tags.html.erb (1.0ms)
  Rendered triggers/perform_actions/_campaign.html.erb (0.9ms)
  Rendered triggers/perform_actions/_move_from_one_campaign_to_another.html.erb (1.4ms)
  Rendered triggers/perform_actions/_send_manual_mail.html.erb (2.5ms)
  Rendered triggers/perform_actions/_set_custom_field.html.erb (0.9ms)
  Rendered triggers/perform_actions/_record_an_event.html.erb (5.1ms)
  Rendered layouts/_flash_errors.html.erb (0.6ms)
  Rendered triggers/perform_actions/_unsubscribe.html.erb (1.4ms)
  Rendered triggers/perform_actions/_send_notification_mail.html.erb (5.7ms)
  Rendered triggers/trigger_details/_campaign.html.erb (2.2ms)
  Rendered triggers/trigger_details/_apply_or_remove_tags.html.erb (1.2ms)
  Rendered triggers/trigger_details/_form.html.erb (4.3ms)
  Rendered triggers/trigger_details/_mail.html.erb (4.4ms)
  Rendered triggers/trigger_details/_clicked_link.html.erb (1.0ms)
  Rendered triggers/trigger_details/_visited_page.html.erb (0.9ms)
  Rendered triggers/trigger_details/_update_custom_field.html.erb (0.8ms)
  Rendered triggers/trigger/_tag.html.erb (1.0ms)
  Rendered triggers/trigger/_campaign.html.erb (1.7ms)
  Rendered triggers/trigger/_form.html.erb (2.1ms)
  Rendered triggers/trigger/_link.html.erb (0.9ms)
  Rendered triggers/trigger/_page.html.erb (0.8ms)
  Rendered triggers/trigger/_email.html.erb (2.8ms)
  Rendered triggers/trigger/_custom_field.html.erb (1.1ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (0.6ms)
  Rendered triggers/actions/_tag.html.erb (2.7ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms)
  Rendered triggers/actions/_campaign.html.erb (3.6ms)
  Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (2.1ms)
  Rendered triggers/actions/_multiple_campaigns.html.erb (4.1ms)
  Rendered triggers/actions/_add_email_elements.html.erb (28.6ms)
  Rendered triggers/actions/_email.html.erb (30.7ms)
  Rendered triggers/actions/_add_custom_field_elements.html.erb (0.8ms)
  Rendered triggers/actions/_custom_field.html.erb (3.2ms)
  Rendered triggers/actions/_add_unsubscribe_elements.html.erb (0.7ms)
  Rendered triggers/actions/_unsubscribe.html.erb (2.7ms)
  Rendered triggers/actions/_notification_email.html.erb (0.9ms)
  Rendered triggers/actions/_delete_subscriber.html.erb (0.5ms)
  Rendered triggers/actions/_add_tag_elements.html.erb (0.6ms)
  Rendered triggers/actions/_add_campaign_elements.html.erb (1.7ms)
  Rendered triggers/actions/_add_multiple_campaigns_elements.html.erb (2.0ms)
  Rendered triggers/actions/_add_email_elements.html.erb (2.4ms)
  Rendered triggers/actions/_add_custom_field_elements.html.erb (0.8ms)
  Rendered triggers/actions/_add_unsubscribe_elements.html.erb (0.7ms)
  Rendered triggers/actions/_notification_email.html.erb (0.4ms)
  Rendered triggers/_form.html.erb (804.3ms)
  Rendered triggers/edit.html.erb within layouts/application (825.7ms)
Completed 200 OK in 1610ms (Views: 1562.3ms | ActiveRecord: 16.1ms)

Upvotes: 1

Views: 256

Answers (1)

Manpreet Singh
Manpreet Singh

Reputation: 116

It may slow down your application as rendering a partial takes some time, it may be very less time but it does take some time as rendering a partial invokes a render method so there is a second method call. It is totally on you, how you want the app's performance as it does reduce duplicate code and enhance code readibility

Upvotes: 2

Related Questions