discourse/app/serializers
Guo Xiang Tan 5d4221fbe1 PERF: Avoid calling expensive PostGuardian#can_see_post? multiple times.
Before

```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
  50: 19
  75: 19
  90: 21
  99: 27
topic:
  50: 56
  75: 62
  90: 64
  99: 99
timings:
  load_rails: 1262
ruby-version: 2.4.1-p111
rss_kb: 198432
pss_kb: 136612
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_9877: 327892
pss_kb_9877: 263671
rss_kb_9946: 325468
pss_kb_9946: 261671
rss_kb_10153: 326456
pss_kb_10153: 262657
```

After

```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
  50: 18
  75: 18
  90: 20
  99: 28
topic:
  50: 41
  75: 42
  90: 46
  99: 49
timings:
  load_rails: 1201
ruby-version: 2.4.1-p111
rss_kb: 187936
pss_kb: 123596
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_26478: 342360
pss_kb_26478: 276696
rss_kb_26547: 340368
pss_kb_26547: 275930
rss_kb_26747: 338964
pss_kb_26747: 274466
```
2017-09-08 14:07:24 +08:00
..
about_serializer.rb PERF: Cache About#stats. 2015-07-20 22:45:05 +08:00
admin_badge_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
admin_badges_serializer.rb FEATURE: allow advanced badge options in admin screen 2014-07-24 18:28:23 +10:00
admin_detailed_user_serializer.rb FIX: admin user page should show count of all posts, including private messages, so admins can delete them. This bug was making it impossible to delete users. 2017-03-17 17:01:45 -04:00
admin_email_template_serializer.rb FIX: Translate titles of email templates 2017-01-05 01:26:38 +01:00
admin_plugin_serializer.rb FEATURE: Per-plugin settings buttons, "Enabled" column 2015-07-02 10:59:06 -07:00
admin_user_action_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
admin_user_list_serializer.rb FIX: add link to user profile for staged users 2016-01-19 16:41:07 +01:00
admin_user_serializer.rb FIX: do not show "Send Activation Email" button if must_approve_users setting is enabled 2017-07-04 14:00:50 +05:30
admin_web_hook_event_serializer.rb FEATURE: prompts new webhook events 2016-09-19 12:07:17 +08:00
admin_web_hook_serializer.rb FEATURE: Webhooks. 2016-09-05 18:44:00 +08:00
api_key_serializer.rb Support for per-user API keys 2013-10-22 17:34:39 -04:00
application_serializer.rb FEATURE: fragment cache for use with serializers 2015-09-28 16:50:24 +10:00
archetype_serializer.rb Initial release of Discourse 2013-02-05 14:16:51 -05:00
backup_serializer.rb Backup serializer 2014-02-13 13:31:13 -08:00
badge_grouping_serializer.rb UX: Show translated badge names and badge groupings 2015-12-30 23:35:16 +01:00
badge_index_serializer.rb UX: Show badges as cards on the badges index and show page 2016-03-25 15:33:06 -04:00
badge_serializer.rb FEATURE: allow admins to enter badge long descriptions 2016-03-28 18:38:57 +11:00
badge_type_serializer.rb Fix badge type ordering 2014-08-25 12:48:31 -07:00
basic_category_serializer.rb FEATURE: category setting for default top period 2017-03-22 16:54:18 -04:00
basic_group_history_serializer.rb FEATURE: Group logs. 2016-12-12 17:29:54 +08:00
basic_group_serializer.rb Split alias levels in mentionable and messageable levels. (#5065) 2017-08-28 12:32:08 -04:00
basic_group_user_serializer.rb FIX: Group owners should be able to invite users to their groups. 2017-07-21 23:48:25 +09:00
basic_post_serializer.rb PERF: avoid needless :try invokes respond_to? etc 2015-10-02 15:00:00 +10:00
basic_topic_serializer.rb Add :title as attribute for basic_topic 2013-07-05 23:22:52 +02:00
basic_user_badge_serializer.rb Sort the badges on the user profile page 2014-08-25 12:40:51 -07:00
basic_user_serializer.rb PERF: Avoid calling expensive PostGuardian#can_see_post? multiple times. 2017-09-08 14:07:24 +08:00
category_and_topic_lists_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
category_detailed_serializer.rb FIX: use 'topic_all_time' as topic count failover in /categories page 2016-08-29 10:25:46 +02:00
category_list_serializer.rb Properly assign draft keys to Categories List view. 2013-05-28 21:16:24 -04:00
category_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
category_upload_serializer.rb FIX: Associate category logo and background to uploads record. 2016-12-12 17:37:28 +08:00
color_scheme_color_serializer.rb FEATURE: Native theme support 2017-04-12 10:53:49 -04:00
color_scheme_serializer.rb FIX: properly clean up related color schemes on delete 2017-05-04 14:03:17 -04:00
current_user_serializer.rb Support for sending PMs to email addresses (#4988) 2017-08-28 12:07:30 -04:00
detailed_user_badge_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
directory_item_serializer.rb UX: Show two lines per user on directory 2015-03-19 14:53:52 -04:00
directory_serializer.rb FEATURE: User Directory, with sorting and time period filter 2015-03-18 15:20:34 -04:00
discourse_version_check_serializer.rb Don't blow up if Redis switches to READONLY 2015-04-24 14:37:16 -04:00
email_log_serializer.rb FEATURE: handle bounced emails 2016-05-02 23:15:32 +02:00
embeddable_host_serializer.rb Add embed class name setup for embeddable hosts 2017-05-11 15:16:16 -04:00
embedding_serializer.rb Can edit settings on the embedding page 2015-08-20 15:56:05 -04:00
emoji_serializer.rb FEATURE: custom emojis 2014-12-23 01:12:26 +01:00
flagged_topic_serializer.rb FIX: error when loading admin > flags 2015-08-28 12:31:32 +02:00
flagged_user_serializer.rb FIX: do not explicitly show email of flagger / flagged user 2017-04-20 22:09:30 +05:30
gap_serializer.rb Show Gaps in the post stream when filters are active 2013-12-05 16:46:59 -05:00
group_post_serializer.rb FEATURE: Allow truncated group posts to be expanded 2017-06-21 12:56:38 -04:00
group_post_user_serializer.rb FIX: Move title and name out of BasicUserSerializer. 2016-12-05 18:46:33 +08:00
group_show_serializer.rb Split alias levels in mentionable and messageable levels. (#5065) 2017-08-28 12:32:08 -04:00
group_user_serializer.rb FIX: add title to group_user serializer 2015-07-06 23:00:00 +05:30
grouped_screened_url_serializer.rb Screened Urls page shows results for each domain instead of each url 2013-11-04 16:24:48 -05:00
grouped_search_result_serializer.rb FEATURE: show tags in search results 2017-08-25 11:52:59 -04:00
incoming_email_details_serializer.rb FIX: allow an admin to click on blank errors (#5027) 2017-08-04 20:04:26 +02:00
incoming_email_serializer.rb FIX: allow an admin to click on blank errors (#5027) 2017-08-04 20:04:26 +02:00
invite_serializer.rb Let's not show tons of extra information about invites unless you're the 2014-03-21 14:16:11 -04:00
invited_user_serializer.rb Let's not show tons of extra information about invites unless you're the 2014-03-21 14:16:11 -04:00
listable_topic_serializer.rb correct regression 2016-12-05 17:40:47 +11:00
new_post_result_serializer.rb Support for custom reasons for things being queued for approval 2015-04-28 15:06:47 -04:00
notification_serializer.rb FEATURE: use fancy title in notifications 2017-05-15 15:38:30 -04:00
permalink_serializer.rb fix permalinks serializer with subfolder setups 2017-04-05 18:45:01 +02:00
post_action_type_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
post_action_user_serializer.rb FIX: Who Liked a Post now shows UserCard when avatar is clicked 2015-10-02 18:10:06 -04:00
post_item_excerpt.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
post_revision_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
post_serializer.rb PERF: Avoid calling expensive PostGuardian#can_see_post? multiple times. 2017-09-08 14:07:24 +08:00
post_stream_serializer_mixin.rb Shorten some very long lines 2017-08-12 04:18:04 +02:00
post_wordpress_serializer.rb FEATURE: move migrate_to_new_scheme into a background job 2015-06-12 12:07:57 +02:00
primary_group_serializer.rb FEATURE: primary group class on avatars in topic list 2017-02-20 15:55:10 -05:00
queued_post_serializer.rb FIX: handle posts with no user on needs approval page 2016-05-20 15:44:19 +05:30
screened_email_serializer.rb FEATURE: admins can clear screend emails if needed 2014-06-02 16:53:00 +10:00
screened_ip_address_serializer.rb FIX: show ip address with mask again on /admin/logs/screened_ip_addresses 2014-02-18 10:33:08 -05:00
screened_url_serializer.rb Fix [object object] being rendered where it should be an ip address 2013-11-05 15:00:54 -05:00
search_post_serializer.rb PERF: N+1 query in search when plugin loads custom fields in TopicListItemSerializer. 2017-05-31 09:54:10 +09:00
search_result_user_serializer.rb create searchResultUserSerializer, display name next to username in search results 2017-03-01 13:11:01 +01:00
search_topic_list_item_serializer.rb PERF: N+1 query in search when plugin loads custom fields in TopicListItemSerializer. 2017-05-31 09:54:10 +09:00
similar_topic_serializer.rb FIX: Missing url attribute for suggested topics 2015-06-24 15:13:36 -04:00
single_sign_on_record_serializer.rb Add SSO diagnostics 2014-08-23 10:34:48 +10:00
site_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
site_text_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
staff_action_logs_serializer.rb FEATURE: dropdown to filter staff action logs 2017-05-30 11:25:42 -04:00
suggested_topic_serializer.rb FEATURE: Allow posting a link with topics 2016-12-05 17:20:54 +01:00
tag_group_serializer.rb PERF: tag groups index query 2016-07-15 17:16:26 -04:00
tag_serializer.rb FEATURE: show tags in search results 2017-08-25 11:52:59 -04:00
theme_serializer.rb FEATURE: support uploads for themes 2017-05-10 15:47:11 -04:00
top_list_serializer.rb BUGFIX: show the draft on top page 2014-02-06 11:39:43 +01:00
topic_embed_serializer.rb Add embed/info endpoint for TopicEmbed queries 2015-09-16 03:22:24 +00:00
topic_flag_type_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
topic_link_serializer.rb FIX: attachment links in topic map were giving 404 2015-05-28 16:03:01 +05:30
topic_list_item_serializer.rb FEATURE: Allow posting a link with topics 2016-12-05 17:20:54 +01:00
topic_list_serializer.rb WIP: Tags which are not allowed in a category showing in drop down. 2016-07-08 10:27:56 +08:00
topic_post_count_serializer.rb FEATURE: group avatar flair shows on topic participants list, and participant avatars can have custom styles 2017-01-18 11:38:00 -05:00
topic_poster_serializer.rb FEATURE: primary group class on avatars in topic list 2017-02-20 15:55:10 -05:00
topic_timer_serializer.rb rename topic_status_update to topic_timer 2017-05-11 18:27:53 -04:00
topic_tracking_state_serializer.rb FIX: We should use category_id instead of category_name to perform 2014-07-16 15:40:35 -04:00
topic_view_posts_serializer.rb Refactor: Move Topic Details into better objects, identity map, tests, query string filters 2013-07-02 10:36:46 -04:00
topic_view_serializer.rb PERF: Avoid calling expensive PostGuardian#can_see_post? multiple times. 2017-09-08 14:07:24 +08:00
topic_view_wordpress_serializer.rb FIX: user avatar urls need to be absolute in wordpress api 2014-05-29 17:19:49 -04:00
trust_level3_requirements_serializer.rb FEATURE: make trust level 3 time period admin setting 2015-12-22 23:26:19 +05:30
trust_level_serializer.rb Initial release of Discourse 2013-02-05 14:16:51 -05:00
upload_serializer.rb FEATURE: image uploads now have short urls 2017-08-22 16:40:08 -04:00
user_action_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
user_badge_serializer.rb FEATURE: you can not drill down and see why you have badges 2016-01-18 17:59:20 +11:00
user_badges_serializer.rb FEATURE: you can not drill down and see why you have badges 2016-01-18 17:59:20 +11:00
user_field_serializer.rb FEATURE: add user custom fields to user card 2016-04-08 14:35:41 +02:00
user_history_serializer.rb FEATURE: Native theme support 2017-04-12 10:53:49 -04:00
user_name_serializer.rb FEATURE: support for external letter avatars service 2015-09-11 02:12:40 +02:00
user_option_serializer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
user_serializer.rb Merge pull request #5078 from lelelelemon/master 2017-08-24 09:24:42 +09:00
user_summary_serializer.rb hide bookmarks count in user summary except for yourself 2016-05-09 15:51:43 +02:00
user_wordpress_serializer.rb FEATURE: move migrate_to_new_scheme into a background job 2015-06-12 12:07:57 +02:00
watched_word_list_serializer.rb FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block 2017-07-26 11:01:09 -04:00
watched_word_serializer.rb FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block 2017-07-26 11:01:09 -04:00
web_hook_post_serializer.rb FIX: Topic title should be included in post webhook payload. 2017-04-21 10:04:21 +08:00
web_hook_topic_view_serializer.rb FEATURE: Allow easier customization to the web hook event serialization. 2017-03-16 10:09:05 +08:00
web_hook_user_serializer.rb FEATURE: Include email in User webhook. 2017-03-25 08:23:01 +08:00
wizard_field_choice_serializer.rb New step to choose emoji set 2016-09-22 09:52:19 -04:00
wizard_field_serializer.rb Add locale step 2016-09-22 09:52:19 -04:00
wizard_serializer.rb Wizard: Step 1 2016-09-22 09:48:58 -04:00
wizard_step_serializer.rb Added images to the first and last step of the wizard 2016-09-22 09:52:19 -04:00