cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
See how to use to use Text Explorer to glean valuable information from text data at April 25 webinar.
Choose Language Hide Translation Bar
View Original Published Thread

JMP 16 automation *much* slower than JMP 15

ChrisM_X
Level III

Details:
I am seeing poor automation performance JMP 16 vs JMP 15.

Compared to JMP 15 (Tested 15.21)

 

Sample C# code at bottom:

(C# .NetFramework) using the JMP.tbl reference for automation

Key Line of code: (From C# JMP automation)

jmpDT.NewColumn("MyData", JMP.colDataTypeConstants.dtTypeNumeric, 0, 8).SetDataVector(MyData);

 

This adds a column of data to the JMP datatable from an array (MyData)

For JMP 16.2 this line takes 2600 ms for an array of 20000 values
For JMP 15.21 this takes 18 ms

A performance hit of 144X slower! (it gets even worse as the arrays get larger!) My software often deals in rows of millions of lines, it basically makes JMP 16 unusable for automation.

 

sample C# code:

 

JMP.Application myJMP = new JMP.Application();
JMP.DataTable jmpDT;
myJMP.Visible = true;
jmpDT = myJMP.NewDataTable(TableName);
string command = "dts= DataTable(\""
+ TableName + "\");";
myJMP.RunCommand(command);
jmpDT.AddRows(20000, 0);
double[] MyData = new double[20000];
jmpDT.NewColumn("MyData", JMP.colDataTypeConstants.dtTypeNumeric, 0, 8).SetDataVector(MyData);

 

Has anyone else seen this issue, any workarounds to "FIX" JMP 16? 

 

1 ACCEPTED SOLUTION

Accepted Solutions
ChrisM_X
Level III


Re: JMP 16 automation *much* slower than JMP 15

JMP help ticket tech support solved the performance issue with JMP 16, with the below modification to C# automation code.

See below:

...........................................................

Please try this test code in JMP 16:

JMP.Application myJMP = new JMP.Application();// myJMP.EnableInteractiveMode(true);
JMP.DataTable jmpDT;
myJMP.Visible = true;
jmpDT = myJMP.NewDataTable(TableName);
string command = "dts= DataTable("" + TableName + "");";
myJMP.RunCommand(command);
jmpDT.AddRows(20000, 0);
double[] MyData = new double[20000];
myJMP.RunCommand("dts << Begin Data Update");
jmpDT.NewColumn("MyData", JMP.colDataTypeConstants.dtTypeNumeric, 0, 8).SetDataVector(MyData);
myJMP.RunCommand("dts << End Data Update");

Notice the addition of :

myJMP.RunCommand("dts << Begin Data Update");
jmpDT.NewColumn("MyData", JMP.colDataTypeConstants.dtTypeNumeric, 0, 8).SetDataVector(MyData);
myJMP.RunCommand("dts << End Data Update");



This will force JMP to bypass updating the table constantly which is causing the slow down.  We have a fix in JMP 17.1, but you can use the work around above to avoid the slow performance until JMP 17.1 is released.

Please let me know if you need additional assistance.

Regards,

Dave Matthews
JMP Technical Support

View solution in original post

1 REPLY 1
ChrisM_X
Level III


Re: JMP 16 automation *much* slower than JMP 15

JMP help ticket tech support solved the performance issue with JMP 16, with the below modification to C# automation code.

See below:

...........................................................

Please try this test code in JMP 16:

JMP.Application myJMP = new JMP.Application();// myJMP.EnableInteractiveMode(true);
JMP.DataTable jmpDT;
myJMP.Visible = true;
jmpDT = myJMP.NewDataTable(TableName);
string command = "dts= DataTable("" + TableName + "");";
myJMP.RunCommand(command);
jmpDT.AddRows(20000, 0);
double[] MyData = new double[20000];
myJMP.RunCommand("dts << Begin Data Update");
jmpDT.NewColumn("MyData", JMP.colDataTypeConstants.dtTypeNumeric, 0, 8).SetDataVector(MyData);
myJMP.RunCommand("dts << End Data Update");

Notice the addition of :

myJMP.RunCommand("dts << Begin Data Update");
jmpDT.NewColumn("MyData", JMP.colDataTypeConstants.dtTypeNumeric, 0, 8).SetDataVector(MyData);
myJMP.RunCommand("dts << End Data Update");



This will force JMP to bypass updating the table constantly which is causing the slow down.  We have a fix in JMP 17.1, but you can use the work around above to avoid the slow performance until JMP 17.1 is released.

Please let me know if you need additional assistance.

Regards,

Dave Matthews
JMP Technical Support