Tips for Optimizing MOMO Pro Performance

Its no surprise that web apps are becoming more and more loaded with features and MOMO Pro is no exception. With multiple components, data feeds and algorithms; MOMO Pro needs its share of memory and CPU to perform as intended. If looking to optimize your trading platform, the following sections should get you started and provide at least a 15% performance improvement.

The Basics

Here are a few easy things you can do to keep your trading station in top shape:

  • Run MOMO Pro as a PWA - A PWA is not only more efficient, but it looks better without URL bars and browser borders. (Installation Details)
  • Close unused apps and tabs from task manager (Windows) or Activity Monitor (MacOS).
  • Periodically delete cache & site data for momo.mometic.com. Click settings icon on left of URL and go to "Cookies and site data". After selecting navigate to delete momo.mometic.com data. (You will be required to log back in.)

We also recommend a well configured and current computer. Typically less than 3 to 4 years old. We've encountered people who use their computers to spreadsheets and stream Netflix who's computers struggle to keep up with aging brokerage platforms and MOMO Pro streaming data needs. Yes, the streamed MOMO Pro data is less bandwidth, but the interactions, concurrent feeds, and lack of buffering found in video streaming can expose struggling computers.

Minimum Suggested Hardware

Here are our minimum devices specifications for a trading platform.

  • MacOS: Macbook Pro or equivalent M1 Pro or M2 with 16GB.
  • Windows: i7 3GHZ or higher with 32GB of Memory

New ARM-based CPU's with Apple Silicon are much more memory efficient and can run with less RAM than Windows. This doesn't mean they should be unmanaged with tabs and apps in background. Windows machines are very economical to add memory and should add 32GB or more as it is very affordable to do so (typically from $85–$150). Keep in mind these are minimums, I've never encountered any trader who wasn't very satisfied with buying a premium spec'd computer.

MOMO Pro Setup

Toggle unused components off in top menu bar. If locked then unlock with the layout manager then disable. Unused components will move to the "More" folder

Adding a second Discovery (2) window, Flow and such just adds to the work your computer needs to do. A second Discovery screen requires significant resources so keep that in mind if your computer is not up to date.

Disable voice notifications (X) if computer is low on resources

As noted in the settings small text, you should disable audio alerts. Muting is not the same, so go into voice settings and remove voice assignments to improve performance.

Browser Configuration Tweaks

Chrome is the de facto standard and most of the browsers available today are based on the underlying engine (Chromium). While we work on others we primarily support Chrome, Safari, and Edge. Firefox works fine, but occasionally people have non-standard settings and plug-ins which makes it unpredictable.

There are a few things you can do to tweak your browser performance. These tweaks are mostly reliable, but you should consider taking a screenshot of your settings to revert if needed.

We spent some time going through the various chrome flags and such to refine and while they can't magically make up for missing hardware, they can make a 15% or more improvement depending on your setup.

Check and verify hardware acceleration is enabled in chrome (enabled by default but worth checking). Go to Chrome's settings, navigate to the System section, and toggle the switch for this option.

You can override and force in chrome://flags well with Override software rendering list.

  • Locate the section on that page called Override software rendering list.
  • Change the Disabled option to Enabled.

You will want to relaunch and test to compare. (As you will want with all these configurations

This command shows you all the current GPU settings chrome://gpu/ and will look something like what's shown below.

chrome://gpu/ results

There are also other tweaks you can enable as well.

  • You can enable the "Parallel downloading" flag at the URL chrome://flags/#enable-parallel-downloading, which can help with streaming performance.
Parallel downloading flag
  • Recent builds of Chrome (and V8) have introduced significant performance improvements, including faster JavaScript execution, reduced memory usage, and better WebAssembly support these are all important to MOMO Pro
    • Features like SparkplugPointer Compression, and Concurrent Marking contribute to these gains.
  • Experimental JavaScript features (e.g., Records and TuplesPipeline Operator) can also improve performance in specific scenarios.

After various attempts I settled on the following which provided improved usability as well as improved test results. All can be searched within the Flags settings page.

Browser Configuration Tweak Results

Running Speedometer gave the above results when using latest Chrome without the 3 Web Assembly options. Not great, but some visible gains which could seemed to improve responsiveness of MOMO Pro as well.

I then enabled the 3 Web Assembly options for a slightly improved score.

Almost a 20% browser improvement from enabling Web Assembly flags.

I was more hopeful, but gains are gains and then Google suggested I try the Chrome Dev version. It's not a production release, but for most uses it is stable. That improved the score to 31.4, the highest yet.

To confirm the test results I compared the production Chrome release with Chrome Dev on JetStream benchmark. The Chrome Dev also scored better on it with a score of 291.897 where the production version was a 263.279 as shown by the quick screen grabs below.

Jetstream Score with Chrome Dev build
Jetstream Score with Chrome Production Build

Try for Yourself!

To confirm the test results I compared the production Chrome release with Chrome Dev enabling the flags mentioned above. These browser benchmarking tools can help you evaluate your device and assess the changes. If you find something that I missed, don't be a stranger - please share with us!

Here are the links to the test suites I used. Speedometer 3.0 measures the responsiveness of web applications, simulating real-world user interactions like adding to-do items or navigating a website. JetStream 2, on the other hand, focuses on the performance of JavaScript and WebAssembly, which are basis for advanced web apps including MOMO Pro.

Speedometer 3.0
JetStream 2.2

Update:

Came across another Javascript benchmark which confirms the improved performance of Chrome Dev on MacOS albeit small. This benchmark is available here: https://mozilla.github.io/krakenbenchmark.mozilla.org/

Javascript Performance with production Chrome with flags set
Improved Javascript Performance with Kraken benchmark on Chrome Dev with flags set

Find other tweaks which work? Have feedback? Send it to us at hello@mometic.com

Team @ Mometic