Reputation: 1362
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
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