Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to include django-table2 in pretalx.
Status
The proposal list has been replaced with a feature-complete equivalent table using django-table-2, except that the changed code does not as yet respect pagination page size from urlparams. Queries have increased by a constant amount to permit links to submission types (which we didn't have previously).
Performance
Rendering tables with django-table2 seems to be noticeably slower than running through our previous giant template. More so in
DEBUG
mode (as templates aren't cached then, and we're using more templates), but even inDEBUG=False
, there seems to be a significant penalty:I tried to attach py-spy, and can't spot anything obvious in the block belonging to
django-table2
(svg attached).SVG behind the fold
With a performance penalty like this, I'm against using
django-table2
despite the obvious benefits in maintainable code, especially as larger pages seem to be hit disproportionately, and our review dashboard is an unpaginated page of all proposals. (Of course, once we have decent bulk editing, we can paginate or lazy-load there, it's not like we're out of solutions, but still).I still want to see perf penalties on the big review dashboard, and then I'll decide what to do.
Todo