On Gear Live: Apple Watch announced, available early 2015 for $349

Thursday October 13, 2011 4:20 pm

Why the TiVo Elite is so much faster than the TiVo Premiere

Posted by Andru Edwards - Categories: Features, HDTV, Home Entertainment

TiVo Premiere Elite

The TiVo Premiere Elite was released this week, and many have been wondering if the only changes are the addition of a couple of tuners, and more hard drive space. Well, as it turns out, one immediately noticeable difference is just how fast the Elite is when compared to the non-Elite TiVo Premiere. In fact, it boots up in half the time, and you can move through the menus virtually lag-free. A thread on the TiVo Community forum goes into detail on what we know about the Elite so far:

  • Newer 14.9 software (instead of 14.8)
  • Newer kernel revision 2.6.18 buildmaster93 (instead of buildmaster64)
  • Newer GCC 4.2.0 compiler used (instead of 3.3.4)
  • 1024 MB of RAM (instead of 512 MB)
  • SMP support enabled during boot process (instead of ?)
  • Quad Tuner support (instead of dual cable & dual OTA)

After the break, we've got the full breakdown of what each of those changes means, and how they make the Elite a powerful and worthwhile beast. If you're interested, you can pick up the TiVo Premiere Elite now on Amazon.

Newer 14.9 software (instead of 14.8)
The software version is really the overall container of features. A new version could contain a new kernel, updated support libs, newer UI code, etc. Some of the data is exposed to us in the form of version #s but is typically internal to TiVo what exactly has changed. What we know exists in this version is new UI code, a newer kernel build (not to be confused with a new kernel version), MoCA support, and Quad Tuner support.

Of note library wise Flash Player Version: mainline3/2011.07.06.0601 & HD Menu Software Version:1-9/2011.08.31-1134 show fairly new revision dates compared to a non-Elite Premiere with Flash Player Version: 14-8-mr/2011.02.24-0601 & HD Menu Software Version: 1-8/2011.04.08-1413. Any advances in these could provide significantly greater UI performance features. In relation to boot times if the core files have been optimized to use SMP as well as the larger memory space then load times at the end of the post BIOS pre-OS could be reduced.

Newer kernel revision 2.6.18 buildmaster93 (instead of buildmaster64)
The latest 14.9 release includes a more recent kernel build. This is not to be confused with a new version of the kernel. The non-Elite & Elite both run 2.6.18 so there are no new features added at the kernel level between these two versions. However newer builds of the same kernel version indicate bug fixes and performance enhancements to the system as it currently exists. The kernel is where the enable/disable of SMP (multiple cores) is defined and controlled so any resolutions here could have provided the ability to enable features already planned or prevent issues that were causing problems.

Newer GCC 4.2.0 compiler used (instead of 3.3.4)
This to me is really the most important of software level changes. The GCC 3.3.4 compiler was built in May 2004 where 4.2.0 was built in May 2007 (of note GCC 4.2.1 was what Android was being built against until late last year). The compiler takes the code you've written and translates it into the machine code your device will run. Besides dealing with your own bugs and performance issues, compiler level fixes and performance gains can provide impressive results. The various GCC versions between these sets have all produced significant performance enhancement features along with improved debugging and tracing. In terms of SMP support as well your compiler needs to properly understand certain ways of writing code to be much more SMP friendly. These newer tools can provide a very significant performance boost to SMP code as well as may have been instrumental in finally solving the SMP issues TiVo has been plagued with. As with moving to newer kernel versions moving to newer GCC versions can allow the removal of legacy components providing more efficient CPU cycle usage and memory usage.

1024 MB of RAM (instead of 512 MB)
As with PCs the more RAM you have in general the better your performance. However doubling the system RAM will not provide a doubling in performance. It does however prevent items being loaded and then pushed out of RAM to make room for new items being loaded. This type of behavior is extremely detrimental to a SQL type application which is what the heart of a TiVo's guide data and recording systems are stored in. Providing the ability to load these into memory and keep them loaded would provide an impressive performance gain in relation to tasks accessing it like scheduling, editing, listing, etc. From digging in the code of the previous 512 MB devices only a portion of the RAM is dedicated to the tuners, and it was less than 256 MB if I recall correctly meaning the Elite if they doubled the tuner memory would still allow for a doubling of RAM for the OS.

The most important aspect of more RAM becomes apparent with the enabling of SMP. The problem with running multiple concurrent processes is that you need to feed them or they starve and stall in action waiting for data. For an SMP system to function optimally it really needs more RAM and faster RAM than a single threaded core. The cores also need extra space in order to share data between each other as well for communication and data sharing.

SMP support enabled during boot process (instead of ?)
Threading is the beast & the beauty of performance improvements. The beauty of threading is if you can successfully thread an application set and then provide it an SMP environment you can see up to a 50% improvement in speed by running two instances. However the beast of threading comes in the form of debugging and capability. Once you break from one thread doing everything you've more than doubled the complexity of programming and debugging the issues that arise with your code. An improperly developed system can actually see a performance decrease from running on a multiple core platform as certain aspects become faulty due to unfound bugs.

If the SMP functionality has truly been enabled at the kernel level finally then this could very well provide along with additional RAM the ability to provide performance boosts in lots of regions. At boot time the ability to process multiple starting services (this kernel does not support asynchronous device loading though) greatly decreasing system loads. Under system load the ability to run UI threads and SQL threads simultaneously could provide significant UI enhancement as data is immediately available instead of in seconds or 10s of seconds.

Quad Tuner support (instead of dual cable & dual OTA)
The support for Quad tuners allows for the removal of OTA tuner support. Depending on how long the initialization portion is for this hardware you can see a benefit from its removal. As the loading of only one driver set for two cable tuners may provide a slight benefit. It does allow the removal of the OTA drivers from memory as well.

Latest Gear Live Videos



Commenting is not available in this weblog entry.