Subscribe Bookmark RSS Feed

Giving Kudos

David_Burnham

Super User

Joined:

Jul 13, 2011

I was just about to reply to a post when I saw that @txnelson had already made the same response (there's a surprise!).  I wanted to "Kudos" the response but there is no option.  There is an option to Kudos the "post" (i.e. the question) but that makes less sense to me.  Am I missing something?

-Dave
1 ACCEPTED SOLUTION

Accepted Solutions
Jeff_Perkinson

Community Manager

Joined:

Jun 23, 2011

Solution

The kudos button is back for replies now. I apologize for its brief absence. ;-)

 

I'm not seing the strange counting behavior that @pmrozreports. Please let me know if it continues.

-Jeff
4 REPLIES
pmroz

Super User

Joined:

Jun 23, 2011

I noticed that as well.  I'd like to give credit to someone who posted a solution, but right now it's not possible because the Kudos button doesn't appear.

Another thing - the Kudos button has inconsistent behavior:

 

0 Kudos: click and 1 appears

2 Kudos: click and 1 appears(??)

Jeff_Perkinson

Community Manager

Joined:

Jun 23, 2011

Solution

The kudos button is back for replies now. I apologize for its brief absence. ;-)

 

I'm not seing the strange counting behavior that @pmrozreports. Please let me know if it continues.

-Jeff
pmroz

Super User

Joined:

Jun 23, 2011

I don't see the Kudos button for replies in the Discussion section.  Only for the first post.  This is the last reply that was posted on 11/3:

KudosNotShown.png

Jeff_Perkinson

Community Manager

Joined:

Jun 23, 2011

Save to Database is too slow (10k records per minute)​​ has a reply by msharp that reminded me of a performance enhancement scheduled for JMP 13.  (Thanks Jeff Polzin!)

Msharp mentions that the database update function is faster than another technique, but still not great.  (And see bryan.boone answer to the original question as well...another JMP 13 performance enhancement.)  I looked at the script (which is a clever way to use JSL and SQL) and saw it adds items to the end of a list, something like this:

// build forward

forwardList = {};

starttime = Tick Seconds();

For( i = 0, i < 30000, i++,

  Insert Into( forwardList, i )

);

stoptime = Tick Seconds();

Show( stoptime - starttime );

stoptime - starttime = 1.68333333334886; // JMP 12 time

that's really slow in JMP 12 and earlier.  The list is held internally by its first item, and the last item must be discovered by walking the length of the list.  InsertInto() adds to the end of the list by default. That leads to N^2 performance: doubling the length of the list quadruples the time.  There is a way to avoid it:

// build reverse

reverseList = {};

starttime = Tick Seconds();

For( i = 0, i < 30000, i++,

  Insert Into( reverseList, i, 1 )

);

reverseList = Reverse( reverseList );

stoptime = Tick Seconds();

Show( stoptime - starttime );

stoptime - starttime = 0.0333333334419876;

that's better.  The insertinto() function is called with a 3rd argument of 1 to insert at the front of the list.  Notice the call to the reverse() function is also accounted for in the reported time.  And the answer is the same:

show( reverseList == forwardList);

reverseList == forwardList = 1; // good, same answer either way

Looking forward to JMP 13?  here it is:

// build forward

forwardList = {};

starttime = Tick Seconds();

For( i = 0, i < 30000, i++,

  Insert Into( forwardList, i )

);

stoptime = Tick Seconds();

Show( stoptime - starttime );

stoptime - starttime = 0.0166666668374091; // Jeff is amazing!

Long story short, if you have a JMP 12 script that is building a list of more than 100 or so items, insert at the front, then reverse.  JMP 13 will be fast either way.

-Jeff