Jump to content

ShaunR

Members
  • Posts

    4,856
  • Joined

  • Days Won

    293

Posts posted by ShaunR

  1. I guess that by saying you are using the "Client Request Waveform" that you are actually polling for the wave forms rather than streaming. This is really bad for performance since you get double the amount of network latency.

    16000 data points (assuming double precision numbers) equates to about 125KB. On a 100Mb connection you should be getting in the region of 60-80 updates per sec (10MB/125kB = 80).

    For an example of streaming waveforms, take a look at Transport.lvlib

  2. Labwindows is (essentially) ANSI C. But it is the packaged libraries you will have to learn since they are proprietary to NI. I would dive straight in with Labwindows (C doesn't have front panels for example) and any good book on C will do for the stuff in-between.

  3. index.php?app=downloads&module=display&section=screenshot&id=196

    Name: Transport.lvlib

    Submitter: ShaunR

    Submitted: 27 Aug 2011

    Category: Remote Control, Monitoring and the Internet

    LabVIEW Version: 2009

    License Type: Other (included with download)

    Transport.lvlib is a LabView API to simplify and accelerate networked communication development.

    It simplifies development by abstracting TCPIP, UDP and Bluetooth and TLS interfaces

    into a single polymorphic vi which is a thin wrapper around the conventional

    open, read, write, close and listener VIs for all the network interfaces.

     

    Features:

    Supports TCP/IP, Bluetooth, UDP (p2p, broadcast and multicast) and TLS.

    Supports symetric encryption (blowfish).

    Supports compression (zlib).

     

    INSTALLATION:

    Run the supplied installer and follow the instructions.

    Click here to download this file

    • Like 2
  4. Ok, so this is an update of the VI based on the above.

    Is everyone happy (e.g. this is the most optimized version for common use case).

    post-10325-0-23005400-1313972541_thumb.p

    These are the relative times (note: Time New and Trim Whitespace+ are now the same BD):

    post-10325-0-09762700-1313972238.png

    Trim Whitespace.zip

    Looks familair ;) . But I think the second 0xD in the arrays needs to be a 0xB if it is considered a white-space (personally, I don't think 0xB and 0xC are...but that's probably a judgement call).

  5. @JG

    Well. Both functions of yours are much faster than on my machine. Not running on a quad core are you? (it does use parallelism).

    Yes I have optimised the order. But for the purposes of your tests; I moved the space char to be the last.

    But in my tests (poor lowly Dual core) it made no difference whether it was in the first frame or last. The original was about 10ms faster, but since your tests are 100 ms faster than mine anyway;that's about a gnats fart :P It's interesting to note that in both our cases, the native LV function is pretty similar. Again I'm coming back to parallelism since the regex functions only use the UI thread (if I remember correctly).

    Note that I don't have the openG libs installed so the old one is disabled (hence zero)

    Still waiting to see the performance improvements in 2011...lol.

    @JK.

    The main advantage of this method (over and above just being faster than the in-built function) is that it is very robust in terms of the length of the string (very similar times for a short string of say 10 chars and one of ..say 10,000 chars-all beginning and end white spaces being equal). Performance is dictated by the number of white spaces only, unlike the other methods that need to iterate over the entire string.

  6. @ JG

    Why have you slowed it down? :P (those arrays were inside the for loops for a reason ;) )

    @JK.

    You are right. The original Trim Whitespace+.vi (thanks for pointing out the two chars I missed JG-are they considered whitespace?) was a direct replacement for the built in Trim [whitespace] function. However. the Fast Trim was more useful on comms strings (especially serial) where you can have all sorts of non-printable chars and not just "whitespace".

    • Like 1
  7. Hey Shaun

    I have an API for interacting with the project, I do similar things with builds for exes and installers so I thought I'd give PPL a go and see if it works.

    I was able to get it to go however, I don't use the AppBuilder_API (I have never really), instead I use PN's and set the XML tags.

    You should be able to replicate from this quick video:

    That's sweet. I'm not a great fan of the app builder API either. At what point does the build.vi get executed? Is it run whenever you create a new project? (wasn't clear from the video which I had to scroll around to see...lol)

  8. I love how both the graph in this article and the one presented at NI Week have no Y-Axis labels. Also love the bar graph during the Tuesday keynote that was only upwards trending. No title or labels. Don't get me wrong, a lot of the features seem cool. It's just hard to buy into a better bug reporter as a key feature...

    Paying for bug fixes by being forced to upgrade has always been my major criticism of NI (what about my 2010 and 2009 installations?). I would also question if many of the speed improvements are really much faster than 2009. 2010, yes. That was a slug. But compared to 2009? Maybe in some circumstances (FPGA?), but I haven't seen many yet. Personally, now I have had a chance to play with it, I don't think there is much in it from a user experience point of view. From an execution view point, I have seen 1 instance where 2011 x32 was faster and 2011 x64 was slower than 2009 and all the rest about the same for identical code. I have already commented previously that 2010 was about 3x slower at compiling, loading and saving than 2009 so when the "selling" point is speed and stability. Is it worth paying thousands for a more stable 2009? (Well. It is since, the bugs in 2009 won't get fixed ph34r.gif)

    If you ask me (I know your not...but I'll pretend anyway biggrin.gif). One of the biggest improvements that I would have paid a ton of gold for (in recent history) was never a major selling point.- 32 AND 64 bit compilers. Although I can still find something to moan about with those toowink.gif

×
×
  • Create New...

Important Information

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