Skip to main content

Bookmap Performance FAQ

When I enter a symbol in Bookmap, why does it keep connecting?

The symbol might not be recognized. The reasons could be: an expired contract, incorrect symbol syntax, or a missing data subscription for that symbol. Please check our detailed video guide for adding symbols in Bookmap here.

Why does Bookmap take a long time to connect or not connect at all?

There could be routing issues or certain data sources can experience difficulties. While the solution is waiting for the data source or ISP to address the problem, an alternative is selecting a different connection point, if the data source provides such an option. You can find the connection points if you go under Connections > uncheck the box for the relevant connection and again under Connections > configure > connection of your choice. For Rithmic for example you have to change the Gateway to the second one closest to you geographically and so on.

For example, with Rithmic, trying a connection to Europe or the US (even if distant), might reroute the traffic, potentially bypassing some routing problems or issues if those are not affecting all data centers.

screenshot

Why does Bookmap become slower over time?

Begin by removing all external indicators and then restart Bookmap. Some indicators might be storing excessive data in the java heap, which triggers frequent garbage collection. Note for developers: Storing large data sets in RAM is not recommended. If you want to save a copy of all incoming data for further processing, ensure you save it on a disk and not in RAM.

**Why is my market data lagging in Bookmap?

If your timeline matches you system clock but data is delayed, the issue might be with data reception. Ensure you’re connected to the nearest connection point and check the stability of your internet connection. As a last resort, consider unsubscribing from some instruments, but this only avoids the problem (does not solve it).

If the timeline in Bookmap is behind your system clock and moves inconsistently, the issue is likely with the Bookmap process. Start by removing all external indicators and then restart Bookmap. If the issue persists, reach out to Bookmap support at support@bookmap.com

I’m experiencing data lag with Rithmic on Bookmap. What could be the cause?

When using Rithmic, a warning appears if data lags before Bookmap processes it. This typically suggests issues with your internet connection or with R Trader when it's active.

Rithmic operates on a single TCP connection for data reception, making it highly sensitive to package loss. Factors such as an unstable connection, WiFi interference, or even a problematic route between you and the gateway can impact data reception. While you might have a high-speed internet, it doesn't assure low packet loss. For instance, you could have a 1GBit connection but still face 0.1-1% package loss.

A quick workaround is to connect directly to a close gateway without using R Trader. If this method is effective, you can then try switching back to plugin mode, but select a different gateway in R Trader.

Why does NinjaTrader lag when using Bookmap indicators, and how can I optimize both platforms?

When using Bookmap indicators on NinjaTrader, it's crucial to ensure that both applications operate with the same priority settings. This ensures balanced resource allocation between the two. Here's what you can do:

  1. Check the priority settings for both Bookmap and NinjaTrader. It’s advisable to set both at the "Normal" priority level. This is the default priority set by Windows OS.
  2. If Bookmap has a higher priority than NinjaTrader, this could explain the lag you're experiencing in NinjaTrader.
  3. If you've previously adjusted these priority settings manually, resetting them might solve the issue.
  4. If after adjusting these settings, the problem persists, please contact our tech support team for further assistance. They will guide you through additional troubleshooting steps.

Why am I experiencing lag in data, even when both Bookmap and NinjaTrader are set to "Normal" priority?

If you've ensured that both Bookmap and NinjaTrader are set to "Normal" priority and you're still facing lag issues, especially during high market activity, here are a few troubleshooting steps to consider:

  • From Bookmap 7 onwards, the application is identified in the Task Manager as "bookmap.exe" instead of the earlier "java.exe".
  • Some Antivirus software, specifically features like host intrusion prevention systems or sandboxes, might interfere with the smooth functioning of the applications. Try disabling your antivirus temporarily to see if it solves the issue.
  • If you're using NT7, consider upgrading to NT8. NinjaTrader 8 processes indicators in a different thread than the user interface, potentially preventing UI freezes during data spikes.
  • NinjaTrader doesn't have a standard API for communication with other processes. It's primarily designed for internal indicators. When you add a Bookmap indicator to NinjaTrader, it communicates with Bookmap through Windows' interprocess communication protocol. Although it's relatively fast, this method might not be as efficient as direct connections. Sometimes, antiviruses can slow down or block this interprocess communication.
  • If none of the above solutions work, please reach out to Bookmap support and consider scheduling a remote desktop support session.

Why does the C:\Bookmap\Cache\ folder accumulate up to 50 GB of data by day's end?

