lumirth / comments

A utteranc.es (or maybe giscus?) comment repository for mirth.cc
0 stars 0 forks source link

work/warlock/ #2

Open utterances-bot opened 1 year ago

utterances-bot commented 1 year ago

COURSE WARLOCK

A course search engine supercharged with professor ratings and GPA data. (Source code)

https://mirth.cc/work/warlock/

lumirth commented 1 year ago

The full write-up for this is delayed because I’m currently in the process of rebuilding and restructuring the application with Rust! It remains to be seen how much of the app will be rebuilt with Rust, or whether it’ll make it to production at all. I’ve seen a lot of promising performance improvements that make me excited to try.

For one example, a slow, data-intensive operation that used to be used in early development versions of Course Warlock would take 20 seconds in Python. The fastest possible speed, in preferable network conditions, would be 2 seconds. The Rust implementation of that same operation took only 3 seconds—turning 18 seconds of overhead into 1. Which is a huge improvement.

My goal with the next version of Course Warlock is to increase performance and improve maintainability. I’m also looking at offloading operations from the server-side to make the server more capable of serving greater loads. The goal is to ensure complete functionality even with thousands of users at once, which may be a possibility with the next course registration season. Course Warlock is functional now, sure, but I want to be absolutely confident that it can survive full-force real world use. Switching from Python to Rust is a crucial part of that.

As a final note, if I manage to extract the core functionality (interacting with the university API) into a Rust library, I hope to clean it up and make it publicly available. The university’s API is great in many ways, and frustrating and lacking in others. I’ve had developers express interest in a module that made it easy to interface with the API. If it works, I’ll put it out there for anybody to use.