January 1, 2021

The Cycle Gap

 

 
The figure above shows the progress of the speed of computer processors and human brains during the last 40 years. It is reasonable to say that computers have become 10,000 times faster during this period. And human brains have remained the same.
 
We can say that a processor cycle is 10,000 times cheaper then in 1980 while a "brain cycle" costs the same. Because of this, most software code today is not optimized to save processor cycles, but rather to save brain cycles of the developers. The development cost of software is typically much higher than the cost of running the software (energy, hardware). So, in general, we do not optimize code for computers anymore, but for the human authors of it.

With the increasing cycle gap, programming languages have evolved to save brain-cycles, at the expense of computer cycles. However, when it comes to embedded programming for resource-constrained devices, the C language is still the king of the hill. It was developed in the 1970s! Very successful, but hardly the most productive language to program in. Perhaps now it is finally time for a change. I have been reading up on Rust and how it works. It certainly sounds good. It is popular. And I really like the memory model.

Will it have a chance to compete with C for embedded? Well, well. Rust is in many ways technically superior. However, C has such robust support, so many compatible tools and a vast amount of available code that can be reused. C is clearly defined (has a spec) and has multiple implementations and is very stable. A clear advantage of C is that APIs and example code for embedded processors are typically written in C, not Rust or anything else.

If vendors of embedded processors would ship with example code and APIs in Rust, instead of C, then Rust would win! However, as the situation is now, I don't dare to predict the future. Being technically superior is not enough. However, I would love to see a more modern language that will really compete with C. Also in the embedded world.

2 comments:

  1. All of the slot machines have adjoining over-sized, luxurious chairs and have been positioned on an extra-side, spacious base to include a storage cupboard and cellphone stand full with USB charging ports. The Fortune Blast function may make you our next huge jackpot winner when you play Imperial Luck! Players may even enjoy the Choose Your Fortune Bonus and the 243 ways to win on this thrilling sport. One video showed a man continuing to gamble at a on line casino slot machine whereas water fell round him. Choose from over forty free games from main providers 바카라사이트 like NetEnt and Betsoft right right here. Aaron Walsh, an Army Apache pilot, misplaced $20,000 to the Army's slot machines in South Korea, resigned to avoid a court docket martial and ultimately committed suicide.

    ReplyDelete
  2. ECOGRA is the word on responsible gambling and protects gamers in opposition to unfair practices. Before selecting an internet gambling website, we strongly recommend you sift via the promotions part of their webpage for more particular data, particularly for the live casino bonuses. Live casinos are completely legit – only if they have correct licensing. They can be utilized 1xbet to play casino classics like roulette and blackjack with actual human sellers and tables. They use state-of-the-art streaming technology to convey you the most practical casino experience potential from personal home}.

    ReplyDelete