The growth of the cache folder to 50 GB or more by the end of a trading day is a standard occurrence, and here's why:

  1. The bulk of market data, approximately 90-97%, comprises market depth updates or order book information. The remaining data relates to trades. This significance of market depth updates underscores its importance in market analysis. However, the sheer volume of this data presents technical challenges.
  2. Many trading charts out there primarily handle aggregated trades data represented as candlesticks. Even when these charts show Depth of Market (DOM), they typically only handle the current snapshot of the market depth data.
  3. A Bookmap chart might store millions of market data events. Displaying this data smoothly in real-time and ensuring the chart remains interactive and responsive pose technological hurdles. Considering the vastness of this data, storing it all in RAM isn't feasible.
  4. To efficiently manage this data, Bookmap has developed a proprietary database and data structure that leverages both RAM and the computer's hard drive. The Bookmap\Cache folder contains the hard drive component of this data. As a result, this folder can naturally expand to several gigabytes. A rough estimate for the size of this structure is about 1KiB per every data event received.
  5. This unique data structure is finely-tuned to ensure rapid access, whether you're using a SSD or a HD). SSDs offer a speedier experience.
  6. If you want to move the cache to a different location, like another disk, you'd need to reinstall Bookmap and choose a new installation destination. To retain all your settings, replace all contents of the default Bookmap folder (C:\Bookmap). Ensure you save your workspace and then open it in the new Bookmap installation.

How should I optimize my Bookmap installation with an SSD drive?

There are two main folders which Bookmap creates during installation. Users can change the default location.

  • Installation folder. By default: C:\Program Files\Bookmap\
  • User folder. By default: C:\Bookmap

From the performance point of view, it doesn't really matter on which drive Installation folder is. But if there is enough space on the SSD drive, it’s recommended to install the User folder on it because this is where market data is maintained by Bookmap and SSD is faster than HDD.

How does Bookmap manage its memory or RAM consumption?

Bookmap maintains large amounts of market data. Though a significant chunk of this data resides in the Bookmap/Cache folder, a portion is held in RAM to facilitate quicker access. On average, the Windows Task Manager might display a memory usage of around 1.5 GB for Bookmap.

However, it doesn’t mean that all this memory is being used by Bookmap, but this is how much is allocated for Bookmap. Bookmap, being a Java application, would actually use less memory, but allocating a lower limit might prompt the Garbage Collector to optimize more often, potentially disrupting the application's smooth functioning.

With Bookmap 7 (launched on 16-Jan-2018), there's an auto-set feature for maximum RAM allocation based on your system's specs. You can modify these configurations by navigating to Settings -> Performance > Memory allocation.

screenshot

What can I expect in terms of CPU load when using Bookmap?

For optimal performance:

  • Keep hardware drivers and Windows OS updated.
  • Use GPU acceleration if available.
Increased CPU usage can occur during:
  • Chart adjustments like zooming or adding indicators.
  • Loading historical data, especially from Bookmap 7 onwards.
  • Using Replay mode.
Other factors increasing CPU load:
  • Old graphic cards or lack of GPU acceleration.
  • High-resolution screens.
  • Multiple detached charts or subscribed instruments.
  • High-speed Replay mode.
  • High chart refresh rate settings.
  • Deep zoom levels and numerous indicators on charts.

If you experience a higher CPU load by Bookmap in other situations, please contact our support for assistance.

What steps can I take to improve Bookmap’s performance on my system?

Performance issues in Bookmap might arise from various factors including your data provider, Bookmap software, network conditions, or your device's hardware.

Here’s how we suggest you handle performance issues:

Address Data Latency:

  • If you notice red text on the top-left corner of your Bookmap chart indicating data latency, it means that the speed at which you received data is limited.
  • To boost speed and reduce package loss:
    • Decrease the number of instruments you are subscribed to.
    • If connected via R-Trader Pro (plugin mode), try connecting directly.
    • If using wifi, switch to cable.
    • If multiple internet sources are available, try another one.
    • For Rithmic connections, changing the gateway or just reconnecting might help.

Tackle Bookmap ‘Freezing’ (trying to recenter chart but it does not update):

  • If Bookmap stalls or fails to update the chart:

    • Limit the number of instruments you use. Unsubscribing from some may be beneficial.
    • Review and possibly unload add-ons that may be causing heavy operations.
    • Enable "Storage multithreading" in Settings > Performance to potentially boost speed by 15-20%. Make sure to allocate enough RAM under “Settings”. 8096MB should be more than enough.
    • For users with Bookmap 7.4 or above, the “Experimental Serialization” under Settings > Performance can improve overall performance. But exercise caution as it's relatively new. Extra care should be taken during live trading due to limited user testing of Experimental Serialization.
    • Ensure "Automatic aggregation" is on (usually default) in Settings > Performance.
    • Allocate enough RAM in the memory allocation settings for Bookmap. On Mac/linux you have to tweak corresponding files instead.
    • If using Rithmic without requiring MBO data (if you also don’t use Bookmap’s Stop & Iceberg Tracker or Liquidity Tracker), enable aggregation. For R-Trader Pro connections, ensure it's activated in R-Trader as well.
    • Users on older hardware might benefit from an upgrade, especially when using MBO with Rithmic.

    Other Considerations:

  • Always ensure there's enough RAM allocated to Bookmap, especially when "Storage multithreading" is on.

  • Experiment with turning parts of software and indicators on or off and comparing the utilization.

If these steps don't resolve your issue, please contact support@bookmap.com for assistance.