On Fri, 2018-08-10 at 18:00 +1000, Stewart Smith wrote: > e.g. a 10 comment patch goes from 26 queries in 17-20ms down to 20 > queries in 12ms. > > A 67 comment cover letter goes from 14 queries in 16ms down to 8 queries > in 8ms. > > So, effectively, a near 2x perf improvement. > > Previously, at several points we were asking for the latest series and > then asking for all the series. Since there just usually aren't *that* > many series, fetch them all and take the first one if we need to. > > Signed-off-by: Stewart Smith <stew...@linux.ibm.com>
Another "don't do stuff like this in templates" example. This one also makes sense to me and definitely improves performance. Reviewed-by: Stephen Finucane <step...@that.guru> Stephen > --- > patchwork/templates/patchwork/submission.html | 10 +++++----- > patchwork/views/cover.py | 2 +- > patchwork/views/patch.py | 1 + > 3 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/patchwork/templates/patchwork/submission.html > b/patchwork/templates/patchwork/submission.html > index 2f69735d6925..3b6f9fbe909e 100644 > --- a/patchwork/templates/patchwork/submission.html > +++ b/patchwork/templates/patchwork/submission.html > @@ -64,15 +64,15 @@ function toggle_div(link_id, headers_id) > </div> > </td> > </tr> > -{% if submission.latest_series %} > +{% if submission.all_series %} > <tr> > <th>Series</th> > <td> > <div class="patchrelations"> > <ul> > - {% for series in submission.series.all %} > + {% for series in all_series %} > <li> > - {% if series == submission.latest_series %} > + {% if forloop.first %} > {{ series }} > {% else %} > <a href="{% url 'patch-list' project_id=project.linkname %}?series={{ > series.id }}"> > @@ -93,7 +93,7 @@ function toggle_div(link_id, headers_id) > >show</a> > <div id="patchrelations" class="patchrelations" style="display:none;"> > <ul> > - {% with submission.latest_series.cover_letter as cover %} > + {% with all_series.cover_letter as cover %} > <li> > {% if cover %} > {% if cover == submission %} > @@ -106,7 +106,7 @@ function toggle_div(link_id, headers_id) > {% endif %} > </li> > {% endwith %} > - {% for sibling in submission.latest_series.patches.all %} > + {% for sibling in all_series.patches.all %} > <li> > {% if sibling == submission %} > {{ sibling.name|default:"[no subject]"|truncatechars:100 }} > diff --git a/patchwork/views/cover.py b/patchwork/views/cover.py > index edad90bc694d..1ee2b3f988fa 100644 > --- a/patchwork/views/cover.py > +++ b/patchwork/views/cover.py > @@ -49,7 +49,7 @@ def cover_detail(request, cover_id): > comments = comments.select_related('submitter') > comments = comments.only('submitter','date','id','content','submission') > context['comments'] = comments > - > + context['all_series'] = cover.series.all().order_by('-date') > return render_to_response('patchwork/submission.html', context) > > > diff --git a/patchwork/views/patch.py b/patchwork/views/patch.py > index f43fbecd9a4d..e1d0cdcfcf39 100644 > --- a/patchwork/views/patch.py > +++ b/patchwork/views/patch.py > @@ -118,6 +118,7 @@ def patch_detail(request, patch_id): > comments = comments.select_related('submitter') > comments = comments.only('submitter','date','id','content','submission') > > + context['all_series'] = patch.series.all().order_by('-date') > context['comments'] = comments > context['submission'] = patch > context['patchform'] = form _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork