It takes significantly longer to load than any other PC app that I use. Only video games on my Xbox One take longer to load. However, once TWS is loaded, it's sufficiently fast for my purposes so I don't really have a problem with it. It just feels a bit bloated during startup and most of the tools I have never used.
Its an issue of if you push TWS beyond the basics it simply doesn't hold up compared to other platforms. Get above a dozen charts and add in some indicators and it crumbles
I think you in that case you should use TWS for execution and get some higher performance charting software.
TWS is a programmers Cluster-F*&^. It's very poorly written app. It looks like the charting function is not global and every chart that's being drawn are done differently. As for the original topic, M1 could possibly have a JVM core that Mac may be able to use which will boost the $hitty TWS tremendously. This would be great if the M1 chip had a JVM Core because this would reduce the GC as all of the JVM maintenance is offloaded to the chip. IMHO -- TWS needs to be completely rewritten from scratch and not one part of the old code should be used. It makes no difference if the Java is selected as the new replacement. The app is more than 10 years old which places it beyond the life of a dinosaur. edit: to be honest TWS should migrate all this to Scala. https://www.scala-lang.org/
Something else thats a cluster fuck that Support told me is that each indicator on a chart is considered a line of data (you're allowed 100 simultaneous lines) Which is bonkers to me. So rather than fetch one line of data for the price movements of a stock and locally deriving from that the indicators and plotting. Each indicator independently fetches price information and calculates...Seems very redundant...but Im not a coder.
I would not say that TWS is "shit" or "very poorly written". Overall, it works well for me and I suspect that it works well enough for most people. Otherwise IB would have heard many complaints and would have invested more time in making it better if it was really turning off many potential customers. PCs, laptops, and phones have existed for over a decade with multiple cores. The OS may elect to dedicate one core to running TWS or any other app, but the M1 CPU cannot execute Java bytecode directly. There have been implementations of CPUs that can execute Java bytecode, but they never really took off. https://en.wikipedia.org/wiki/Java_processor Code doesn't age. If it was written well in the first place, I don't see any reason to rewrite it. Scala runs on the JVM. So if that Java code was well-written, what benefit would there be to rewrite it using a different language that runs on the same VM?
That might be true for some indicators such as VWAP. But for most common price-based tech analysis indicators derived from the same timeframe, should not be necessary.
Its what support told me...And they insisted that was the case when I question it because it makes no sense.