GitHub Classroom gets a reliability and performance boost
GitHub Classroom is more efficient and reliable than ever before with performance improvements.
![](https://github.blog/wp-content/uploads/2019/08/github-classroom-1200-630.png?resize=1200%2C630)
Nearly 20,000 teachers use GitHub Classroom to manage coding assignments and automate repository creation, especially for distributing starter code to each of their students. But the starter code replication feature was slow and unreliable—taking 15 seconds, on average, per repository and failing five percent of the time. This meant that the creation process would likely get stuck at least once for teachers with a class size of 20 students.
Fixing GitHub Classroom’s long-standing problem
Replicating starter code is one of GitHub Classroom’s key features. Unfortunately, it was unreliable and sluggish, leading to a long-standing source of frustration for teachers. After some research, two of GitHub’s 2019 summer interns, Eric Pickup and Shaunak Pagnis, found a promising solution using template repositories. Template repositories are a built-in feature that allows you to create new repositories using another as a template. It works perfectly with GitHub Classroom since a teacher’s starter code acts as a template.
Eric and Shaunak shipped this feature to the entire GitHub Classroom community earlier this month just as teachers were setting up for the start of school. Now, when teachers create an assignment with starter code, there’s an option to import using a template repository.
Results
Since its release, over 10,000 assignment repositories have been created with template repositories. We’ve seen the success rate improve from 95 to 99.9 percent, and repository creation times decrease from 15 to two and a half seconds on average. We’ve already seen the community’s appreciation for this improvement.
“Classroom used to have occasional problems with its cloning process, where it would sometimes hang or leave an empty repository. I’m thrilled that the new Classroom is ready to go, and just in time with classes starting next week. This should substantially remove the headaches we used to have getting students started on new assignments.”
— Dan Wallach, Professor at Rice University
Request a feature
GitHub Classroom is open source, and you can watch development, make feature requests, or implement changes yourself from our repository. Check out our roadmap to learn more about the future of Classroom. For more information about template repositories, visit our help documentation.
Learn more about GitHub Classroom
Written by
Related posts
![](https://github.blog/wp-content/uploads/2023/09/screencapture-innovationgraph-github-2023-09-20-15_44_54-1.png?resize=400%2C212)
How researchers are using GitHub Innovation Graph data to estimate the impact of ChatGPT
An interview with economic researchers who are applying causal inference techniques to analyze the effect of generative AI tools on software development activity.
![](https://github.blog/wp-content/uploads/2024/01/Enterprise-DarkMode-1.png?resize=400%2C212)
GitHub Availability Report: June 2024
In June, we experienced two incidents that resulted in degraded performance across GitHub services.
![](https://github.blog/wp-content/uploads/2024/06/AI-DarkMode-4.png?resize=400%2C212)
Advancing responsible practices for open source AI
Outcomes from the Partnership on AI and GitHub workshop.