Major performance difference - OS X vs. Windows (CC 2014)

I've built an Action-based auto-painter, using the Art History Brush Tool plus the Tool Recording option within the Actions themselves. The development work was done on an iMac machine. Recently I've also been testing the very same Actions on a Windows PC.
Even though the specs for the two machines are very similar - and both normally run Photoshop CC 2014 in a very comparble way speed wise - the auto-painting done on the Windows machine is very slow. Completing the painting of a full 3000 by 2000 pixel image takes between 8 and 35 minutes using Windows. The same image can be painted in between one and a half and three minutes using the iMac. The averaged time-to-completion is approximately ten times faster for the iMac.
The actual specifications for the machines and the software preferences set are:
iMac
3.4 GHz Intel i7 processor
16 GB RAM
conventional HDD 1 TB
ATI Technologies AMD Radeon HD6970M 2048 MB
OS X 10.9.4
Photoshop CC 2014
- set to 75% available RAM
- set to 20 History states
- set to 6 cache levels, tile size 1024 kB
no other primary application open
Windows PC
3.3 GHz Intel i5 processor
16 GB RAM
SSD Intel 120 GB
AMD Radeon HD 6950 1024 MB
Windows 7 Pro (SP1)
Photoshop CC 2014
- set to 75% available RAM
- set to 20 History states
- set to 6 cache levels, tile size 1024 kB
no other primary application open
Does anyone have any suggestions on what might be causing the performance difference?

I've built an Action-based auto-painter, using the Art History Brush Tool plus the Tool Recording option within the Actions themselves. The development work was done on an iMac machine. Recently I've also been testing the very same Actions on a Windows PC.
Even though the specs for the two machines are very similar - and both normally run Photoshop CC 2014 in a very comparble way speed wise - the auto-painting done on the Windows machine is very slow. Completing the painting of a full 3000 by 2000 pixel image takes between 8 and 35 minutes using Windows. The same image can be painted in between one and a half and three minutes using the iMac. The averaged time-to-completion is approximately ten times faster for the iMac.
The actual specifications for the machines and the software preferences set are:
iMac
3.4 GHz Intel i7 processor
16 GB RAM
conventional HDD 1 TB
ATI Technologies AMD Radeon HD6970M 2048 MB
OS X 10.9.4
Photoshop CC 2014
- set to 75% available RAM
- set to 20 History states
- set to 6 cache levels, tile size 1024 kB
no other primary application open
Windows PC
3.3 GHz Intel i5 processor
16 GB RAM
SSD Intel 120 GB
AMD Radeon HD 6950 1024 MB
Windows 7 Pro (SP1)
Photoshop CC 2014
- set to 75% available RAM
- set to 20 History states
- set to 6 cache levels, tile size 1024 kB
no other primary application open
Does anyone have any suggestions on what might be causing the performance difference?

