Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up --- Bug Reports --- Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Upcoming major performance increases in MAME/MESS 0.148u1  (Read 2017 times)

0 Members and 1 Guest are viewing this topic.

krick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1961
  • Last login:Today at 12:38:03 am
  • Gotta have blue hair.
Upcoming major performance increases in MAME/MESS 0.148u1
« on: January 28, 2013, 11:30:34 am »
I noticed this small bit of news over on MAMEWorld that may get some people excited...

http://www.mameworld.info/ubbthreads/showthreaded.php?Number=303299
Quote
we found a "magic fast box" or two in the code this week. Many drivers will be between 2 and 9 times faster starting in u1 and continuing on, which will be huge for lower-end hardware. Watch SVN for "tagmap" commits. (Most of them are for MESS right now since it got audited first, but there are several MAME drivers that could benefit a lot according to the stats Tafoid just ran).
Hantarex Polo 15KHz
Sapphire Radeon HD 7750 2GB (GCN)
GroovyMAME 0.197.017h_d3d9ex
CRT Emudriver & CRT Tools 2.0 beta 13 (Crimson 16.2.1 for GCN cards)
Windows 7 Home Premium 64-bit
Intel Core i7-4790K @ 4.8GHz
ASUS Z87M-PLUS Motherboard

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6568
  • Last login:Today at 03:28:55 am
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #1 on: January 28, 2013, 12:28:22 pm »
This sounds FANTASTIC. I'm definitely going to sync the release of the new builds with u1. I wish SNES is one of the lucky drivers.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead or pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 632
  • Last login:Yesterday at 02:02:10 pm
  • I want to build my own arcade controls!
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #2 on: January 28, 2013, 12:44:57 pm »
awesome! Can't wait!

kourampies

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 61
  • Last login:February 10, 2015, 06:54:55 pm
    • my homepage
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #3 on: January 29, 2013, 02:39:39 am »
This sounds FANTASTIC. I'm definitely going to sync the release of the new builds with u1. I wish SNES is one of the lucky drivers.

Yup, the SNES performance is the only thing stopping me from using groovyUME. Looking forward to that.

krick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1961
  • Last login:Today at 12:38:03 am
  • Gotta have blue hair.
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #4 on: January 29, 2013, 05:33:28 pm »
I haven't seen any "tagmap" commits on the SVN for snes.c yet, but I'm pretty sure that someone will get to it soon since it's a high-profile driver.  It's possible that one of the other developers has it "locked" due to some other uncommitted changes.  By the time version 0.149 rolls around, I'm certain that the tagmap changes will be made to all drivers as the actual code changes seem to be pretty simple to implement.

In case anyone is curious, the general issue is that the way stuff has been coded in MAME up to this point, people have been doing lookups from a tagmap (a kind of hashmap) on the fly whenever they needed to.  The problem is that pulling stuff out of a hashmap is relatively slow, so it's not the kind of thing that you want to be doing in a performance intensive code loop.  From what I can see from looking at the SVN commits, the majority of the lookups are now done once up-front when the driver is initialized and stored in member variables.  Then when the value is needed in a loop, it can be pulled directly from the member variable, which is far faster.  I simplified a little, but that's more or less how it works.

The amount of speed up from these changes depends on how much the driver used to abuse the tagmap lookup method, I assume.
Hantarex Polo 15KHz
Sapphire Radeon HD 7750 2GB (GCN)
GroovyMAME 0.197.017h_d3d9ex
CRT Emudriver & CRT Tools 2.0 beta 13 (Crimson 16.2.1 for GCN cards)
Windows 7 Home Premium 64-bit
Intel Core i7-4790K @ 4.8GHz
ASUS Z87M-PLUS Motherboard

Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #5 on: January 29, 2013, 06:16:44 pm »
the lookups are now done once up-front when the driver is initialized and stored in member variables.  Then when the value is needed in a loop, it can be pulled directly from the member variable, which is far faster.  I simplified a little, but that's more or less how it works.

Hi Krick,

Thanks for explaining. I already wondered what this was all about. Hopefully it'll bring some nice performance increases for the various drivers...

krick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1961
  • Last login:Today at 12:38:03 am
  • Gotta have blue hair.
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #6 on: February 14, 2013, 12:56:30 am »
It looks like the tagmap updates are still ongoing, so some drivers won't be updated until 0.148u2 comes out.
Hantarex Polo 15KHz
Sapphire Radeon HD 7750 2GB (GCN)
GroovyMAME 0.197.017h_d3d9ex
CRT Emudriver & CRT Tools 2.0 beta 13 (Crimson 16.2.1 for GCN cards)
Windows 7 Home Premium 64-bit
Intel Core i7-4790K @ 4.8GHz
ASUS Z87M-PLUS Motherboard

Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #7 on: February 14, 2013, 05:50:23 am »
Indeed. I saw the msx driver got updated after u1, so I just did a test on the speed difference on my machine (Intel 3770K at 4.6Ghz)

Tested with running the game Salamander in MSX2 unthrottled for a minute in demo/attract mode.

Speed before: 2474%
Speed after: 2587%

Which translates to a modest 5% speed increase.

mamenewb100

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 187
  • Last login:September 18, 2016, 04:25:34 am
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #8 on: February 14, 2013, 03:42:02 pm »
Indeed. I saw the msx driver got updated after u1, so I just did a test on the speed difference on my machine (Intel 3770K at 4.6Ghz)

Tested with running the game Salamander in MSX2 unthrottled for a minute in demo/attract mode.

Speed before: 2474%
Speed after: 2587%

Which translates to a modest 5% speed increase.

But you have a really fast processor. Wouldn't slower ones like mine at 2.5 Ghz see bigger increases? The claim of 2-9 times faster seems far fetched but I'm sure each new version of MAME might see slight speed increases.
Life is a Game and we are all being Played.

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 632
  • Last login:Yesterday at 02:02:10 pm
  • I want to build my own arcade controls!
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #9 on: February 14, 2013, 04:21:19 pm »
I don't know from a technical standpoint but there are some games on my setup that would highly benefit from a 5% increase ;)

Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #10 on: February 15, 2013, 03:32:46 am »
But you have a really fast processor. Wouldn't slower ones like mine at 2.5 Ghz see bigger increases? The claim of 2-9 times faster seems far fetched but I'm sure each new version of MAME might see slight speed increases.

Yes, that could be the case, but I wouldn't get your hopes up too much.

It would be nice though if more people could post some "before" and "after" tests for their machines/configs, so that we get a sense of the overall speed increase the tagmap reductions are giving.

yakk11

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 86
  • Last login:May 15, 2019, 01:56:46 pm
Re: Upcoming major performance increases in MAME/MESS 0.148u1
« Reply #11 on: February 16, 2013, 04:33:50 pm »
Looking forward to groovymame 148u1 for windows.   ;D