Software Factory Speeds up Ruby on Rails

Software Factory, the experimental R&D laboratory at the University of Helsinki, successfully continues its open source collaboration with the software industry, open source community, and leading universities like Stanford University and MIT.

Experiencing Real Work Life in the Software Factory

The Software Factory provides an environment for research and education in software engineering, and that was established by the Department of Computer Science at the University of Helsinki and is operated by the Software Systems Engineering Research Group. Since the first project in 2010, the Software Factory has been used as a platform for teaching software engineering in close collaboration with industry. The goal is to provide students with a realistic environment in which to integrate previous knowledge of computer science and software engineering with experiential insights about conducting real software projects. Close customer involvement, intensive teamwork, and the use of modern software development tools and processes add realism and working life relevance for the students.

Learning from an Experienced Mentor

One Software Factory student team is currently contributing to the Ruby on Rails web framework. Rails is used by many websites, including Twitter, Hulu, and GitHub. GitHub also hosts the code for the Rails project and many other open source projects. The student team has the pleasure of being mentored by Rails core developer Aaron Patterson. During the project experience, students learn important skills for communicating and collaborating in distributed software development environments. The involvement of an experienced mentor has been very beneficial for both the project goals as well as the educational learning goals. Students have been working on the Active Record database access component. Active Record is an object-relational mapper that allows for abstracting an underlying relational database and working with the data in a high-level Ruby syntax. Using Active Record, developers can access and process data using interfaces that are similar to other parts of the application code. Thus developers do not need to write database queries directly.

Speeding up Ruby on Rails

The project has now reached an important milestone by implementing a statement cache for Active Record. The statement cache makes Active Record faster by reusing data structures that would otherwise be re-generated on each database query. This improvement paves the way for faster database access in all Rails applications, since the new code is executed every time a database query is performed. Further improvements are planned with more expressive query construction that allows the use of parameters in the cache. The ultimate goal is to get closer to native database query performance while still maintaining the expressiveness of Active Record. The new statement cache has been merged into the upcoming release of Ruby on Rails 4.0, which is the next major update to the web framework. Further information can be found here.

 

 

 

 

02.05.2013 - 16:51 Jürgen Münch
24.04.2013 - 13:19 Jürgen Münch