INTERACT FORUM

More => Old Versions => Media Center 15 (Development Ended) => Topic started by: Matt on September 15, 2010, 11:28:40 pm

Title: NEW: Faster core database engine
Post by: Matt on September 15, 2010, 11:28:40 pm
Media Center 15.0.112 (coming soon) introduces a series of new optimizations to the core media database.

The new system can often make a search (which underpins most everything else) 30% or more faster.  It also improves performance of several other core database routines.

In general, the database is very well optimized so it's not too often we figure out a way to get a big jump in core performance.

To illustrate the performance difference, here are a couple before (v105) and after (v112) comparisons:

Synthetic:  Benchmark 'Database > Search database' (average of two runs)
Before: 2.182s
After: 1.377s
37% faster

Real-world: Searching from the search box typing 'metallica', then 'aerosmith', then 'metallica' (total of all three searches)
Before: 50.77ms
After: 23.64ms
53% faster

Enjoy.

[UPDATE: More optimizations were done since this original post, resulting in more dramatic performance improvements than stated above.  See below for more information.]
Title: Re: NEW: Faster core database engine
Post by: JustinChase on September 16, 2010, 08:10:01 am
Tease!  ;D
Title: Re: NEW: Faster core database engine
Post by: BryanC on September 16, 2010, 10:12:23 am
Geez...Gordon Moore would be proud.
Title: Re: NEW: Faster core database engine
Post by: Vincent Kars on September 16, 2010, 12:56:33 pm
Impressive
Title: Re: NEW: Faster core database engine
Post by: morrison on September 17, 2010, 06:39:22 am
I can't wait )
Title: Re: NEW: Faster core database engine
Post by: JimH on September 17, 2010, 09:20:43 am
It's public now:
http://yabb.jriver.com/interact/index.php?topic=59658.0
Title: Re: NEW: Faster core database engine
Post by: Matt on September 17, 2010, 06:04:30 pm
Coming in build 114:
Faster: Huge speedup to core database -- benchmarks about 12% faster than v113.

I saw almost another 20% speedup on my home machine, on top of the speed improvements mentioned above.

Good stuff.
Title: Re: NEW: Faster core database engine
Post by: JustinChase on September 17, 2010, 08:10:38 pm

In general, the database is very well optimized so it's not too often we figure out a way to get a big jump in core performance.

I guess you spoke too soon :)
Title: Re: NEW: Faster core database engine
Post by: AoXoMoXoA on September 17, 2010, 10:54:14 pm
I'm seeing a very obvious speed improvement overall, cannot wait for 114.
Title: Re: NEW: Faster core database engine
Post by: )p( on September 18, 2010, 03:10:47 am
Great effort....you just gotta love the dedication...especially considering jrmc is already way faster then most of the competition.
Title: Re: NEW: Faster core database engine
Post by: haylo75 on September 23, 2010, 06:50:21 pm
All I can say is "awesome"!  Ok, I can say more than that. :)  I've about 160,000 audio tracks in my collection.  While MC's search engine has always been markedly faster than the competition, I started seeing some appreciable slowdown when my collection edged over 100,000 tracks a few years ago.  The database improvements as of build 113 are significant and much appreciated!  I too am anxious to see what happens with build 114.
Title: Re: NEW: Faster core database engine
Post by: Matt on September 23, 2010, 07:20:51 pm
The dust has mostly settled on the optimizations, and they should be available publicly within a week.

Here's an example of a before and after database benchmark on my home machine:

Build 105:
Quote
Running 'Database' benchmark...
    Create database... 0.525 seconds
    Populate database... 1.783 seconds
    Save database... 0.141 seconds
    Reload database... 0.045 seconds
    Search database... 2.199 seconds
    Sort database... 2.641 seconds
    Group database... 2.067 seconds
Score: 2287

Build 115:
Quote
Running 'Database' benchmark...
    Create database... 0.419 seconds
    Populate database... 1.355 seconds
    Save database... 0.136 seconds
    Reload database... 0.041 seconds
    Search database... 1.346 seconds
    Sort database... 1.343 seconds
    Group database... 1.007 seconds
Score: 3807

In total, that's 66.5% faster.
Title: Re: NEW: Faster core database engine
Post by: BryanC on September 23, 2010, 09:12:11 pm
Nice! I'm curious about the effect these changes will have on theater view drawing. Namely, if I use smartlists for some of my view schemes, would it be better to switch to search lists instead?
Title: Re: NEW: Faster core database engine
Post by: cubanresourceful on September 23, 2010, 09:58:42 pm
The dust has mostly settled on the optimizations, and they should be available publicly within a week.

Here's an example of a before and after database benchmark on my home machine:

Build 105:
Build 115:
In total, that's 66.5% faster.
:o

This is great, my favorite media player is getting faster. :D
Title: Re: NEW: Faster core database engine
Post by: HiFiTubes on September 24, 2010, 11:17:07 pm
Thanks!

Worth mentioning, my lower powered HTPC had been left with paging file disabled when I was playing around with my new SSD.

When I re-enabled the paging file, I saw a DRASTIC improvement in performance, noted when switching views.

thanks again,
hifi
Title: Re: NEW: Faster core database engine
Post by: HiFiTubes on September 26, 2010, 10:37:58 am
Running 'Database' benchmark...
    Create database... 0.756 seconds
    Populate database... 2.870 seconds
    Save database... 0.251 seconds
    Reload database... 0.083 seconds
    Search database... 2.696 seconds
    Sort database... 4.361 seconds
    Group database... 3.197 seconds
Score: 1513

JRMark (version 15.0.113): 1086


=------------------------

Running 'Database' benchmark...
    Create database... 0.582 seconds
    Populate database... 2.215 seconds
    Save database... 0.251 seconds
    Reload database... 0.080 seconds
    Search database... 2.655 seconds
    Sort database... 2.484 seconds
    Group database... 1.439 seconds
Score: 2215

JRMark (version 15.0.118): 1345
Title: Re: NEW: Faster core database engine
Post by: haylo75 on September 29, 2010, 07:29:00 am
I'm a bit late to the game here, though I am seeing significant improvement between builds 113 and 122 on my HTPC.  The search speed difference is very noticeable!

Running 'Database' benchmark...
    Create database... 0.637 seconds
    Populate database... 2.407 seconds
    Save database... 0.200 seconds
    Reload database... 0.111 seconds
    Search database... 1.882 seconds
    Sort database... 3.388 seconds
    Group database... 2.835 seconds
Score: 1876

JRMark (version 15.0.113): 1617

-----

Running 'Database' benchmark...
    Create database... 0.524 seconds
    Populate database... 1.988 seconds
    Save database... 0.179 seconds
    Reload database... 0.067 seconds
    Search database... 1.933 seconds
    Sort database... 1.884 seconds
    Group database... 1.410 seconds
Score: 2693

JRMark (version 15.0.122): 1901
Title: Re: NEW: Faster core database engine
Post by: tcman41 on September 29, 2010, 10:07:23 am
yep, version 122 is pretty dam quick, its awesome!  ;D

TC  :)
Title: Re: NEW: Faster core database engine
Post by: bigmun01 on September 29, 2010, 11:03:55 am
You guys are amazing. I can't believe the constant performance improvements you keep making.
This is really good stuff.
Thanks
Title: Re: NEW: Faster core database engine
Post by: JimH on October 21, 2010, 12:42:08 pm
Discussion was split to Slow import from NAS drive (http://yabb.jriver.com/interact/index.php?topic=60101.0).