06-25-2012 07:14 PM
Hey All!
I'm thrilled to announce that we will be having a LabVIEW Coding Challenge! Submissions are due Aug 7th and we'll evaluate the entries live at the Q3 User Group Meeting on August 21st.
Abstract
The goal of the LabVIEW coding challenge is to write code that can execute a backspace command to a paragraph of text. The "backspace" command will be found throughout the paragraph and represents text it succeeds that should be removed Example: Na!$M<><><><>tional !<>Instr83c<><><>uments should be corrected to remove the <> backspace commands to read "National Instruments".
Code will be evaluated on an execution speed basis and 50,000 executions of the code will be executed on a few different paragraphs of text (it won't be the same paragraph every time) and an average will be taken of the code's execution time. The 3 fastest code writers will win prizes!
Attached is a zip folder containing the Challenge_2012.vi Main VI which can be used as a benchmark for your subVI solution. Create your VI using the Sample Your_Solution.vi as a template and change the name to represent your Contestant Name. DO NOT change the terminal names or types of the VI as our evaluator VI will call your solution dynamically and require EXACT terminal configuration.
I've also recorded a brief Jing video to walk through the benchmarking and template code posted below. You can view this video online, forgive the stutters and stammers, I'm an engineer not an actor 😕
http://screencast.com/t/B7cksqddk
Execution Environment
Both a LabVIEW 2011 and LabVIEW 8.0 version of the code are posted in the Zip for those using previous versions of LabVIEW. When the code is evaluated it will be executed on my normal work Laptop with the following specs:
Windows 7 64 Bit
LabVIEW 2011 32 Bit
Intel i7 Processor (quad core)
8GB RAM
Questions or clarifications
Please post all questions or clarifications to the rules as a reply to this thread that way all contestants see the response.
Submissions
Please have your solution emailed to me by Aug 7th. logan.herr@ni.com
I'm really excited to see what you come up with!
Thank you, have a great day.
Logan Herr
Field Sales Engineer
San Francisco & Silicon Valley West
National Instruments
c(650) 554-8615
06-25-2012 07:57 PM
Not a major point, but shouldn't the string input to the solution VI be marked as required, not recommended?
06-25-2012 08:01 PM
... FAIL! Yes, you are right. It should be, I'm glad to see you are looking so deep into the post so quickly after it was posted!
Logan
06-25-2012 11:00 PM
Sorry to pick a nit, but is the backspace command two chars<and >, or is it a single char ASCII = 8 ?
Regards,
Todd K
06-25-2012 11:55 PM
If you download the sample, you'll see that it's ASCII 8.
06-26-2012 10:15 AM
w00t! Less than 24 hrs and already had a couple solutions sent to me.
When you email your code to me, make sure that the top-level subVI that you want called dynamically from the evalutator contains the text "Solution" in the file name ex. Nigel_Solution.vi
Yes, since I specified "top-level subVI" above that means your solution could come with supporting subVIs.
Logan
06-26-2012 05:47 PM
Interesting demonstration of the progress between LabVIEW 2009 and 2011 - my solution executes about 30% faster in LV2011.
06-26-2012 07:38 PM
I noticed around 20% difference between two sequential runs of the Challenge_2012.vi in LV2011.
06-27-2012 10:57 AM
The Challenge_2012 tester does not call the solution vi dynamically but it is mentioned it will be called dynamically in the real test. Will this real test be exactly like the Challenge_2012 caller except with a dynamic call or will the actual test be more sophisticated?
06-29-2012 01:39 PM
The evaluator will be more sophisticated... it could load different strings than the one provided in the Challenge_2012.
The 20% difference in benchmarks from Challenge_2012.vi mentioned by chembo could be because of the method the time is called... the evaluator will not be as losely timed.