I have an application where I have to allow the users to modify and add criteria to populate multiple fields of a report (we're is a production assembly line environment). In a simplified version: We produce 1000 customized widgets a day. Each widget requires different parts and or actions and the report is to tell each of the 20 stations what part or action they need to do. Since we have 20 production lines and each customized widget requires about 500 parts and/or actions , I need a way to take the schedule (Input 1) and compare it to a bill of material for each part in the schedule (Input 2) and apply rules (either regex or if conditions) to create a 50 column report. The 1st column has the Serial Number and the other columns have the anwser to the rules. So to summarize: for each serial number in Input1, I'll be looking at every part and description in the Bill of material (Input2) and filling in the blanks of the report (we do not make a column for all 500 parts ... just the parts that make it customized)
Now the question: Since I have so much data to process (1000 widgets with 500 parts) and each column may require up to 20 coditions (rules), am I better to store the rules as regex expressions and cycle thru it that way OR am I better to store the rules as discreet if/and/or conditions and dynamically create the rules while I cycle thru the list.