Improving J-Integra's Performance When Accessing Bloomberg® Software
A number of customers have commented that their system performance takes quite a hit when using J-Integra to access Bloomberg® software. From the feedback we have received, we have gathered together some recommendations which may help improve overall performance.
1. The first thing you should do is upgrade to the latest version of J-Integra. Each new release contains many bug fixes and performance enhancements. You can download this version from our website.
2. If you are currently running in DCOM mode, we suggest that you run in Native mode, as this will improve the performance significantly. To run in Native mode, you need to include a command line property when you run your Java client... java -DJINTEGRA_NATIVE_MODE MyClient
3. Because the Bloomberg® software can pass back huge amounts of data in one transaction, an upgrade of the machine running J-Integra may be necessary. However, even though an upgrade may provide enough extra memory to keep the application from crashing, there will still be a significant performance hit.
4. Besides the fact that the Bloomberg® software can pass large amounts of data back to Java in a single transaction, the other reason it causes such a performance hit is because the data that is passed back is often carried in a two-dimensional array of Variants. This is fine when you are accessing this data from a Visual Basic client, as Variants are inherent to VB. But there is no such thing as a Variant in Java, so J-Integra must convert every one of these COM Variants into something Java will understand. This is what causes the performance hit.
One workaround to this is to "wrap" the calls to the Bloomberg® API in a VB executable. This VB wrapper would make the actual calls into the Bloomberg® DLL, and receive the data being sent back from the Bloomberg® software. The VB wrapper could then convert the two-dimensional array of Variants into a two-dimensional array of primitive COM types which have a direct mapping to certain Java primitive types. Please see the J-Integra documentation for more information.
Note: For a third-party solution leveraging J-Integra, please see Optura®'s Virtual Investment Analytics (VIA) automation platform. Additional information can also be found here.