cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Learn how to build custom Python data connectors and further customize JMP’s Data Connector Framework with the Python Data Connector Demo, available now in the JMP Marketplace!
  • See how to create experiments to support product design and ID useful product features. Register for June 12 webinar, 2pm US Eastern Time.

JMP Wish List

We want to hear your ideas for improving JMP. Share them here.
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.

7 Comments
andersonmj2
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...

nao
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.
nao
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.
abmayfield
Level VI

I am going to resurrect this topic. I have a 32-GB (RAM) Macbook Pro, and, even if JMP is the only program running that requires more than 100 MB of RAM (i.e., no other RAM-hungry programs), I can't get my Macbook Pro (2019) to allocate more than 2 GB of RAM to JMP. I realize this is likely more a Mac issue than a JMP one, but it seems strange that I have 32 GB of RAM, of which only 1 goes to JMP, and then the analysis hangs for an hour before completion (82 column x 1000 row MDS). Can I not just tell my computer to use everything it's got towards the application in question? I mean, I guess the CPU is at 100% during this MDS analysis, but it's seem weird that the memory allocated to JMP never exceeds 2 GB, despite having 30 GB of unused RAM! The same analysis on my 8 GB RAM Macbook Air takes the same amount of time. Shouldn't, all else being equal, a 32GB RAM computer handle a big job better than an 8 GB RAM computer?

Status changed to: Acknowledged

Hi @nao, thank you for your suggestion! We have captured your request and will take it under consideration.

SamGardner
Level VII
Status changed to: Investigating
 
Status changed to: Acknowledged