ComputerScienceHouse / ComputerScienceHouse/conditional

Minify HTML to Reduce Load time and Data

Open
#170 3 comments 0 reactions 0 assignees View on GitHub
discussion needed enhancement
Dominant language
Python
Stars
12
Forks
39
Avg merge
1d 13h
Merged PRs (30d)
1

Description

# Why?
Currently the HTML returned from conditional is large and riddled with blank newlines. In fact if you go to `/spring_evals` the page request is 403 kb! This affects load time, and can affect users data usage when visiting the page on mobile data. Conditional is slow, mostly because of the LDAP calls, but we can make an effort to reduce load times on the client when possible.

# The Fix
We can use a library called [flask-optimize](https://github.com/sunary/flask-optimize) to deal with this at each request. When attaching it to that same `spring_evals` route, it was reduced from 403 kb to 9.5kb and load time was reduced by a full 6 seconds!

# Downsides
We add a new dependency, and may have to deal with adding a few ` `s. Honestly minimal imo

# Okay, so just fix it
I will. As soon as #169 is merged. It's a separate change and I don't want to group them together. There's also a chance for a conflict if I submit a second PR. I'll just wait for the sake of avoiding such conflicts

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the `/spring_evals` route and review the status of #169 before changing anything, since the issue author intended to wait for it. Evaluate the flask-optimize integration there, checking that the response remains correct and that its size and load time improve from the reported 403 KB and six-second baseline.

Written by the indexing model from the issue text.

Assessment

Tech stack
flask, python
Domain
backend, performance
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.