gitlab-org--gitlab-foss/app/models
Yorick Peterse 3025b71141 Improve ProjectTeam#max_member_access performance
By comparing objects in Ruby we can greatly improve the performance of
this method. In the worst case (should no data be eager loaded) this
will run the same amount of queries as before, in the best case (when
data _is_ eager loadeD) it requires no queries at all.

The added benchmark used to produce around 273 iterations per second.
With this commit this has been increased to almost 40 000 iterations per
second: a speedup of roughly 145 times.

Combined with eager loading Note associations this results in about 30
queries less when viewing a single issue, this in turn cuts down the
loading time by 30-40%.
2015-10-15 12:05:01 +02:00
..
ci Merge branch 'show_pending_warning' into 'master' 2015-10-14 18:57:05 +00:00
concerns Eager load various issue/note associations 2015-10-15 12:05:01 +02:00
hooks enable SSL by default 2015-09-17 09:51:24 +03:00
members Re-annotate models 2015-05-03 13:38:27 -07:00
network Merge pull request #7999 from cirosantilli/append-inplace 2015-01-21 23:07:15 -08:00
project_services Merge branch 'commit_status' into 'master' 2015-10-13 14:33:00 +00:00
.gitkeep init commit 2011-10-09 00:36:38 +03:00
ability.rb Implement Commit Status API 2015-10-12 11:53:49 +02:00
abuse_report.rb Streamline the "Report button" 2015-09-29 21:47:01 +02:00
application_setting.rb Remove the option to disable CI 2015-10-05 12:23:38 -04:00
audit_event.rb Re-annotate models 2015-08-03 01:52:54 +09:00
broadcast_message.rb Explicitly define ordering in models using default_scope 2015-02-05 14:20:55 -08:00
commit.rb Implement Commit Status API 2015-10-12 11:53:49 +02:00
commit_range.rb Add `reference_pattern` to Referable models 2015-05-26 15:48:32 -04:00
commit_status.rb Show warning if build doesn't have runners with specified tags or runners didn't connect recently 2015-10-14 17:29:18 +02:00
deploy_key.rb Re-annotate models 2015-05-03 13:38:27 -07:00
deploy_keys_project.rb Clean up code. 2015-04-03 12:28:47 +02:00
diff_line.rb Refactor Parallel Diff feature and add scrollbars 2014-03-27 09:15:25 +13:00
email.rb Allow primary email to be set to an email that you've already added. 2015-04-30 16:17:03 +02:00
event.rb Create a "destroyed Milestone" event and keep Milestone events around in the DB 2015-09-15 05:51:11 -07:00
external_issue.rb Add `reference_pattern` to Referable models 2015-05-26 15:48:32 -04:00
forked_project_link.rb Use strong params for 5 more models 2014-06-26 15:00:09 +03:00
generic_commit_status.rb Implement Commit Status API 2015-10-12 11:53:49 +02:00
group.rb Eager load various issue/note associations 2015-10-15 12:05:01 +02:00
group_milestone.rb Restore placeholders in issue filters from "Any" to "Milestone" and "Label" 2015-10-08 23:53:32 -07:00
identity.rb Validate presence of provider field in Identity 2015-06-23 11:21:23 +02:00
issue.rb Re-annotate models 2015-09-06 07:48:48 -07:00
key.rb Only publish ssh key-type and key 2015-08-04 14:33:18 +02:00
label.rb Restore placeholders in issue filters from "Any" to "Milestone" and "Label" 2015-10-08 23:53:32 -07:00
label_link.rb Annotate models 2014-08-25 12:25:02 +03:00
member.rb Re-annotate models 2015-05-03 13:38:27 -07:00
merge_request.rb merge_request: add work_in_progress to MR hooks 2015-10-08 16:37:04 -04:00
merge_request_diff.rb Fix rubocop warnings in app 2015-10-03 00:56:37 -05:00
milestone.rb Restore placeholders in issue filters from "Any" to "Milestone" and "Label" 2015-10-08 23:53:32 -07:00
namespace.rb Fix: Images cannot show when projects' path was changed 2015-10-14 18:50:35 +03:00
note.rb Eager load project associations for notes 2015-10-15 12:05:01 +02:00
notification.rb Added Global to the drop downs and updated the label of the button to show the current level instead of `Notifications` 2015-09-16 19:46:24 -05:00
personal_snippet.rb annotate 2014-10-09 18:22:20 +03:00
project.rb Fix: Images cannot show when projects' path was changed 2015-10-14 18:50:35 +03:00
project_import_data.rb Re-annotate models 2015-05-03 13:38:27 -07:00
project_snippet.rb annotate 2014-10-09 18:22:20 +03:00
project_team.rb Improve ProjectTeam#max_member_access performance 2015-10-15 12:05:01 +02:00
project_wiki.rb Use .md as extention for wiki pages 2015-05-26 18:12:46 +02:00
protected_branch.rb Use project.commit convenience method. 2015-04-24 12:29:36 +02:00
repository.rb Add directory feature button 2015-10-07 04:22:55 -07:00
security_event.rb Re-annotate models 2015-08-03 01:52:54 +09:00
sent_notification.rb Merge branch 'master' into rename-reply-by-email 2015-09-21 10:35:56 +02:00
service.rb Invalidate stored service password if the endpoint URL is changed 2015-10-12 13:21:57 +03:00
snippet.rb Make snippet filename optional. 2015-06-20 01:06:57 +02:00
subscription.rb tests 2015-03-16 21:38:41 +02:00
tree.rb Rename MarkdownHelper to MarkupHelper 2015-05-18 22:51:56 +02:00
user.rb Merge branch 'user-preferences-layout-option' of https://github.com/gopeter/gitlabhq into gopeter-user-preferences-layout-option 2015-10-05 20:14:32 +02:00
users_star_project.rb Annotate models 2014-08-25 12:25:02 +03:00
wiki_page.rb Fix dots in Wiki slug causing errors 2015-03-21 18:33:51 -07:00