Similar Messages

  • SQL Server 2008R2 vs 2012 OLTP performance difference - log flushes size different

    Hi all,
    I'm doing some performance test against 2 identical virtual machine (each VM has the same virtual resources and use the same physical hardware).
    The 1° VM has Windows Server 2008R2 and SQL Server 2008R2 Standard Edition
    the 2° VM has Windows Server 2012R2 and SQL Server 2012 SP2 + CU1 Standard Edition
    I'm using hammerDB (http://hammerora.sourceforge.net/) has benchmark tool to simulate TPC-C test.
    I've noticed a significative performance difference between SQL2008R2 and SQL2012, 2008R2 does perform better. Let's explain what I've found:
    I use a third VM as client where HammerDB software is installed, I run the test against the two SQL Servers (one server at a time), in SQL2008R2 I reach an higher number of transaction per minutes.
    HammerDB creates a database on each database server (so the database are identical except for the compatibility level), and then HammerDB execute a sequence of query (insert-update) simulating the TPC-C standard, the sequence is identical on both servers.
    Using perfmon on the two servers I've found a very interesting thing:
    In the disk used by the hammerDB database's log (I use separate disk for data and log) I've monitored the Avg. Disk Bytes/Write and I've noticed tha the SQL2012 writes to the log with smaller packet (let's say an average of 3k against an average of 5k written
    by the SQL 2008R2).
    I've also checked the value of Log flushes / sec on both servers and noticed that SQL2012 do, on average, more log flushes per second, so more log flushes of less bytes...
    I've searched for any documented difference in the way log buffers are flushed to disk between 2008r2 and 2012 but found no difference.
    Anyone can piont me in the correct direction?

    Andrea,
    1) first of all fn_db_log exposes a lot of fields that do not exist in SQL2008R2
    This is correct, though I can't elaborate as I do not know how/why the changes were made.
    2) for the same DML or DDL the number of log record generated are different
    I thought as much (but didn't know the workload).
    I would like to read and to study what this changes are! Have you some usefu link to interals docs?
    Unfortunately I cannot offer anything as the function used is currently undocumented and there are no published papers or documentation by MS on reading log records/why/how. I would assume this to all be NDA information by Microsoft.
    Sorry I can't be of more help, but you at least know that the different versions do have behavior changes.
    Sean Gallardy | Blog | Microsoft Certified Master

  • Performance difference between LIKE and "="

    May I know what will be the performance difference for
    select * from a where b = 'C'
    v.s.
    select * from a where b like 'C'
    In general, we don't notice any performance difference in using "LIKE" but under some situation we do. Any idea why?

    Equality is a relatively easy thing for the cost-based optimizer (CBO) to handle, so it is far more likely that it will generate the "right" query plan.
    It is a lot more difficult for the CBO to estimate how many rows a LIKE query will return, particularly since the vast majority of LIKE clauses have wild-cards. I would not be suprised if the CBO were occasionally generating incorrect plans if you are using LIKE where you could be using =.
    Justin

  • Performance analysis after migrating from windows to linux.

    Hi Friends,
    We are on RHEL 5 , EBS 11.5.10.2 , and recently migrated from windows 2003 server to RHEL5. i have couple of questions rendering in my mind .
    1.How can i estimate EBS performance difference from Windows to RHEL5?
    2. any querys or scripts to analyse the responce time for Forms and DB?
    Please help me out if you have any scripts or links to the above scenario.
    Thanks in Advance.
    Raghu

    Hi Raghu;
    We are on RHEL 5 , EBS 11.5.10.2 , and recently migrated from windows 2003 server to RHEL5. i have couple of questions rendering in my mind .
    1.How can i estimate EBS performance difference from Windows to RHEL5?Please check :
    A Primer on Migrating Oracle Applications to a New Platform
    http://blogs.oracle.com/stevenChan/
    2. any querys or scripts to analyse the responce time for Forms and DB?Please check:
    General EBS Discussion
    Hope it helps
    Regard
    Helios

  • 3 SSDs vs 2 SSDs - Specifically, what kind of performance difference is there going to be?

    Consider the following setups:
    Setup Y
    MSI X99S SLI Plus LGA 2011-3 ATX Intel Motherboard
    Intel Core i7-5960X 3.0 GHz LGA 2011-V3 Boxed Processor
    EVGA GeForce GTX 970 Superclocked ACX 2.0 Video Card
    Crucial 32GB 4 x 8GB DDR4-2133 (PC4-17000) C15 Desktop Memory Module Kit
    C: Samsung 850 Pro Series 256GB SATA III 2.5" Internal Solid State Drive (SSD) MZ-7KE256BW    (OS, Programs, Pagefile, Media Cache)http://www.microcenter.com/product/435472/850_Pro_Series_256GB_SATA_III_25_Internal_Solid_ State_Drive_(SSD)_MZ-7KE256BW
    D: Samsung 850 Pro Series 1TB SATA III 2.5" Internal Solid State Drive - MZ-7KE1T0BW (Media, Projects, Previews, Exports)http://www.microcenter.com/product/435474/850_Pro_Series_1TB_SATA_III_25_Internal_Solid_St ate_Drive_-_MZ-7KE1T0BW
    Windows 8.1
    Thermaltake Toughpower 80 Plus 1000W Gold Certified Semi-Modular ATX Power Supply
    Miscellaneous CD-RW or CD-RW/DVD-RW SATA Internal Optical Drive - Refurbished
    Vs the following two setups:
    All the same specs but for disk setup (Setup X):
    C: 256GB 850 Pro  (OS, Programs, Pagefile)
    D: 512GB 850 Pro  (Media, Projects)
    E: 256GB 850 Pro  (Previews, Media Cache, Exports)
    and Vs Setup Z:
    C:256GB 850 Pro (OS, Programs, Pagefile, Media Cache)
    D: 512 GB 850 Pro (Media, Projects, Previews, Exports)
    So considering these disk configurations, which would be recommended?  Specifically, would Setup X be more effective than Setup Y, and if so, for what reason?  What performance differences could be expected?  I can assume that setup Z would be the least effective, but I'm not entirely sure if I understand the exact reasons why.  I would like this to be made clear, and if you have any of your own recommendations for the entire setup, I would love to hear them.
    (This whole thing is merely hypothetical, I just want to learn)

    I seriously doubt that you will find any difference.  Multiple hard drives were required to overcome the poor read/write speeds and access times of those mechancial devices.  With your great choice of very high performance SSD's it should be perfect for anything but uncompressed or other very disk intensive codecs.  One of your Samsung 850 Pro's has the same read/write performance as three hard drives and they are about >500 times faster access times.

  • Major performance Issues after upgrading to 10.9.2

    Hi,
    I have been having major performance issues almost preventing me from using the computer at times.  I suspect I don't have enough memory to run Maverick as the computer was great before I upgraded.
    If any experts or people with ideas for me to speed up the computer, please respond.  If you think the only way to improve performance is add memory or revert back to a previous version of OSX that I have a backup for, let me know.
    Here is the info on my system, thank you in advance!!
    Hardware Information:
              MacBook Pro (15-inch, Late 2008)
              MacBook Pro - model: MacBookPro5,1
              1 2.4 GHz Intel Core 2 Duo CPU: 2 cores
              2 GB RAM
    Video Information:
              NVIDIA GeForce 9400M - VRAM: 256 MB
              NVIDIA GeForce 9600M GT - VRAM: 256 MB
    System Software:
              OS X 10.9.2 (13C1021) - Uptime: 3 days 21:20:10
    Disk Information:
              Hitachi HTS543225L9SA02 disk0 : (250.06 GB)
                        EFI (disk0s1) <not mounted>: 209.7 MB
                        :c (disk0s2) / [Startup]: 249.2 GB (67.82 GB free)
                        Recovery HD (disk0s3) <not mounted>: 650 MB
              MATSHITADVD-R   UJ-868 
    USB Information:
              Apple Inc. Built-in iSight
              Apple, Inc. Apple Internal Keyboard / Trackpad
              Apple Computer, Inc. IR Receiver
              Fitbit Inc. Fitbit Base Station
              Apple Inc. BRCM2046 Hub
                        Apple Inc. Bluetooth USB Host Controller
    Thunderbolt Information:
    Configuration files:
              /etc/sysctl.conf - Exists
              /etc/hosts - Count: 29
    Gatekeeper:
              Mac App Store and identified developers
    Kernel Extensions:
              [not loaded] com.LaCie.ScsiType00 (1.2.0) Support
              [not loaded] com.cisco.nke.ipsec (2.0.1) Support
              [not loaded] com.leapfrog.codeless.kext (2) Support
              [not loaded] com.leapfrog.driver.LfConnectDriver (1.8.1 - SDK 10.7) Support
              [not loaded] com.rim.driver.BlackBerryUSBDriverInt (0.0.39) Support
              [not loaded] com.rim.driver.BlackBerryUSBDriverVSP (0.0.39) Support
              [not loaded] net.kromtech.kext.AVKauth (2.3.6 - SDK 10.8) Support
              [not loaded] net.kromtech.kext.Firewall (2.3.6 - SDK 10.8) Support
    Startup Items:
              CiscoVPN: Path: /System/Library/StartupItems/CiscoVPN
    Problem System Launch Daemons:
              [failed] com.apple.wdhelper.plist
    Launch Daemons:
              [loaded] com.adobe.fpsaud.plist Support
              [loaded] com.adobe.SwitchBoard.plist Support
              [running] com.fitbit.galileod.plist Support
              [loaded] com.google.keystone.daemon.plist Support
              [loaded] com.leapfrog.connect.shell.plist Support
              [loaded] com.microsoft.office.licensing.helper.plist Support
              [loaded] com.timesoftware.timemachineeditor.backupd-auto.plist Support
              [running] com.zeobit.MacKeeper.AntiVirus.plist Support
              [running] com.zeobit.MacKeeper.plugin.AntiTheft.daemon.plist Support
    Launch Agents:
              [not loaded] com.adobe.AAM.Updater-1.0.plist Support
              [loaded] com.adobe.CS5ServiceManager.plist Support
              [running] com.brother.LOGINserver.plist Support
              [running] com.google.keystone.agent.plist Support
    User Launch Agents:
              [loaded] com.adobe.ARM.[...].plist Support
              [failed] [email protected]
              [loaded] com.macpaw.CleanMyMac.helperTool.plist Support
              [running] com.microsoft.LaunchAgent.SyncServicesAgent.plist Support
              [running] com.zeobit.MacKeeper.Helper.plist Support
    User Login Items:
              Google Chrome
    Internet Plug-ins:
              o1dbrowserplugin: Version: 5.3.1.18536 Support
              Google Earth Web Plug-in: Version: 7.1 Support
              Default Browser: Version: 537 - SDK 10.9
              Flip4Mac WMV Plugin: Version: 2.3.8.1 Support
              OfficeLiveBrowserPlugin: Version: 12.2.9 Support
              AdobePDFViewerNPAPI: Version: 10.1.9 Support
              FlashPlayer-10.6: Version: 13.0.0.201 - SDK 10.6 Support
              DivXBrowserPlugin: Version: 2.0 Support
              Silverlight: Version: 5.1.10411.0 - SDK 10.6 Support
              Flash Player: Version: 13.0.0.201 - SDK 10.6 Outdated! Update
              iPhotoPhotocast: Version: 7.0
              googletalkbrowserplugin: Version: 5.3.1.18536 Support
              QuickTime Plugin: Version: 7.7.3
              AdobePDFViewer: Version: 10.1.9 Support
              GarminGpsControl: Version: 2.6.4.0 Release Support
              SharePointBrowserPlugin: Version: 14.3.9 - SDK 10.6 Support
              JavaAppletPlugin: Version: 14.9.0 - SDK 10.7 Check version
    Safari Extensions:
              Dashlane: Version: 2.4.0.55923
    Audio Plug-ins:
              BluetoothAudioPlugIn: Version: 1.0 - SDK 10.9
              AirPlay: Version: 2.0 - SDK 10.9
              AppleAVBAudio: Version: 203.2 - SDK 10.9
              iSightAudio: Version: 7.7.3 - SDK 10.9
    iTunes Plug-ins:
              Quartz Composer Visualizer: Version: 1.4 - SDK 10.9
    User Internet Plug-ins:
              Dashlane: Version: Dashlane 1.0.0 - SDK 10.7 Support
              Move_Media_Player: Version: npmnqmp 071705000010 Support
              WebEx64: Version: 1.0 - SDK 10.6 Support
              Picasa: Version: 1.0 Support
    3rd Party Preference Panes:
              Flash Player  Support
              Flip4Mac WMV  Support
              Growl  Support
    Time Machine:
              Skip System Files: NO
              Auto backup: NO - Auto backup turned off
              Time Machine not configured!
    Top Processes by CPU:
                   3%          WindowServer
                   2%          SystemUIServer
                   1%          diskimages-helper
                   1%          mds
                   0%          Google Chrome Helper EH
    Top Processes by Memory:
              94 MB          Google Chrome
              59 MB          GoogleSoftwareUpdateDaemon
              57 MB          Google Chrome Helper EH
              52 MB          Google Chrome Helper
              39 MB          Finder
    Virtual Memory Information:
              40 MB          Free RAM
              499 MB          Active RAM
              481 MB          Inactive RAM
              465 MB          Wired RAM
              7.33 GB          Page-ins
              502 MB          Page-outs

    The performance issues are due to third party software. Mavericks at the minimum requires 2GB's of RAM but I don't think that's the issue. And you can upgrade RAM anytime.
    MacKeeper should be uninstalled. It does far more harm than good.
    Do not install MacKeeper: Apple Support Communities
    Uninstall instructions > how to uninstall MacKeeper
    249.2 GB (67.82 GB free)
    Keep an eye on available disk space.
    Click your Apple menu icon top left in your screen. From the drop down menu click About This Mac > More Info > Storage
    Make sure there's at least 15% free disk space. Less can slow your Mac down.
    You also need to uninstall CleanMyMac >  How To Uninstall CleanMyMac
    Third party so called Mac cleaning utilities are not necessary on a Mac. Your Mac runs maintenance in the background for you.
    Mac OS X: About background maintenance tasks

  • 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

  • How to perform a clean install of Windows 8 / 8.1

    This document describes, how to perform a clean install of Windows 8.
    Windows 8 System Requirements
    1 GHz or faster processor (with PAE, NX and SSE2 support)
    1 GB RAM (32-bit) or 2 GB RAM (64-bit)
    16 GB available hard disk space (32-bit) or 20 GB (64-bit)
    DirectX 9 graphics device with WDDM 1.0 or higher driver
    Additional requirements to use certain features:
    To use touch, you need a tablet or a monitor that supports multitouch.
    To access the Windows Store and to download and run apps, you need an active Internet connection and a screen resolution of at least 1024 x 768.
    To snap apps, you need a screen resolution of at least 1366 x 768
    More Info: http://aps2.toshiba-tro.de/kb0/TSB2903E20000R02.htm

    I have a new SSD drive and need to either migrate my old HD data, including the Windows 8.1 OS or do a a clean install.  I have obtained the ISO, prepared the boot for the flashdrive and downloaded the install software.  It asks for the product key.   I used the suggested BIOS reader and obtained "a" product key off the BIOS and used that it but (as above) it does not recognize the image.
    How id I get my single Windows license onto my new SSD HD?  Reload, clean install, ???
    How do I get the proper product key or confirm it is correct? 
    It is a new system with little data that I need to copy. I just want the operating system.  I have the driver disc that came with it.

  • SQL Loader and Insert Into Performance Difference

    Hello All,
    Im in a situation to measure performance difference between SQL Loader and Insert into. Say there 10000 records in a flat file and I want to load it into a staging table.
    I know that if I use PL/SQL UTL_FILE to do this job performance will degrade(dont ask me why im going for UTL_FILE instead of SQL Loader). But I dont know how much. Can anybody tell me the performance difference in % (like 20% will decrease) in case of 10000 records.
    Thanks,
    Kannan.

    Kannan B wrote:
    Do not confuse the topic, as I told im not going to use External tables. This post is to speak the performance difference between SQL Loader and Simple Insert Statement.I don't think people are confusing the topic.
    External tables are a superior means of reading a file as it doesn't require any command line calls or external control files to be set up. All that is needed is a single external table definition created in a similar way to creating any other table (just with the additional external table information obviously). It also eliminates the need to have a 'staging' table on the database to load the data into as the data can just be queried as needed directly from the file, and if the file changes, so does the data seen through the external table automatically without the need to re-run any SQL*Loader process again.
    Who told you not to use External Tables? Do they know what they are talking about? Can they give a valid reason why external tables are not to be used?
    IMO, if you're considering SQL*Loader, you should be considering External tables as a better alternative.

  • Is there any performance difference in the order of columns referencing index?

    I wish to find out if there is any performance difference or efficiency in specifying those columns referencing index(es) first in the WHERE clause of SQL statements. That is, whether the order of columns referencing the index is important???.
    E.g. id is the column that is indexed
    SELECT * FROM a where a.id='1' and a.name='John';
    SELECT * FROM a where a.name='John' and a.id='1';
    Is there any differences in terms of efficiency of the 2 statements??
    Please advise. Thanks.

    There is no difference between the two statements under either the RBO or the CBO.
    sql>create table a as select * from all_objects;
    Table created.
    sql>create index a_index on a(object_id);
    Index created.
    sql>analyze table a compute statistics;
    Table analyzed.
    sql>select count(*)
      2    from a
      3   where object_id = 1
      4     and object_name = 'x';
    COUNT(*)
            0
    1 row selected.
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=1 Card=1 Bytes=29)
       1    0   SORT (AGGREGATE)
       2    1     TABLE ACCESS (BY INDEX ROWID) OF 'A' (Cost=1 Card=1 Bytes=29)
       3    2       INDEX (RANGE SCAN) OF 'A_INDEX' (NON-UNIQUE) (Cost=1 Card=1)
    sql>select count(*)
      2    from a
      3   where object_name = 'x'   
      4     and object_id = 1;
    COUNT(*)
            0
    1 row selected.
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=1 Card=1 Bytes=29)
       1    0   SORT (AGGREGATE)
       2    1     TABLE ACCESS (BY INDEX ROWID) OF 'A' (Cost=1 Card=1 Bytes=29)
       3    2       INDEX (RANGE SCAN) OF 'A_INDEX' (NON-UNIQUE) (Cost=1 Card=1)

  • AppleScript Performance Difference from Finder to System Events

    I've just made an interesting discovery. I have a folder that contains about 7000 other folders. When I use the code "tell application "Finder" to set folder_list to folders in folder base_folder" it takes a very long time to respond, about 40 seconds. When I use the code "tell application "System Events" to set folder_list to every folder of folder base_folder" to seems to produce the same result in only about 2 seconds. If I add the filtering criteria, like "whose name begins with search_name", the performance difference is even greater. Clearly I'll be using System Events from now on, but can anyone explain why there is such a large difference in performance? Is there anywhere I can find other performance tweaks like this?
    Note, I'm using system 10.6.5, but there is no automator section in that forum.

    It seems you're going in panic!
    First of all run mainteinance , look for system updates if any, and take care of any block key pressed
    on your keyboard.
    Do not abuse of Force Quit it 'd destroy preference applications, if your itunes take 3h to import your library you can setup in Energy Saver panel some tunings to protect lcd.
    I think 3h to import a music library is not normal, can you post some other info about?
    What can of device you are copying from?
    Did you import ,when you set up your new iMac , an user from your old mac?
    Take a look also at spotlight corner, if there's a little point inside the glass icon , spotlight is indexing your drive/s , this is normal on the first system's run and this 'd slow mac performance.

  • 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

  • Major performance bottleneck in JSF RI 1.0

    We've been doing some load testing this week, and have come up with what I believe is a major performance bottleneck in the reference implementation.
    Our test suite was conducted two different application servers (JBoss and Oracle) and we found that in both cases response time degraded dramatically when hitting about 25-30 concurrent users.
    On analyzing a thread dump when the application server was in this state we noticed that close to twenty threads were waiting on the same locked resource.
    The resource is the 'descriptors' static field in the javax.faces.component.UIComponentBase class. It is a WeakHashMap. The contention occurs in the getPropertyDescriptors method, which has a large synchronized block.

    Well not the answer I was hoping for. But at least that's clear.
    Jayashri, I'm using JSF RI for an application that will be delivered to testing in august. Can you give advice wether I can expect an update for this bottleneck problem within that timeframe?
    Sincerely,
    Joost de Vries
    ps hi netbug. Saw you at theserverside! :-)

  • How do I perform a system restore in Windows 10?

    QuestionHow do I perform a system restore in Windows 10?
    AnswerNote: This article is about Windows 10. Separate articles are available on performing system restore in Windows 8 and Windows 7.
    System restore rolls your system files back to a restore point from a previous date. You can make restore points manually, but Windows will also make them automatically. This will undo system settings, changes from Windows Update, and changes from newly installed software (including removing software installed since that restore point).
    Your data, documents, and most programs won't be changed. This makes system restore a great place to start when you're having a problem and don't know how to fix it.
    System restore reverts drivers installed since the restore point was created. Programs and apps installed since the restore point was created will also need to be reinstalled.
    To view other recovery options in Windows 10, read this article:
    What recovery options are available in Windows 10?
    To perform a system restore, follow these steps:
    Open the Start Menu and select Settings.
    Select Update & security and then Recovery.
    Under Advanced startup, select Restart now.
    After the computer restarts to a screen with various options, select Troubleshoot.
    Select Advanced options and then System Restore.
    When you reach an account selection screen, select an account.
    Enter your password and select Continue.
    Follow the prompts, choosing your desired restore point. (You'll most likely want to use the most recent restore point from before the problem started).
    You can also watch this video to learn how to perform a system restore:

    If you want to create an image of the entire disk, then `dd' is an option. But you can also use ufsdump to create an image of a filesystem running on that disk, but you need to do that for every filesystem on the disk and please keep a copy of you vtoc for the future if you need to restore everything.
    On the other hand you make me thing about someone who wants to clone machines and then a Flash Archive can also be an option. Please keep in mind to ask the question in the future instead of conformation of your answer ;-)

  • Major Performance Loss when the charger is plugged in

    I have a Toshiba Satellite L50D-ASTNX, and have been noticing severe performance loss when I have my charging cable plugged in, whether it is losing frame rate in a video game, or receiving extreme stutters and cpu underruns when producing music on FL Studio 11. When I'm not plugged in my performance is great on high performance mode, but the second I plug in my charger I receive an instant and noticeable drop in performance and IT IS FRUSTRATING to say the least. This has nothing to do with my battery settings, nor does it have anything to do with my advance power settings because I have checked all of that. If anyone has a solution to this please let me know because I'm tired of getting only an hour of use on my laptop before I have to plug the charger bac in and leave it alone since it struggles to perform when charging.  
    OS: Windows 8.1
    Ram: 8gb
    CPU/GPU: AMD A8-5545M APU 1.7ghz

    Hey cacobo,
    I found an article that can help with troubleshooting an iPhone's receiver or speakers.
    iPhone: Can't hear through the receiver or speakers
    http://support.apple.com/kb/TS1630
    Verify that there is nothing plugged in to the headset jack, including headsets, headphones, or adapters.
    Make sure the Ring/Silent switch is not switched to silent.
    While on the Home screen, adjust the volume buttons. If you see the icon below, indicating that headphones are attached, there may be debris or an object lodged in the headset jack:
    Check the headset jack. If there is an object lodged in the headset jack that is not easily removed, have the iPhone serviced to remove object.
    For Original iPhone: If there is light debris, such as lint, in the headset jack, try connecting a pair of headphones to the headset jack and then remove the headphones. Repeat this several times to remove the debris.
    If you have installed a protective film on the display, either ensure that the receiver is not covered or remove the film completely.
    Check the receiver mesh (which is on the top front of the device, above the display). If it appears blocked, use a clean, small, dry, soft-bristled brush to carefully and gently brush away any debris.
    If you have paired with a Bluetooth headset that is nearby, either use the headset or turn Bluetooth off (chooseSettings > General > Bluetooth).
    Restart the iPhone.
    If restarting the iPhone doesn't resolve the issue, try restoring the device.
    If the issue persists, go to the Service Answer Center - iPhone for information on service.
    Hope that helps,
    David

Maybe you are looking for

  • Show Autofocus Points

    The software included with the Canon XTi ZoomBrowser EX has a nice feature missing in Lightroom, the ability to show the AutoFocus Points indicating the active and non-active points. This helps a lot explaining problems with focus/out of focus shots.

  • Which Creative Speakers to buy Next GigaWorks T20-T40, or I-Trigue 3330, 4000 or L3800

    Hi just wondering if anyone could make a recommendation on getting some new 2.1 or 2.0 speakers.. After my old Creative 4.1 have died I have been looking at the following models and my main use will be for Music and movies in my room. So they don?t h

  • Relink binaries for 10gAS and Discoverer Home

    Hi all, We are upgrading the Unix box from solaris 8 to solaris 10. We have 10g AS infrastructure database and services in one home . BI Discoverer in another home. For the database which is assiciated with the 10gAS we are going to run the relink al

  • I accidentally moved Excel to Trash, after 'put back' it still doesn't open?

    Let me clear, my Excel was working perfectly before I did this. I had put the excel shortcut on the desktop, and I moved it to trash because I didn't need the icon on the desktop. I tried to open Exel on the dock, but it didn't open and said that you

  • ASCP Collections spawned Refresh Collection Snapshot taking longer

    Hello Experts, In a decentralized deployment, Refresh Snapshots spawned by ASCP Collections takes longer than the refresh snapshot launched as standalone request. It looks like the program runs for long on the following queries SELECT bic.component_i