Match Performance

Hi,
I have just started working on the DQ component to find matching records between two sources. Source 1 has about 10K records while Source 2 has 1M rows. Matching needs to be done based on two varchar columns (names). I need to update a column on Source 1 rows based on the matches with Source 2.
When I run my job, it takes forever to complete. If Source 2 has less number of records, job finishes fast. There are no keys for me to split the matching process into break groups or select candidates for matching. All 1M rows could potentially contain the matching rows.
What is the best approach?
Thanks,
Kranthi

Hello Kranthi,
This is an interesting use case. Typically we don't come across cases in batch deduplication where there are no possible break keys. If possible, can you describe what these two sources contain and why all the rows in second source be potential match? Are there no address elements, birthdates, partial IDs etc?
Having said that there are a few things you can do.
1. Use compare table functionality: For this you need to know couple of things. Are there any duplicates within Source1 itself or Source2 itself? If these two sources by themselves are "duplicate free" or you really don't care about duplicates within those sources then you should setup the compare table such that only records from Source1 are compared to records from Source2. This will eliminate unnecessary comparison and for sure will improve performance.
2. Make sure compare buffer is large: This is a Match performace setting not directly exposed in Match editor. But can be found in DSConfig.txt in DSInstall/bin folder. Typically we don't recommend changing this because default is sufficient. But your case seems extreme. Open the dsconfig.txt and search for "MemoryInKBForComparisons". The default is 4096KB. Change this value to something large (based on available RAM), say 65536KB. This will ensure Match can process all the data in RAM instead of going to disk again and again for all the data. By the way, to verify if your compare buffer is large enough, look at the Match contribution report for this job (from Data Services Management Console, Data Quality Reports). If the size of the largest break group is more than the number of records that can fit into compare buffer, you need to increase that. But in your case you are not doing any breaking at all.
3. Use phonetic versions of names as break keys: One possible approach is to use phonetic keys as break keys. So you will have to load the source2 records into a staging table with original data as well as phonetic version of the two columns. There is a function double_metaphone to create phonetic keys. Then you use can use this staged data in Candidate Selection with substring of phonetic keys in the selection criteria. (Don't use full phonetic keys, you may loose some duplicates and it will defeat the purpose). So you first candidate select the possible duplicates based on say first two characters of the phonetic key. This will reduce the number of rows getting compared. But you use the actual name data in the match criteria (not the phonetic keys). I am trying to find if there is a blueprint available that could show you a sample, but that's the basic idea.
You should consider #1 and #2 irrespective of the break strategy. There may be other ways too, but first lets try the above.
Hope this helps,
Abhiram

Similar Messages

  • CQL - Pattern Matching Performance Question

    Scenario:
    Suppose I have a processor that has a MATCH RECOGNIZE of A B C D
    and every minute I have 1000 events of A and B, but C and D is not always arriving.
    Question:
    I understand that CQL stores A and B or C somewhere in CEP,
    Is there a mechanism like garbage collection in CEP that disposes the
    events A and B so that the memory use of CEP will not be that great?

    Do you mean like
    String pattern = "(.*?)" + collocation +"(.*)";Another option is to just use indexOf(collocation) which is a simpler way of doing the same thing.

  • Integrate with BEA Portal and Lotus Domino R5.0.12

    Deal all:
    I got a problem when I integrate with BEA Portal and Lotus Domino R5.0.12.
    my environment is below:
    - Domain Server :
    Lotus Domino Server R5.0.12
    BEA Personal Messaging API 4.3
    (test successful on local host)
    - Application Server:
    BEA Weblogic 8.15
    BEA Groupware portlets 2.5
    I got connection successful message when I using "Domino Service Connection"
    but I got "CZ: VERSION CONFLICT" error message when I add a new account by
    Compoze_Groupware-Edit Account user interface.
    Have anybody met the error message before... and know how to sovle the problem..
    I appreciated any suggest or comment~~~
    detail error message is below:
    portlets.compoze.groupware.exception.ConnectionException: CZ: VERSION CONFLICT at portlets.compoze.groupware.controls.provider.SessionControlImpl.createSession(SessionControlImpl.jcs:142) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:371) at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:433) at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:406) at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:381) at $Proxy19.createSession(Unknown Source) at portlets.compoze.groupware.controls.provider.GroupwareProviderControlImpl.updateAccount(GroupwareProviderControlImpl.jcs:4825) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:371) at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:433) at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:406) at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:249) at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(JcsContainer.java:85) at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:224) at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:109) at com.bea.wlwgen.StatelessContainer_ly05hg_ELOImpl.invoke(StatelessContainer_ly05hg_ELOImpl.java:207) at com.bea.wlwgen.GenericStatelessSLSBContAdpt.invokeOnBean(GenericStatelessSLSBContAdpt.java:62) at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153) at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54) at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:168) at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46) at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161) at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceHandleImpl.java:436) at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl._invoke(WlwProxyImpl.java:326) at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl.invoke(WlwProxyImpl.java:315) at $Proxy11.updateAccount(Unknown Source) at portlets.compoze.content.options.accounts.editAccount.editAccountController.saveChangesAccountAction(editAccountController.jpf:534) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.bea.wlw.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:1512) at com.bea.wlw.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:1447) at com.bea.wlw.netui.pageflow.FlowController.internalExecute(FlowController.java:778) at com.bea.wlw.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:211) at com.bea.wlw.netui.pageflow.FlowController.execute(FlowController.java:608) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:1504) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:674) at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527) at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at com.bea.wlw.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1734) at com.bea.wlw.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1754) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:561) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:121) at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:98) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:150) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:109) at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:224) at com.bea.netuix.nf.ControlLifecycle$3.visit(ControlLifecycle.java:171) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:355) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:365) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:126) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:105) at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:173) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:333) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:196) at com.bea.netuix.servlets.manager.PortalServlet.doPost(PortalServlet.java:772) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:150) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)

    Hi,
    The reason why you are seeing this exception is because there is a mismatch between the version of the WLPM API used by the portlets, with the version of the service that you have installed on you Domino server.
    To explain a little, there are two sides to the API that is used to communicate with Lotus Domino:
    1) the Java API side (used by the portlets that you have installed in the portal)
    2) the Domino Service side (installed as a DSAPI filter in the HTTP task of a Domino Server)
    Each Java API jar and Domino Service Executable are branded with a version number, which in your case does not match because the portlets came with one version of the Java API, and you have installed a non-matching version of the service on the Domino Service side (you probably extracted the executable for the service installation from the "BEA Personal Messaging API 4.3" bundle or installer).
    The solution for this is to:
    1) uninstall the Domino Service that you have plugged into the domino service
    2) extract the Domino Service installer which was included with the portlet bundle. This is located in the "Program Files\compoze\groupware_portlets_bea-2.5\8.1\service\domino" directory if you ran the portlet installer, or in the "groupware_portlets_bea81-noinstall-25\groupware_portlets_bea-2.5\8.1\service\domino" directory if you used the "no-install" zip file.
    As a tip, to quickly check whether the versions of the service and Java API’s that you are using are matching, perform the following steps:
    1) hit the domino server with the following URL and notice the "service version": http://domino_service_url:http_port/compoze.czdo. This should be something like "Service Version: 3.6.102"
    2)in your portal application (or in the portlet install bundle), open the harmony_portlets.jar file with winzip, then find the "compoze_products_information.properties" file. In this file, notice the "product.domino" version (e.g. product.domino = 3.6.102)
    3) the two versions you have inspected must match in order for the connection between the portlet and service to succeed.
    If you have verified that the "service" version and "java API" version (located in %portal_app_dir%/APP-INF/lib/harmony_portlets.jar, and you are still getting the exception, it is likely that there is a "harmony_portlets.jar" that included an old version of the Java API located somewhere in the portal server classpath. In this case, make sure that the only harmony_portlets.jar in the classpath is the one that was included with the portlet bundle that you have installed.
    Regards,
    Lev

  • File search using * (global)

    I am trying to search files using the DOS global search (*) in labview, could some body show me how to do that

    Hi dweldai,
    In your block diagram, go to the Functions Palette and select File I/O, and Advanced File Functions.
    Select the List Directory vi.
    Us the "pattern" to filter your search. The pattern matching in this function is similar to the matching used in matching wildcards in Windows and UNIX filenames and is not like the regular expression matching performed by the Match Pattern function. If you specify characters other than the question mark character (?) or the asterisk character (*), the function displays only files or directories that contain those characters. You can use the question mark character (?) to match any single character. You can use the asterisk character (*) to match any sequence of one or more characters.
    If pattern is an empty
    string, the VI returns all files and directories.
    -JLV-

  • Tuning Simple Intermedia Queries

    I am comparing the performance of doing a text search with
    standard sql and Oracle Intermedia.
    I have a table with a text column NARRLONG, defined as below:
    Name Null? Type
    NARRPREFIX NOT NULL VARCHAR2(2)
    NARRKEY NOT NULL VARCHAR2(240)
    NARRLANG NOT NULL VARCHAR2(2)
    NARRSEQ NOT NULL VARCHAR2(5)
    NARRLSEQ VARCHAR2(5)
    NARRCHADTE DATE
    NARRFLAG CHAR(1)
    NARRLONG VARCHAR2
    (1260)
    The table has a primary key on NARRPREFIX, NARRKEY, NARRLANG,
    NARRSEQ and a text index on NARRLONG.
    When I run the query:
    select count(*) from maa240 where narrprefix = 'BA'
    and narrkey like '000010000100001C%'
    and (upper(narrlong) like ('%VDU%')
    or upper(narrlong) like ('%INPUT%'))
    I get 273 rows returned in approx. 16 secs.
    When I run the query;
    Oracle 8.1.7 > cat andy2.sql
    select count(*) from maa240
    where contains (narrlong, '(%VDU%) OR (%INPUT%)') > 0
    and narrprefix = 'BA'
    and narrkey like '000010000100001C%'
    I get 273 rows returned in approx. 3 minutes.
    Analyzing the table made no difference.
    Can anyone point me in the right direction for tuning this
    query ?
    Thanks
    Andy Lamberth
    OCP DBA

    I believe that the problem revolves around the way that
    intermedia text now works. The contains search returns rowids
    which are then accessed as necessary. In your example I suspect
    that a very large number of rows match the criteria that you
    have specified. Each row will then be read to check the other
    (non-IM) criteria before giving you the results.
    By contrast your non-IM query may well be just accessing an
    ordinary index based on most/all of your criteria and therefore
    reading comparitively few rows.
    To confirm this either just run the IM query to get a count on
    the number of rows it finds as matches or use tkprof to examine
    trace files.
    We use a large number of IM indexes and have found that queries
    matching a large number of rows on an individual IM index
    perform poorly. By contrast when there are (relatively) few
    matches performance is certainly superior to ordinary indexes.

  • ITunes changing media kind

    iTunes Match seems to have a mind of its own.
    Here's my problem. I recorded a programme from the radio purely to listen to at a later time. It is a mixture of interview and classical music. Recorded as an AAC file at 320kbps. File size 161mb. So I do not want this to upload to iTunes match (it is one of a series of 5 related programmes).
    I know that if I import this into iTunes with Match turned on it will just assume it is music and it will lock the media kind. So I turn iTunes Match off and then import the file. I change the medai type to Audiobook and the file disappears into my books section safe from the grip of Match.
    I then turn on Match again. And as if by magic a few minutes later it has hauled the programme from the Books section and back into music and changed the media kind back to music, greyed it out and started uploading the file.
    So my workaround has been defeated.
    I am using iTunes 10.6.1
    I have generally been happy with iTunes match which after a fairly indifferent match performance at the start now seems to be delivering a consistently good performance matching music I expect it to match.
    But unless Apple develop an option to exclude files from matching or uploading I fear that I shall not be bothering to renew my Match sub.
    If anyone can supply a diffirent workaround I'd love to learn of it. (I have already tried using Podcast as an alternative media type but iTunes changes that one too).

    This for Mac only (sorry).
    'Subler' offers a nice 'clean' way of adding the requisite tags to m4a files, also for iTunes U.
    It's free at http://code.google.com/p/subler/
    This works only for m4a files. I have not found a solution for mp3s.
    Do not add your track to iTunes yet, instead, open it in Subler.
    In Subler, make sure that the track has at least the Name, Artist and Album tags set (under 'Metadata', create them as necessary using the small '+'-menu down left).
    - For a Podcast, under 'Other Settings' check 'Options: Podcast' and save.
    - For iTunes U, under 'Other Settings' choose 'Media Kind' > 'iTunes U' and save.
    Now add your file to iTunes.
    And Apple: please fix!

  • How does MID-7604 measure peak current?

    What are the details about how the MID-7604 measures and regulates motor winding current?
    We manufacture motion systems incorporating small step motors. One of our customers has ordered a motion system with the MID-7604. This is our first experience with the MID-7604.
    When duplicating motor performance comparable to our other Step-motor Controllers, we must set the MID-7604 to 3X the motor's traditional rated peak current. For example, for a super-small MicroMo/Arsape Step motor, we traditionally limit the current to 250mA (RMS). However, with the MID-7604, we must raise the current limit to 700mA (peak) to achieve the same performance.
    While we're not sure about the current regulation philosophy of our other Step-motor Controllers, the Step-motor Manufacturer's Specification Sheet limits the current to 250mA per phase with both phases energized to prevent overheating. Pumping in 700mA from the MID-7604 to achieve comparable performance just seems excessive. However, we're just playing with numbers here and not knowing what they mean. In the end, we're ignoring the numbers and instead, measuring motor torque and winding temperature in order to set the peak current switches on the MID-7604.
    * How can we think of the current setting for the MID-7604?
    * Is it not a PWM device that using width of voltage pulses to produce the current?
    * What does "PEAK CURRENT" and "RMS CURRENT" mean?

    Hey JThomas,
    I'm sorry to hear that you smoked a stepper motor.There are a couple of reasons that your MID-7604 drive could appear to be operating strange. 
    There is a series of DIP switches on the front of the MID drive that allow you to set various things.  One of those DIP switches is the current reduction switch.  This switch is default in the ON position from the factory I believe so if it has never been turned off, chances are it's ON.  When the Current Reduction switch is active, the stepper drive drops the current energizing the coils by 50% if there hasn't been a step in the last 500 ms.  If you were gauging the strength of the drive based off of holding torque, then this could be the reason you were raising the current to a higher rating than you thought was neccesary.  This settings is for customers who have an application with stepper motors that focus more on moving torque instead of holding torque.
    Another possible reason for the increased current to match performance of your drives is if the bus voltage of your drives is some voltage other than 24 VDC.  If your drives that you are used to using are say 36V drives, then at a lower current setting, they would provide greater torque at higher speeds because of the higher voltage being able to energize the coils faster.
    Also, the KILL feature releases the axis from being actively driven.  The HALT command simply locks the motor while leaving the coils energized to hold the position that it is currently in. 
    I hope some of this has helped you out.  Let me know if I can elaborate on anything.
    Thanks,
    Evan D.
    IMAQ/Vision R&D
    National Instruments

  • Profile Performance in LabVIEWvs Performance meter in Vision Assistant: Doesn't match

    Hi everyone,
    I faced a strange problem about performance timing between these two measurements.
    Here is my test
    -used inbuilt example provided by labview in vision assistant-Bracket example-Uses two pattern matches, one edge detection algorithm and two calipers(one for calculating midpoint and other for finding angle between three points.
    -When i ran the script provided by NI for the same in vision assistnat it took average inspection time of 12.45ms(even this also varies from 12-13ms:my guess is this little variation might be due to my cpu/processing load).
    -Then i converted the script to vi and i used profile performance in labview and surprisingly it is showing way more than expected like almost ~300ms(In the beginning thought it is beacuse of all rotated search etc..but none of them make sense to me here).
    Now my questions are
    -Are the algorithms used in both tools are same? (I thought they are same)
    -IMAQ read image and vision info is taking more than 100ms in labview, which doesn't count for vision assistant. why?( thought the template image might be loaded to cache am i right?)
    -What about IMAQ read file(doesn't count for vision assistant?? In labview it takes around 15ms)
    -Same for pattern match in vision assitant it takes around 3ms(this is also not consistant) in labview it takes almost 3times (around 15ms)
    -Is this bug or am i missing somethings or this is how it is expected?
    Please find attachments below.
    -Vision Assistant-v12-Build 20120605072143
    -Labview-12.0f3
    Thanks
    uday,
    Please Mark the solution as accepted if your problem is solved and help author by clicking on kudoes
    Certified LabVIEW Associate Developer (CLAD) Using LV13
    Attachments:
    Performance_test.zip ‏546 KB

    Hmm Bruce, Thanks again for reply.
    -When i first read your reply, i was ok. But after reading it multiple times, i came to know that you didn't check my code and explanation first.
    -I have added code and screenshot of Profile in both VA and LabVIEW.
    In both Vision Assistant and Labview
    -I am loading image only once.
    Accounted in Labview but not in VA, because it is already in cache, But time to put the image into cache?
    I do understand that, when we are capturing the image live from camera things are completely different.
    -Loading template image multiple times??
    This is where i was very much confused. Beacuase i didn't even think of it. I am well aware of that task.
    -Run Setup Match Pattern once?
    Sorry, so far i haven't seen any example which does pattern match for multiple images has Setup Match Pattern everytime. But it is negligible time i wouldn't mind.
    -Loading images for processing and loading diffferent template for each image?
    You are completely mistaken here and i don't see that how it is related to my specific question.
    Briefly explaining you again
    -I open an image both in LabVIEW and VA.
    -Create two pattern match steps. and Calipers(Negligible)
    -The pattern match step in VA shows me longest time of 4.65 ms where as IMAQ Match pattern showed me 15.6 ms.
    -I am convinced about IMAQ Read and vision info timing, because it will account only in the initial phase when running for multiple image inspection.
    But i am running for only once, then Vision assistant should show that time also isn't it?
    -I do understand that, Labview has lot more features on paralell execution and many things than Vision Assistant.
    -Yeah that time about 100ms to 10ms i completely agree. I take Vision Assistant profile timing as the ideal values( correct me if i am wrong).
    -I like the last line especially, You cannot compare the speeds of the two methods.
     Please let me know if i am thinking in complete stupid way or at least some thing in right path.
    Thanks
    uday,
    Please Mark the solution as accepted if your problem is solved and help author by clicking on kudoes
    Certified LabVIEW Associate Developer (CLAD) Using LV13

  • Mis-matched ram sizes (512mb and 1 gig) effect on performance...

    Is my MacBook performance taking a hit because I have unequal values of RAM?

    Any loss in performance is more than made up by increasing the amount of Ram anyway. You're not taking a hit right now, you're going a ton faster. Matched pairs may provide 5% performance increase, but if that holds anyone back from increasing their ram level with a mismatched set, then they need to rethink what ram does for a computer. I have 1.25 in my mini, because 512 wasn't enough and 2gb was too expensive right on the heels of the computer purchase itself. You will not miss the performance of a matched set.

  • HT204406 help! cannot perform Itunes Match function

    I've owned a iMac for 2 years. Itunes match function used to perform correctly, until about a month ago. My softwares are up to date, including Lion I just installed successfully. Itunes version is the latest.
    When I try to perform Itunes match: Step 1 completes correctly, but NOT step 2. Step 2 stops, then loops back into step 1, and again and again ( loop..)
    Makes me a little sad...
    Anyone to help?

    never mind...just needed to restart the phone...seems to be working now...

  • Performing Quick Match Programmatically

    Hi Experts,
    I 've a requirement to perform quick match of AP Invoices with POs programmatically. Here is the scenario:
    1) Invoice is imported through an external source
    2) Invoice has only one line (equal to the sum of "ITEM" type line amounts on the PO)
    3) My approach is to invoke the ap_matching_pkg.quick_match_line_generation seeded API to generate the invoice lines matching the PO lines and then invoke the AP_MATCHING_UTILS_PKG.MATCH_INVOICE_LINE for the invoice lines that have the PO number set.
    I 'am facing the following exception while invoking the ap_matching_pkg.quick_match_line_generation and I 'am not able to proceed further.
    ORA-20001: APP-SQLAP-10000: ORA-00001: unique constraint (AP.AP_INVOICE_LINES_U1) violated occurred in
    Generate_Lines_For_QuickMatch<-Quick_Match_PO_RCV<-CUSTOM_PO
    with parameters ( invoice_id = 362527, match option = P)
    Any inputs on where I 'am going wrong will be immensely helpful.
    Thanks,
    Ganapathi

    Hi and welcome to the forum.  
    Unfortunately, I understand your frustration.
    The best advise I can give is a particular way to try and enter a Quick Match room.
    When you choose your event, it will then start to load and a white flag will cross the screen.
    This is followed a few seconds later by a second white flag.
    As soon as second white flag crosses the screen, hit the 'X' button.
    (Essentially you are hitting 'X' on the 'warmup' option even before it appears on screen)
    For whatever reason, I find this helps to successfully load into a Quick Match event.

  • Hi performance audio amp to match Audigy 2ZS noteb

    The audio-out performance of 2ZS notebook seems to be reasonable impressi've from an audiophile point of viewfrom bottom of 2ZS notebook retail box
    ?S/N: 04 db?Freq. Resp: 0 Hz to 46 kHz (2 V output)?THD + Noise:? 0.006%? (2 V output)?I have some high quality recording gear (good mic .. high-quality low noise mic preamp etc..) and can record high-quality 24 bit/ 96 kHz WAV. So, I'd like to get suggestions on a real Hi-Fi *Stereo* (not multichannel) low power analog amp (say < 20 Watts RMS/side) which is a reasonable match to the above sound-card specs. I have a Gigaworks S750 system and it is spec'd at:?S/N: 99 dB?Freq. Resp:? 25 Hz to 40 kHz?THD: 0. %?but I want a smaller system with better specs ... (even 0 Watts per side but super-clean would be fine). I don't want to spend $$$ on a top-flight pure audiophile system but something of high-quality.

    I recently bought a NAD 902 power amplifier (and a 92). Details are [url="http://207.228.230.23/info/NAD_902.pdf">here[/url] [PDF]. I havent tried driving the S750 satellites with it thought. I have tried driving the S750 sub, seems to work ok although really needed both in bridged mode (90w rms each) to do it well. Unfortunately I dont have a decent crossover to try it properly, I was using the sound blaster as a cheap one.
    It sounds like you have already found a 0w amplifier? I will give the satellites a go on this anyway soon. I can tell you the nad is far (so far you wouldnt believe) better than the goodmans integrated amp i was using before (due to lack of cash).

  • Is it mandatory to perform PO receiving for a 2 way matching Invoices in 12.0.6?

    Requirement :
    Supplier would send everyday some files with respect to the quantity delivered..This delivery would be ad hc and without against any PO#...Invoicing needs to go via a PO.
    Solution porposed :
    a) Create a Inventory Org for that specific vendor
    b) Create Misc receipts for the items sent based on the file received
    c) Create a 2 way match PO
    b) Create an Invoice and pay the vendor.
    Let me know if you see any loopholes with this solution.
    Thanks in advance!

    2 way matching in any version is between Qty Ord and Qty Billd.

  • Poor performance when xmlquery contains attribute matching XPATH

    We send a select xmlquery to Oracle 11g database, if the query contains an XPATH that has an attribute name test in it, the performance is significantly worse than if indexing is used. Here are the two queries:
    1)
    select xmlquery('declare default element namespace "namespace"; for $e at $pos in $c/services/service let $result := if ($pos >= 2) then "|||||ERROR|||||" else $e return $result' passing document as "c" RETURNING CONTENT).getStringVal(), "LASTUPDATE" from services where id = :1
    2)
    select xmlquery('declare default element namespace "namespace"; for $e at $pos in $c/services/service[1] let $result := if ($pos >= 2) then "|||||ERROR|||||" else $e return $result' passing document as "c" RETURNING CONTENT).getStringVal(), "LASTUPDATE" from services where id = :1
    The only difference is the two XPATHS:
    1)$c/services/service
    2)$c/services/service[1]
    The second query performs 7X to 10X better than the first. More specifically, the Oracle DB CPU will reach 80-100% with only 40 tps of the first query but the second could hit 500 tps.
    We would expect the first to perform slightly worse than the second, because Oracle would need to compare the uri values in the doc to the query. But, the documents being searched only contain one service/@uri.
    Does anyone know why the performance is so bad with the first query? Is there anything we can do to tune the DB to help in this area. We need to be able to do the first query but the current CPU utilization is extremely too much.

    sorry, number 1 should be $services/service(@uri="test"). That should be [ instead of (, the forum wasn't displaying it correctly above.  It should be that way in the query as well.
    Edited by: user6668496 on Mar 10, 2009 1:50 PM

  • Event ID 2003 The configuration information of the performance library "perf-MSSQLSERVER-sqlctr11.1.3000.0.dll" for the "MSSQLSERVER" service does not match the trusted performance library information stored in the registry.

    I keep getting the above error on all my SQL 2012 deployments (standard and enterprise) on all Windows Server 2012 Standard machines. I have already tried the following commands in administrator mode to resolve without success:
    lodctr /T:perf-MSSQLSERVER-sqlctr11.1.3000.0.dll
    lodctr /T:MSSQLSERVERlodctr /R:perf-MSSQLSERVER-sqlctr11.1.3000.0.dll
    lodctr /R
    Any other suggestions?
    Diane

    Hi,
    Add the service accounts to the local server’s “Performance Monitor Users” group.
    Configure Windows Service Accounts and Permissions
    http://msdn.microsoft.com/en-IN/library/ms143504.aspx#VA_Desc

Maybe you are looking for

  • One step DVD won't finalize

    What am I doing wrong? Thank you. Recently installed iDVD 5 as part of iLife for the 'One Step DVD' capability, installed over the original iDVD 3. Sony miniDV deck is firewired to my G4 Powerbook. iDVD operates the deck and goes through the One Step

  • Exchange Rate Gain/Loss of Incoming Payment

    We are using the SAP BO 2005 A. The system could not post the exchange rate gain/loss transactions correctly. Explain the problem faced in below. The local currency is in Euro. The BP currency is in USD. The invoice is created in USD 1000 with,say, e

  • Presenter did not install

    Hi All, I've just installed Technical Communication Suite 2.5 (as an upgrade from Captivate 3). After installing DVD 1 a message came up to say that Presenter did not install and to refer to a technical document (which I didn't note). How can I get P

  • Conditional MOVE-CORRESPONDING

    Hi, I need to write a piece of code to move records from one internal table to another table. I got to know about the MOVE-CORRESPONDING statement in ABAP. Now my question is: if I use the following, what will the system do: MOVE-CORRESPONDING ITAB1

  • Problem with creating repository

    I can´t create functional repository, because I can´t compile package bodies: ck_util, rmmac and jr_workarea. Problem is with parameter dbms_lock. For example when I want to compile jr_workarea, i get message:" Line # = 287 Column # = 49 Error Text =