Your Digital Media Has Never Looked So Good

 
EnTerr
** Valued Community Member **
Topic Author
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Relative performance of different player models

Sat Jan 11, 2014 1:55 pm

It has been almost 6 years since the first version of Roku player came into existence. There have been changes to the platform, the most significant being switching from MIPS to ARM architecture mid-2011 and a lesser one the change to dual-core ARM (+MHz boost) in Roku3. I could not find discussion on relative performance between different models though. I saw Gandk-Geoff did benchmarks on different BRS features.

I was going over SimpleAnimateSprite code example and since it uses no-wait roMessagePort.GetMessage(), the while gets way loopy while waiting for the time span. Out of curiousity i thought to add a counter and print it every time period (default 1sec) to see how many times it spins between re-draws - and i get about 242,000 loops/sec on Roku3 (5.3.4016). Wow, that's fast. I mean for a BASIC it is, about 4 microseconds per bogo-loop (i figure since that's a bogus benchmark, i will call them bogo-loops to avoid confusion with proper scientific study and animal testing). And so i went running the same on 1st generation (<2200, as exemplified by Roku XD 3.1.1182) and on 2nd generation (3xxx, representative Roku2 XS 5.4.230) players.

1st gen (MIPS, <2200) = ~15.5k bogoloops/s (or ~64 microseconds/bogoloop)
2nd gen (ARM, 3xxx) = ~68k bogoloops/s (~15 usec/bl)
3rd gen (Roku3, 4xxx) = ~242k bogoloops/s (~4 usec/bl)

Mind you the choice of test was arbitrary yet exercises core routines of brightscript (function calls, comparisons, assignments, message fetch and arithmetic). The effect of animation routine is negligible (~2% on the slowest player, easy to check by commenting out redrawing calls) since it happens only once a second.

So speaking back-of-the-napkin calculations and ballpark results, i think we can say BRS code in 2nd generation of players is 4 times faster than 1st and Roku3 is 4x more faster than that. Or: each generation is faster than the previous one by a factor of 4.

Developers, any other observations/bogo-benchmarks?

PS. Update courtesy of @TheEndless:
Roku HD (2500) = ~58k bl/s (~17 µsec/bl)
new Roku 2 (2720) = ~78k bl/s (~13 µsec/bl)
Last edited by EnTerr on Sun Jan 12, 2014 12:28 pm, edited 6 times in total.
 
User avatar
TheEndless
** Valued Community Member **
Posts: 9232
Joined: Mon Oct 04, 2004 10:15 am
Location: US
Contact:

Re: Relative performance of different player models

Sat Jan 11, 2014 2:16 pm

EnTerr wrote:
So speaking back-of-the-napkin calculations and ballpark results, i think we can say BRS code in 2nd generation of players is 4 times faster than 1st and Roku3 is 4x more faster than that. Or: each generation is faster than the previous one by a factor of 4.

Need to pull the new Roku 1 and Roku 2 in there, since they're technically a different generation than the Roku 3. If you don't have one, shoot me a PM with a link to your test and I can run it on a Roku 2 to see what kind of results we get. I have a sneaky suspicion they might actually be a little slower than your 2nd gen result.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
 
EnTerr
** Valued Community Member **
Topic Author
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: Relative performance of different player models

Sun Jan 12, 2014 4:32 pm

With the updated stats seems we have all processors (per wikipedia listing) covered and that models fall in three distinct groups, with performance growing by factor of 4 with each level:
  1. mod# < 2200 (PNX­8935)
  2. 2300 < mod# < 4000 (BCM­2835/BCM­7208/BCM­7218)
  3. mod# > 4000 (BCM­11130)
The grouping should hardly be a surprise. Barely worth mentioning, the new BCM­7218 lineup (2013 LT, Roku 1, Roku 2) is a hair faster than BCM­2835-based 2011 "classic Roku 2" - and the 2012 "Roku LT" and "Roku HD" with BCM­7208 are a hair slower. Where a "hair" is <15%, so never mind.
 
EnTerr
** Valued Community Member **
Topic Author
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: Relative performance of different player models

Wed Apr 02, 2014 5:22 pm

Today I ran some loops on Roku HDMI Stick - and while i don't know for sure the exact CPU inside - it seems to behave just like any other 3xxx model. From BrS developer's point of view, i expect model 3500 "Sugarland" to act in line with the Roku 2 HD/XD/XS base.
 
EnTerr
** Valued Community Member **
Topic Author
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: Relative performance of different player models

Tue May 03, 2016 2:25 am

Update two years later:

New HDMI Stick (ARM, #3600) = 176k bogoloops/s (~6us/bl)

See also in this thread:
Re: Roku 3 vs. Roku Streaming Stick 2016? wrote:
Let me share my experience as a software developer who has tested his code (a single-threaded, graphics-intensive, non-video app in FHD) on the different players:
  • New Roku Stick #3600 is ~2x faster than models 30xx/31xx/35xx (2XD/2XS/old stick)
  • #3600 is ~2x slower than Roku 3 (42xx); make that ~2.3x for a Roku 4
  • FTV stick (#AFTM) is about as fast as a Roku 3
I measured "soft reboot" time of new stick vs old stick, and it takes approximately 26 vs 48 seconds, almost twice as fast.

TLDNR: The new stick performs somewhere in between Roku 3 and Roku 2XS for "classic" code.
 
User avatar
Komag
Posts: 677
Joined: Fri Aug 22, 2014 3:42 am

Re: Relative performance of different player models

Tue May 03, 2016 4:19 am

That's very helpful to know, thanks 8)

Who is online

Users browsing this forum: No registered users and 3 guests