Choose Language Hide Translation Bar

Run time-consuming taks in the background

We get frustrated when we find JMP frozen after starting a script that takes a long time. But even in most such situations, only one CPU thread is active. JMP should be able to take advantage of today's multicore processors and keep working even while a heavy script is running.

Tracking Number:

Defect ID:

3 Comments
Level IV

JMP is definitely multi-thread aware and can utilize multiple CPU cores ... but not all platforms take advantage of this.

 

Here is a list of JMP platforms which are multi-threaded: http://www.jmp.com/support/notes/49/280.html

 

And you can also try compressing the data table which can be a massive memory and execution time saver:  https://community.jmp.com/t5/Discussions/how-to-optimize-the-cpu-memory-usage-in-jmp-on-Windows/td-p...

Level IV
Thanks for your clarification. I definitely love JMP's ability to take advantage of multicore processors in some specific tasks, like showing histograms of multiple columns. I also appreciate JSL's capability of multi-threading enabled via Parallel Assign() function. A little trick that I often use is to start a separate instance of JMP while some time-consuming task is being processed. The issue arises when we fail to predict a time-consuming task in JSL, typically going through a big data table, and find JMP freezing without even showing a progress bar. In such situations, working on a separate JMP instance is helpful, but JMP is not designed to facilitate such multi-instance use and it's typically very confusing and often inefficient as we need to pay a great deal of attention to which instance of JMP is doing what. I can't help missing RStudio, which sends codes to R running in the background and keep accepting commands while whatever time-consuming task is being processed.
Level IV
I routinely compress data. This is very useful when you need to work on a large data table. Here is another trick: when you need to work on a huge dataset but you regularly use only a limited number of columns and there are many minimally (or never) used columns, you can speed up things by detaching less frequently used columns using Subset command/function, creating a shared ID column on both tables, and link them via Virtual Join.