Interested in Performance Difference Between Different SL Install Methods?

Go here: http://discussions.apple.com/thread.jspa?messageID=10077299&#10077299.

Run a benchmark for your specific case??
Yes. If you are to implement such an operation, try both, using your actual data, and see which performs best. I can't speak to this particular case, but very often to performance questions is
it depends. So the only way to find out when you are interested for a specific case is to test. And keep in mind that next time it could be different.
Erland Sommarskog, SQL Server MVP, [email protected]

Similar Messages

  • Huge performance differences between a map listener for a key and filter

    Hi all,
    I wanted to test different kind of map listener available in Coherence 3.3.1 as I would like to use it as an event bus. The result was that I found huge performance differences between them. In my use case, I have data which are time stamped so the full key of the data is the key which identifies its type and the time stamp. Unfortunately, when I had my map listener to the cache, I only know the type id but not the time stamp, thus I cannot add a listener for a key but for a filter which will test the value of the type id. When I launch my test, I got terrible performance results then I tried a listener for a key which gave me much better results but in my case I cannot use it.
    Here are my results with a Dual Core of 2.13 GHz
    1) Map Listener for a Filter
    a) No Index
    Create (data always added, the key is composed by the type id and the time stamp)
    Cache.put
    Test 1: Total 42094 millis, Avg 1052, Total Tries 40, Cache Size 80000
    Cache.putAll
    Test 2: Total 43860 millis, Avg 1096, Total Tries 40, Cache Size 80000
    Update (data added then updated, the key is only composed by the type id)
    Cache.put
    Test 3: Total 56390 millis, Avg 1409, Total Tries 40, Cache Size 2000
    Cache.putAll
    Test 4: Total 51734 millis, Avg 1293, Total Tries 40, Cache Size 2000
    b) With Index
    Cache.put
    Test 5: Total 39594 millis, Avg 989, Total Tries 40, Cache Size 80000
    Cache.putAll
    Test 6: Total 43313 millis, Avg 1082, Total Tries 40, Cache Size 80000
    Update
    Cache.put
    Test 7: Total 55390 millis, Avg 1384, Total Tries 40, Cache Size 2000
    Cache.putAll
    Test 8: Total 51328 millis, Avg 1283, Total Tries 40, Cache Size 2000
    2) Map Listener for a Key
    Update
    Cache.put
    Test 9: Total 3937 millis, Avg 98, Total Tries 40, Cache Size 2000
    Cache.putAll
    Test 10: Total 1078 millis, Avg 26, Total Tries 40, Cache Size 2000
    Please help me to find what is wrong with my code because for now it is unusable.
    Best Regards,
    Nicolas
    Here is my code
    import java.io.DataInput;
    import java.io.DataOutput;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    import com.tangosol.io.ExternalizableLite;
    import com.tangosol.net.CacheFactory;
    import com.tangosol.net.NamedCache;
    import com.tangosol.util.Filter;
    import com.tangosol.util.MapEvent;
    import com.tangosol.util.MapListener;
    import com.tangosol.util.extractor.ReflectionExtractor;
    import com.tangosol.util.filter.EqualsFilter;
    import com.tangosol.util.filter.MapEventFilter;
    public class TestFilter {
          * To run a specific test, just launch the program with one parameter which
          * is the test index
         public static void main(String[] args) {
              if (args.length != 1) {
                   System.out.println("Usage : java TestFilter 1-10|all");
                   System.exit(1);
              final String arg = args[0];
              if (arg.endsWith("all")) {
                   for (int i = 1; i <= 10; i++) {
                        test(i);
              } else {
                   final int testIndex = Integer.parseInt(args[0]);
                   if (testIndex < 1 || testIndex > 10) {
                        System.out.println("Usage : java TestFilter 1-10|all");
                        System.exit(1);               
                   test(testIndex);               
         @SuppressWarnings("unchecked")
         private static void test(int testIndex) {
              final NamedCache cache = CacheFactory.getCache("test-cache");
              final int totalObjects = 2000;
              final int totalTries = 40;
              if (testIndex >= 5 && testIndex <= 8) {
                   // Add index
                   cache.addIndex(new ReflectionExtractor("getKey"), false, null);               
              // Add listeners
              for (int i = 0; i < totalObjects; i++) {
                   final MapListener listener = new SimpleMapListener();
                   if (testIndex < 9) {
                        // Listen to data with a given filter
                        final Filter filter = new EqualsFilter("getKey", i);
                        cache.addMapListener(listener, new MapEventFilter(filter), false);                    
                   } else {
                        // Listen to data with a given key
                        cache.addMapListener(listener, new TestObjectSimple(i), false);                    
              // Load data
              long time = System.currentTimeMillis();
              for (int iTry = 0; iTry < totalTries; iTry++) {
                   final long currentTime = System.currentTimeMillis();
                   final Map<Object, Object> buffer = new HashMap<Object, Object>(totalObjects);
                   for (int i = 0; i < totalObjects; i++) {               
                        final Object obj;
                        if (testIndex == 1 || testIndex == 2 || testIndex == 5 || testIndex == 6) {
                             // Create data with key with time stamp
                             obj = new TestObjectComplete(i, currentTime);
                        } else {
                             // Create data with key without time stamp
                             obj = new TestObjectSimple(i);
                        if ((testIndex & 1) == 1) {
                             // Load data directly into the cache
                             cache.put(obj, obj);                         
                        } else {
                             // Load data into a buffer first
                             buffer.put(obj, obj);                         
                   if (!buffer.isEmpty()) {
                        cache.putAll(buffer);                    
              time = System.currentTimeMillis() - time;
              System.out.println("Test " + testIndex + ": Total " + time + " millis, Avg " + (time / totalTries) + ", Total Tries " + totalTries + ", Cache Size " + cache.size());
              cache.destroy();
         public static class SimpleMapListener implements MapListener {
              public void entryDeleted(MapEvent evt) {}
              public void entryInserted(MapEvent evt) {}
              public void entryUpdated(MapEvent evt) {}
         public static class TestObjectComplete implements ExternalizableLite {
              private static final long serialVersionUID = -400722070328560360L;
              private int key;
              private long time;
              public TestObjectComplete() {}          
              public TestObjectComplete(int key, long time) {
                   this.key = key;
                   this.time = time;
              public int getKey() {
                   return key;
              public void readExternal(DataInput in) throws IOException {
                   this.key = in.readInt();
                   this.time = in.readLong();
              public void writeExternal(DataOutput out) throws IOException {
                   out.writeInt(key);
                   out.writeLong(time);
         public static class TestObjectSimple implements ExternalizableLite {
              private static final long serialVersionUID = 6154040491849669837L;
              private int key;
              public TestObjectSimple() {}          
              public TestObjectSimple(int key) {
                   this.key = key;
              public int getKey() {
                   return key;
              public void readExternal(DataInput in) throws IOException {
                   this.key = in.readInt();
              public void writeExternal(DataOutput out) throws IOException {
                   out.writeInt(key);
              public int hashCode() {
                   return key;
              public boolean equals(Object o) {
                   return o instanceof TestObjectSimple && key == ((TestObjectSimple) o).key;
    }Here is my coherence config file
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
         <caching-scheme-mapping>
              <cache-mapping>
                   <cache-name>test-cache</cache-name>
                   <scheme-name>default-distributed</scheme-name>
              </cache-mapping>
         </caching-scheme-mapping>
         <caching-schemes>          
              <distributed-scheme>
                   <scheme-name>default-distributed</scheme-name>
                   <backing-map-scheme>
                        <class-scheme>
                             <scheme-ref>default-backing-map</scheme-ref>
                        </class-scheme>
                   </backing-map-scheme>
              </distributed-scheme>
              <class-scheme>
                   <scheme-name>default-backing-map</scheme-name>
                   <class-name>com.tangosol.util.SafeHashMap</class-name>
              </class-scheme>
         </caching-schemes>
    </cache-config>Message was edited by:
    user620763

    Hi Robert,
    Indeed, only the Filter.evaluate(Object obj)
    method is invoked, but the object passed to it is a
    MapEvent.<< In fact, I do not need to implement EntryFilter to
    get a MapEvent, I could get the same result (in my
    last message) by writting
    cache.addMapListener(listener, filter,
    true)instead of
    cache.addMapListener(listener, new
    MapEventFilter(filter) filter, true)
    I believe, when the MapEventFilter delegates to your filter it always passes a value object to your filter (old or new), meaning a value will be deserialized.
    If you instead used your own filter, you could avoid deserializing the value which usually is much larger, and go to only the key object. This would of course only be noticeable if you indeed used a much heavier cached value class.
    The hashCode() and equals() does not matter on
    the filter class<< I'm not so sure since I noticed that these methods
    were implemented in the EqualsFilter class, that they
    are called at runtime and that the performance
    results are better when you add them
    That interests me... In what circumstances did you see them invoked? On the storage node before sending an event, or upon registering a filtered listener?
    If the second, then I guess the listeners are stored in a hash-based map of collections keyed by a filter, and indeed that might be relevant as in that case it will cause less passes on the filter for multiple listeners with an equalling filter.
    DataOutput.writeInt(int) writes 4 bytes.
    ExternalizableHelper.writeInt(DataOutput, int) writes
    1-5 bytes (or 1-6?), with numbers with small absolute
    values consuming less bytes.Similar differences exist
    for the long type as well, but your stamp attribute
    probably will be a large number...<< I tried it but in my use case, I got the same
    results. I guess that it must be interesting, if I
    serialiaze/deserialiaze many more objects.
    Also, if Coherence serializes an
    ExternalizableLite object, it writes out its
    class-name (except if it is a Coherence XmlBean). If
    you define your key as an XmlBean, and add your class
    into the classname cache configuration in
    ExternalizableHelper.xml, then instead of the
    classname, only an int will be written. This way you
    can spare a large percentage of bandwidth consumed by
    transferring your key instance as it has only a small
    number of attributes. For the value object, it might
    or might not be so relevant, considering that it will
    probably contain many more attributes. However, in
    case of a lite event, the value is not transferred at
    all.<< I tried it too and in my use case, I noticed that
    we get objects nearly twice lighter than an
    ExternalizableLite object but it's slower to get
    them. But it is very intersting to keep in mind, if
    we would like to reduce the network traffic.
    Yes, these are minor differences at the moment.
    As for the performance of XMLBean, it is a hack, but you might try overriding the readExternal/writeExternal method with your own usual ExternalizableLite implementation stuff. That way you get the advantages of the xmlbean classname cache, and avoid its reflection-based operation, at the cost of having to extend XMLBean.
    Also, sooner or later the TCMP protocol and the distributed cache storages will also support using PortableObject as a transmission format, which enables using your own classname resolution and allow you to omit the classname from your objects. Unfortunately, I don't know when it will be implemented.
    >
    But finally, I guess that I found the best solution
    for my specific use case which is to use a map
    listener for a key which has no time stamp, but since
    the time stamp is never null, I had just to check
    properly the time stamp in the equals method.
    I would still recommend to use a separate key class, use a custom filter which accesses only the key and not the value, and if possible register a lite listener instead of a heavy one. Try it with a much heavier cached value class where the differences are more pronounced.
    Best regards,
    Robert

  • Graph axes assignment: performance difference between ATTR_ACTIVE_XAXIS and ATTR_PLOT_XAXIS

    Hi,
    I am using a xy graph with both x axes and both y axes. There are two possibilities when adding a new plot:
    1) PlotXY and SetPlotAttribute ( , , , ATTR_PLOT_XAXIS, );
    2) SetCtrlAttribute ( , , ATTR_ACTIVE_XAXIS, ) and PlotXY
    I tend to prefer the second method because I would assume it to be slightly faster, but what do the experts say?
    Thanks!  
    Solved!
    Go to Solution.

    Hi Wolfgang,
    thank you for your interesting question.
    First of all I want to say, that generally spoken, using the command "SetCtrlAttribute"is the best way to handle with your elements. I would suggest using this command when ever it is possible.
    Now, to your question regarding the performance difference between "SetCtrlAttribute" and "SetPlotAttribute".
    I think the performance difference occures, because in the background of the "SetPlotAttribute" command, another function called "ProcessDrawEvents" is executed. This event refreshes your plot again and again in the function whereas in the "SetCtrlAttribute" the refreshing is done once after the function has been finished. This might be a possible reason.
    For example you have a progress bar which shows you the progress of installing a driver:
    "SetPlotAttribute" would show you the progress bar moving step by step until installing the driver is done.
    "SetCtrlAttribute" would just show you an empty bar at the start and a full progress bar when the installing process is done.
    I think it is like that but I can't tell you 100%, therefore I would need to ask our developers.
    If you want, i can forward the question to them, this might need some times. Also, then I would need to know which version of CVI you are using.
    Please let me now if you want me to forward your question.
    Have a nice day,
    Abduelkerim
    Sales
    NI Germany

  • Differences between different  versions of BW 2.1C,3.0A and 3.5

    Can anybody tell me the differences between different versions of BW.
    I m new to SAP BW,i directly learned in BI7.0.So please anybody let me know the difference in implementation of features in 2.1C, 3.0A ,3.5 ,if possible BI7.0 also

    please read this:
    http://help.sap.com/saphelp_nw70/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm

  • Differences between different IR versions

    Can you please tell me the differences between different IR versions?
    Thanks

    Here are the 11.1.2 specific IR changes: from the R&A Readme:
    Interactive Reporting
    Support for SFTP
    SFTP protocol is now supported for distribution outputs generated by jobs and schedules. For more information, see the Hyperion Reporting and Analysis Framework Administrator’s Guide.
    Interactive Reporting Roles
    Two new roles, IR HTML Viewer and IR WebClient Viewer, have been added for Interactive Reporting. For additional information, see the EPM User and Role Security Guide.
    Removal of CMC
    CMC is no longer a separate web application. All functionality has been merged into the Administer module. For more information, see the Hyperion Reporting and Analysis Framework Administrator’s Guide.
    There are also several Workspace changes which would could impact IR users as well, depening on your particular set up , it might be worthwhile reviewing those as well.
    Cheers, Iain

  • Is there a performance difference between Automation Plug-ins and the scripting system?

    We currently have a tool that, through the scripting system, merges and hides layers by layer groups, exports them, and then moves to the next layer group.  There is some custom logic and channel merging that occasionally occurs in the merging of an individual layer group.  These operations are occuring through the scripting system (actually, through C# making direct function calls through Photoshop), and there are some images where these operations take ~30-40 minutes to complete on very large images.
    Is there a performance difference between doing the actions in this way as opposed to having these actions occur in an automation plug-in?
    Thanks,

    Thanks for the reply.    I ended up just benchmarking the current implementation that we are using (which goes through DOM from all indications, I wasn't the original author of the code) and found that accessing each layer was taking upwards of 300 ms.  I benchmarked iterating through the layers with PIUGetInfoByIndexIndex (in the Getter automation plug-in) and found that the first layer took ~300 ms, but the rest took ~1 ms.  With that information, I decided that it was worthwhile rewriting the functionality in an Automation plug-in.

  • Is there a big performance difference between HD's

    Hi All
      Is there a big performance difference between a 5400 & 7200 Rpm hardrive? I'm asking because I want to pick up a new Imac and am stuck between choosing the higher end 21.5" and lower end 27" and am trying to determine if the difference in price is worth the extra sheckles.

    I was wanting to know the same question (5400rpm vs. 7200rpm) in a 15" standard MBP, deciding on whether to get a 1TB serial ATA drive @ 5400rpm vs. a 750GB serial ATA drive @ 7200rpm. (Sorry to jump in)
    For the most part, I'm a general user - web surfing/research, Word processing/Excel/Powerpoint (pretty basic), etc. BUT I do like to take alot of photos and plan on doing some editing on them (nothing advanced) and creating slideshows with my photos/music (ex. my Europe trip of photos or a slideshow of the grandchildren as a gift to my parents, etc.)
    Some folks mention "video editing" in reference to gonig with the faster speed (7200rpm) if that's what you plan on doing. But, what do they exactly mean by "video editing"? Is slideshow creation the same? 
    Just wondering for my needs, whether I should go with the 750GB serial ATA drive @ 7200 rpm or the 1TB serial ATA drive @ 5400rpm ($50 more yet with more storage space which would help with my increasing photo files every year).
    Thanks

  • What is the performance difference between an Oct 2011 i5 and a June 2012 i7 in performance if they both have 16GB RAM

    what is the performance difference between an Oct 2011 i5 and a June 2012 i7 in performance if they both have 16GB RAM

    At least. The Core i7 can drive up to 8 concurrent 64-bit threads, more than an i5. Plus the 2011 models used the Sandy Bridge family of Intel chips, whereas the 2012 are the latest Ivy Bridge, that uses a much faster, less latency architecture.

  • Performance difference between 3.33 6 core and dual 2.4 quad core.

    Sorry if this seems like a silly question to the technically savvy out there, but I am looking to replace my older Mac Pro. I was wondering what the performance difference between those two machines.
    I am a film editor and run Final Cut as well as Avid Media Composer, plus I do effects work in After Effects. Which of the two would be bettervforvtgatbwork? Media storage issues aside, would I get better performance for video work from the lower ghz dual core or the larger ghz 6 core?
    Both machines are essentially the same cost. So I wonder if there is a better choice amongbthe two, and why.
    I tried some research, but couldn't find a direct comparison or a general guide that seemed to correspond to those configuration differences.

    Hello nibford,
    For photo editing and digital imaging I would recommend the 6-Core 3.33GHz as the better buy, but then I do not use Final Cut, Avid Media Composer, or After Effects.
    The following article, from the legendary, and much quoted, Mac Performance Guide, gives an excellent insight into the new 2010 range of Mac Pros:
    http://macperformanceguide.com/Reviews-MacProWestmere.html
    Unfortunately, from your point of view, but not mine, the performance tests are predominantly photography related, but there is a comparison of Performance with Adobe After Effects on Page 28:
    http://macperformanceguide.com/Reviews-MacProWestmere-AfterEffects.html
    There is virtually no difference in performance between the 6-Core 3.33GHz and the 8-Core 2.4GHz in those tests.
    However, in the Performance with Handbrake Video Encoding on Page 29, the 6-Core 3.33GHz is only marginally slower than the 8-Core 2.93GHz, which would indicate that it would be substantially faster than the 8-Core 2.4GHz for this process:
    http://macperformanceguide.com/Reviews-MacProWestmere-Handbrake.html
    Again the 6-Core 3.33GHz outperforms the 8-Core 2.4GHz in the Cinebench tests on Page 30:
    http://macperformanceguide.com/Reviews-MacProWestmere-Cinebench.html
    The only advantage that the 8-Core 2.4GHz currently appears to have over the 6-Core 3.33GHz is that it has twice the number of memory slots, and can accommodate a maximum of 64GB RAM compared to the 32GB of the latter.
    In the future, applications might take full advantage of the 8-Core 2.4GHz's additional cores, but at the moment, in my opinion, the 6-Core's much faster processor tips the scales in its favour.
    Regards,
    Bill

  • Performance difference between java.beans.Expression and Java Reflection

    What is the Performance difference between using java.beans.Expression class and Java Reflection classes like Class,Method ??

    negligible

  • What's the difference between equals() and compareTo() method

    I'm confused between the two method from String class ,,, what's the main difference between equals() and compareTo() method?

    API docs give quite clear information IMHO
    public boolean equals(Object anObject)
    Compares this string to the specified object. The result is true if and only if the argument is not null and is
    a String object that represents the same sequence of characters as this object.
    public int compareTo(String anotherString)
    Compares two strings lexicographically. ....
    The result is a negative integer if this String object lexicographically precedes the argument string. The
    result is a positive integer if this String object lexicographically follows the argument string. The result is
    zero if the strings are equal; compareTo returns 0 exactly when the equals(Object) method would return
    true. Mike

  • Performance difference between After effects and Premiere Pro

    Hi,
    I'm sure this question has come up before and i've found lots of threads talking about After effects performance so I apologise if this is a repeat, i'm very new to Premiere/AE moving from FCP.
    Why is it that performance in Premiere Pro is excellent with real time video playback even when applying effects where if I import that same clip into After Effects I get 15fps on a 720p 50fps clip. Am I missing something, a preference maybe or should I expect this kind of performance without completing a RAM preview first.
    As a note, I'm testing this on a 2012 Macbook Air as I'm planning on doing simple cuts and adjustments on the road.

    Am I missing something,
    Yes. The difference between an edit suite and a compositing program. Seriously, simply accept things as they are and don't try to apply principles from one program to the other when they are based on completely different workflow paradigms which in turn affect the underlying tech stuff.
    Mylenium

  • Performance Difference Between 2gb and 4gb on a MacBook Pro

    Hi Guys,
    About to make the big purchase. I am wondering what is the proformance difference between 2gb of ram and 4gb of ram on the new MacBook Pro?
    Thanks
    ll

    I upgraded my new late 208 mbp and have been having ram problems ever since. My computer keeps locking up usually during video play and makes screeching noises and has weird 1 inch thick horizontal lines that go across my screen when it happens. I have to do a hard shutdown. I called macsales.com where i got the OWC memory and they said there is an issue with the video drivers and the third party memory. I have already had a replacement computer from Apple and it is still happening on a different computer. i did a fresh install of the OS but still having it. So be aware....it's already happened on two computers for me!

  • Is there any performance difference between unique and no unique index

    Hi,
    We are working with both databases Oracle and MS-SQL and we have an open channel to MS-SQL server core team.
    We got the word from them that there is a difference between unique and no unique index from the optimizer perspective, i.e. the optimizer knowing that the index is unique may choose a more suitable plan for running a specific query, we're still trying to find a specific example.
    Anyway, since we do not have an open channel to Oracle core, I thought maybe one of you guys knows something about Oracle optimizer behavior on this issue.
    I am interested verified answers from certified sources and not suggestions or thoughts.
    Thanks in advanced,
    Tal ([email protected]).

    Maybe, you will like to check this link for a similar question answered by Tom Kyte
    http://asktom.oracle.com/pls/ask/f?p=4950:8:385900000490041683::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:7641143144618,

  • Difference between different types of patches

    Hi all
    I want to know difference between the database upgrade patchset, cpu,
    psu, one off patches and what are the methods of deploying these patches?

    Hi,
    I want to know difference between the database upgrade patchset, cpu,psu, one off patches and what are the methods of deploying these patches?Refer thread for PUS and CPU:
    Difference b/w CPU  and PSU
    usually *One-off  patches are single  small size patch used for fixing an existing bug.
    PSU and CPU are consolidated of one-off patches, for more information refer thread mentioned above.
    These are installed using Opatch utility
    Patchests are certainly big in size and most of the bugfixes and new features are included within this, and will upgrade your patchset version.
    suppose you Installed patchset 10.2.0.5 on 10.2.0.1 then your database will be upgraded to version *10.2.0.5*.
    These patchsets are Installed using OUI
    hope help :)
    thanks,
    X A H E E R

Maybe you are looking for

  • Reg:Combining two display list into one

    *&      Form  F_006_DISPLAY_LIST       text -->  p1        text <--  p2        text FORM F_006_DISPLAY_LIST. TABLES : LFA1 .   DATA : V_DEBIT_TOTAL TYPE P DECIMALS 2 ,          V_CREDIT_TOTAL TYPE P DECIMALS 2 ,          V_CLOSE_BAL TYPE P DECIMALS 2

  • Multicast Exception when starting a managed weblogic server.

    I receive a Multicast Exception when i try to start a managed weblogic server from the same machine on which my admin server is running.           when i try to start a managed server from another machine then it does not allow me to do so.          

  • Buffer Cache to Datafile

    While taking User managed hotbackup how the data will be writen to the datafile from buffer cache Thanks

  • No BPEL instances viewable after upgrading to 10.1.3.4

    I upgraded my local copy of the SOA suite to patch 10.1.3.4 and since I have done so, I have come across a number of problems. When I have run through a BPEL instance it does not appear in the instances tab of the bpel console. I also cannot see bpel

  • Flickering video in timeline and export from premiere

    I called tech support, and they said on Friday (07.18.2014) that they would call me back monday, and then never heard back from them. Anyway, I need to downgrade from Adobe CC2014 Premiere back to the previous version of Premiere, and I have to do it