Software is becoming increasingly complicated, with non-core background features slowing operations down by as much as 1,000%, according to researchers.

However, a team from North Carolina State University has found a way to eradicate most of the inefficiencies, by taking advantage of multicore processing.
Normally, meta-functions - which enhance stability or security without contributing directly to the purpose of an app - have to run on the same cores as the main software code, but that could be set to change.
“These safety features – or meta-functions – can slow a program down so much that software developers will often leave them out entirely,” said Dr James Tuck, an assistant professor of electrical and computer engineering at NC State.
“Leaving out those features can mean that you don’t identify a problem as soon as you could or should, which can be important – particularly if it’s a problem that puts your system at risk from attack.”
Tuck's tool splits out the background operations to run on a separate core. While that may sound an obvious solution, it's been difficult to practically manage without replicating code, which is time consuming and consumes power, the researchers said.
However, Tuck's tool automates the process, so no reprogramming is necessary to allow background work be done on so-called "helper threads".
“To give you some idea of the problem, we saw the application we were testing being slowed down by approximately 580%,” Tuck says. “Utilising our software tool, we were able to incorporate safety meta-functions, while only slowing the program down by approximately 25%. That’s a huge difference.”
He said an open-source version of the tool would be released this spring.