Jump to content

Darren

NI
  • Posts

    627
  • Joined

  • Last visited

  • Days Won

    68

Posts posted by Darren

  1. Ok, I had a few minutes this afternoon to re-read this thread and look into any low-hanging fruit for improving the performance of the MD5 VI that ships with LabVIEW. Unless I missed something, there were three concrete suggestions for improving the performance of the core VI:

    1. Disable debugging: Done.

    2. Move Swap Words and Swap Bytes functions out of the loop: Done, although this appears to have a negligible effect compared to turning off debugging.

    3. Process file as a U32: I haven't done this one yet. JFM, can you post your modified version of the VI so I can take a look at it? I'm not sure yet if I want to go forward with this change, as there's another VI in that LLB (MD5Checksum string.vi) that can be used to generate the MD5 of a string, independent of File I/O, that assumes the core VI takes a string input.

    -D

  2. QUOTE (Phillip Brooks @ Jun 11 2009, 08:30 AM)

    I experimented with the shipping implementation, and found that the following will help the performance:

    Thanks, Phillip. I have filed CAR# 173651 to myself for investigating your suggestions in LabVIEW 2010. If anybody else has any suggestions, post them here, as I will be reviewing this thread when looking into the CAR later this year. Again, I'm looking to stick with a 100% G, platform-independent implementation.

    -D

  3. I own the one that ships with LabVIEW. If y'all figure out a way to implement it with 100% G code (i.e. no command line calls) that's faster than the current shipping code, I'd certainly be open to changing it in LV 2010. This topic came up a few years back on LAVA, and at the time, mine was quite a bit faster than the OpenG one.

    -D

  4. QUOTE (lavezza @ Jun 5 2009, 03:56 PM)

    Is the Property App.MenuLaunchVI available in the new scripting toolkit? I didn't see it. Is the functionality available with another call?

    The MenuLaunch.App and MenuLaunch.VI properties are private, which means they are not exposed in scripting. It would not be unreasonable, however, to expect a VI that wraps these properties in a future LabVIEW version.

    -D

  5. Try using a Case Structure...if the reset button is pressed, wire an empty string to the display (and into your feedback node). Otherwise wire in the string you're keeping in the feedback node.

    -D

  6. QUOTE (asbo @ Jun 3 2009, 07:43 PM)

    Weekly Scripting Nuggets ... ? :)

    Heh, maybe. We'll see what my time availability looks like in the coming weeks. Don't forget I have to come up with Weekly Normal Nuggets, too. ;) And I should probably figure out here pretty soon what I'm going to present at NI Week.

    -D

  7. QUOTE (jdunham @ May 21 2009, 12:00 AM)

    I'm not resting assured. My code overwhelmingly uses I32s and DBLs. Often I use Create Constant, but when the type has not yet been determined, then I go from the palette. It would be much better for me to have DBL and I32 available separately on the palette for both FP controls and BD constants. I suspect nothing will change, but you can't convince me the status quo is 'better'.

    I have a Quick Drop shortcut of 'nc' for Numeric Constant...I use it all the time to drop an I32 constant. I could see it being useful for a DBL constant to be on the palettes, simply so I could have a 'dc' shortcut to drop the DBL constants when I need them. I'll look into what it might take to get a DBL constant added to the palettes sometime in the future (the work would be trivial, it's just a matter of convincing the right people). For now, though, you could add your own DBL constant merge VI to the user.lib palettes, and use Quick Drop to have quick access to it.

    -D

  8. QUOTE (Black Pearl @ May 13 2009, 02:21 PM)

    Actually, it is the default selector value (I just recently made this account). Furthermore, it is fun to assign oneself a Version that does not officially exist.

    Hah, I just realized that at some point in the past, I changed my profile to include LV 2009 too. :) To add credibility to my previous statement, I've changed it back to only list the released LabVIEW versions I use. ;)

    -D

  9. QUOTE (crelf @ May 13 2009, 11:42 AM)

    Perhaps LabVIEW 2009 is the default selector when ppl sign up? Maybe we should remove it from the list and only include officially released versions? I'm not sure what benefit having 2009 in there is if we can't share code on the forum (and we can't).

    I agree. I don't think it makes sense to list an unreleased LabVIEW version as an option when setting up a LAVA profile.

    -D

  10. QUOTE (Aristos Queue @ May 8 2009, 02:01 PM)

    I don't consider it a blind spot. My http://forums.ni.com/ni/board/message?board.id=170&thread.id=380412' target="_blank">favorite feature of LabVIEW 8.5 was the For Loop with Break. I've probably used it hundreds, if not thousands, of times in code I've written in the past 2 years. And the few times I've needed the index of the For Loop when it stopped, I just used the iteration count within the loop. If I ever needed to know how many times the loop ran, I would just drop an increment in the loop and wire it to the iteration count. I never would have considered it a shortcoming of the For Loop that I had to do this.

    -D

  11. QUOTE (TobyD @ Apr 21 2009, 10:05 AM)

    It was a big hit...to our reputations.

    That's hilarious. Man, this is so cool that there's HP calculator zealots here. I guess it goes with the territory, though...you guys all have impeccable taste in programming language, so it only makes sense that you'd all like the best calculators too. ;)

    -D

  12. QUOTE (Mark Yedinak @ Apr 20 2009, 05:26 PM)

    I don't have a picture but my kids like to give me crap about having an engraved name plate on the back of my HP 48G calculator.

    Awesome! I had an engraved name plate on my 48GX! I still contend the 48G series was the best graphing scientific calculator ever made (always bugged me that TI-85 was the standard in my high school). A few months back I reluctantly sold my 48GX, since I haven't used it since undergrad college. I sold it in 2008 for as much as I bought it for back in 1993!

    -D

    Oh, and in case anybody wants to start a calculator debate (snicker), I contend that the HP 32SII (which I still own) is the best non-graphing scientific calculator ever made. 384 bytes of user memory ftw!

  13. Many of the VIs that ship with LabVIEW were written long ago, before too many people thought much about coding standards. We had the AEs go through and scrub all the examples a few years back, so a lot of those should have gotten better. As for vi.lib VIs, those don't typically get edited too much after being written. I do make it a habit to clean up any shipping VI I happen to be editing though (just did one this morning), so given enough years, I may single-handedly clean up vi.lib.

    -D

  14. QUOTE (Norm Kirchner @ Apr 2 2009, 05:20 PM)

    I don't know if this wins me the beer or not, but I can get you darn close. Assuming you have all that crazy "scripting" stuff turned on, check out the App method "Hilight Palette Menu Item":

    http://lavag.org/old_files/monthly_04_2009/post-4441-1238728342.png' target="_blank">post-4441-1238728342.png?width=400

    Pass it the name of an object on the palette you want to bring up, and that palette will appear in the position you specify, with the object whose name you specified highlighted. So it works based off palette object names, not palette names, but it's the closest I can do.

    -D

  15. QUOTE (Michael Aivaliotis @ Mar 25 2009, 09:01 PM)

    If I rename a parent dynamic dispatch VI, the children override VIs don't get renamed. I assume this is a known issue. I'm not sure if others think this is an issue that should be fixed but it's bugging me lately.

    I agree. It seems like something we should be able to do. But then again, there may be a good reason for why it can't be done...AQ?

    -D

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.