gt-cs2110 / cs2110docker

A Docker image containing Ubuntu 22.04 running the tools necessary for Georgia Tech's CS 2110.
2 stars 2 forks source link

Docker (or noVNC) runs too slow. #15

Open TricksterGuy opened 2 years ago

TricksterGuy commented 2 years ago

I discussed this a little with Shawn, but maybe an issue here would get some attention

One of my major gripes with Docker if we are planning on keeping it around is a huge difference in speed around GUI applications. This may be related to #13

This comes up in my rewrite of complx which has a more efficient instruction execution system. I'd rather not have to test this on 4 different platforms (Windows, Ubuntu, Mac, and Docker).

Program runs fine everywhere else, but docker runs at a snails pace.

I'll be willing to help out in whatever way, but I still am of the camp of no GUIs in docker.

I plan on starting work again around thanksgiving, at that time I'll see if I can get a code profiler to see what's causing the lag. I would assume that GUI events are what's causing lag.

If anyone wants to help I can also give instructions and pointers to where the complx2 binaries are.

sameer-s commented 2 years ago

Hey Brandon, I'd be interested in maybe pursuing this for the fall semester (especially since I'd have the whole summer to work on updates to the image). I know Shawn definitely agrees with pulling GUI applications out of Docker and the whole VNC setup is very frustrating for both students and myself.

The big question is: are there any major outstanding issues with complx2/pyLC3 that would prevent us from moving to it (I'd probably want a full build to test with ~July)? If so, is there anything that I can particularly help with?

TricksterGuy commented 2 years ago

Hey, I hadn't been actively working on complx2, having some other issues I'm dealing with right now. Having this ready by fall is going to be a very tall order for me to fill, maybe next spring is doable.

Should mention IIRC all I have is the ability to load files and run instructions in complx2 currently. Nothing else. Most of the work I've done so far has been a complete overhaul of the codebase, adding more unit tests, and completely polishing the code on top on making it cross-platform.

I still have some outstanding bugs found the past two semesters to fix in complx. Then I have to port those fixes to the complx2 repo then I can start work again.

Last I remember I was debugging some weird segfault on the M2 mac I bought specifically for testing on macOS.