Many JTextFields - Performance questions

I have written my own "table" which uses a JTextField for each cell, and null as Layout.
I use (my own) tables with about 300 cells (=300 JTextFields).
The application shows 1 to 7 tables which are all displayed in JScrollPanes. If I scroll on one table, all tables scroll with it.
The performance of the program degrades noticable with the number of tables displayed (1->7). (nearly everything seems slower, for example starting to write in a TextField, or scrolling a table)
I have read lots of times, that swing is slow. But I was wondering, what is it's mechanism that makes it slow?
How could I make my program run faster? Would using a JTable be better? Would Using 299 JLabels and 1 JTextField where it is being edited be better?
How would a professional Swing developer handle this? :)
Thanks,
John

Yes you should use a JTable.
JTables do not instantiate real components for each cell, instead they use a single component. When the table is being drawn, the component is updated to the value of each cell in turn and "rubber-stamped" onto the screen . This is done for performance reasons and is very effective.
JTables are fairly easy to use, although there are some gotchas when you want to use them for input.

Similar Messages

  • Simple performance question

    Simple performance question. the simplest way possible, assume
    I have a int[][][][][] matrix, and a boolean add. The array is several dimensions long.
    When add is true, I must add a constant value to each element in the array.
    When add is false, I must subtract a constant value to each element in the array.
    Assume this is very hot code, i.e. it is called very often. How expensive is the condition checking? I present the two scenarios.
    private void process(){
    for (int i=0;i<dimension1;i++)
    for (int ii=0;ii<dimension1;ii++)
      for (int iii=0;iii<dimension1;iii++)
        for (int iiii=0;iiii<dimension1;iiii++)
             if (add)
             matrix[i][ii][iii][...]  += constant;
             else
             matrix[i][ii][iii][...]  -= constant;
    private void process(){
      if (add)
    for (int i=0;i<dimension1;i++)
    for (int ii=0;ii<dimension1;ii++)
      for (int iii=0;iii<dimension1;iii++)
        for (int iiii=0;iiii<dimension1;iiii++)
             matrix[i][ii][iii][...]  += constant;
    else
    for (int i=0;i<dimension1;i++)
    for (int ii=0;ii<dimension1;ii++)
      for (int iii=0;iii<dimension1;iii++)
        for (int iiii=0;iiii<dimension1;iiii++)
           matrix[i][ii][iii][...]  -= constant;
    }Is the second scenario worth a significant performance boost? Without understanding how the compilers generates executable code, it seems that in the first case, n^d conditions are checked, whereas in the second, only 1. It is however, less elegant, but I am willing to do it for a significant improvement.

    erjoalgo wrote:
    I guess my real question is, will the compiler optimize the condition check out when it realizes the boolean value will not change through these iterations, and if it does not, is it worth doing that micro optimization?Almost certainly not; the main reason being that
    matrix[i][ii][iii][...]  +/-= constantis liable to take many times longer than the condition check, and you can't avoid it. That said, Mel's suggestion is probably the best.
    but I will follow amickr advice and not worry about it.Good idea. Saves you getting flamed with all the quotes about premature optimization.
    Winston

  • BPM performance question

    Guys,
    I do understand that ccPBM is very resource hungry but what I was wondering is this:
    Once you use BPM, does an extra step decreases the performance significantly? Or does it just need slightly more resources?
    More specifically we have quite complex mapping in 2 BPM steps. Combining them would make the mapping less clear but would it worth doing so from the performance point of view?
    Your opinion is appreciated.
    Thanks a lot,
    Viktor Varga

    Hi,
    In SXMB_ADM you can set the time out higher for the sync processing.
    Go to Integration Processing in SXMB_ADM and add parameter SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 (seconds). You can also increase the number of parallel processes if you have more waiting now. SA_COMM CHECK_FOR_MAX_SYNC_CALLS from 20 to XX. All depends on your hardware but this helped me from the standard 60 seconds to go to may be 70 in some cases.
    Make sure that your calling system does not have a timeout below that you set in XI otherwise yours will go on and finish and your partner may end up sending it twice
    when you go for BPM the whole workflow
    has to come into action so for example
    when your mapping last < 1 sec without bpm
    if you do it in a BPM the transformation step
    can last 2 seconds + one second mapping...
    (that's just an example)
    so the workflow gives you many design possibilities
    (brigde, error handling) but it can
    slow down the process and if you have
    thousands of messages the preformance
    can be much worse than having the same without BPM
    see below links
    http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
    BPM Performance tuning
    BPM Performance issue
    BPM performance question
    BPM performance- data aggregation persistance
    Regards
    Chilla..

  • Xcontrol: performance question (again)

    Hello,
    I've got a little performance question regarding xcontrols. I observed rather high cpu-load when using xcontrols. To investigate it further, I built a minimal xcontrol (boolean type) which only writes the received boolean-value to a display-element in it's facade (see attached example). When I use this xcontrol in a test-vi and write to it with a rate of 1000 booleans / second, I get a cpu-load of about 10%. When I write directly to a boolean display element instead of the xcontrol,I have a load of 0 to 1 %. The funny thing is, when I emulate the xcontrol functionality with a subvi, a subpanel and a queue (see example), I only have 0 to 1% cpu-load, too.
    Is there a way to reduce the cpu-load when using xcontrols? 
    If there isn't and if this is not a problem with my installation but a known issue, I think this would be a potential point for NI to fix in a future update of LV.
    Regards,
    soranito
    Message Edited by soranito on 04-04-2010 08:16 PM
    Message Edited by soranito on 04-04-2010 08:18 PM
    Attachments:
    XControl_performance_test.zip ‏60 KB

    soranito wrote:
    Hello,
    I've got a little performance question regarding xcontrols. I observed rather high cpu-load when using xcontrols. To investigate it further, I built a minimal xcontrol (boolean type) which only writes the received boolean-value to a display-element in it's facade (see attached example). When I use this xcontrol in a test-vi and write to it with a rate of 1000 booleans / second, I get a cpu-load of about 10%. When I write directly to a boolean display element instead of the xcontrol,I have a load of 0 to 1 %. The funny thing is, when I emulate the xcontrol functionality with a subvi, a subpanel and a queue (see example), I only have 0 to 1% cpu-load, too.
    Okay, I think I understand question  now.  You want to know why an equivalent xcontrol boolean consumes 10x more CPU resource than the LV base package boolean?
    Okay, try opening the project I replied yesterday.  I don't have access to LV at my desk so let's try this. Open up your xcontrol facade.vi.  Notice how I separated up your data event into two events?  Go the data change vi event, when looping back the action, set the isDataChanged (part of the data change cluster) to FALSE.  While the data input (the one displayed on your facade.vi front panel), set that isDataChanged to TRUE.  This is will limit the number of times facade will be looping.  It will not drop your CPU down from 10% to 0% but it should drop a little, just enough to give you a short term solution.  If that doesn't work, just play around with the loopback statement.  I can't remember the exact method.
    Yeah, I agree xcontrol shouldn't be overconsuming system resource.  I think xcontrol is still in its primitive form and I'm not sure if NI is planning on investing more times to bug fix or even enhance it.  Imo, I don't think xcontrol is quite ready for primetime yet.   Just too many issues that need improvement.
    Message Edited by lavalava on 04-06-2010 03:34 PM

  • Swing performance question: CPU-bound

    Hi,
    I've posted a Swing performance question to the java.net performance forum. Since it is a Swing performance question, I thought readers of this forum might also be interested.
    Swing CPU-bound in sun.awt.windows.WToolkit.eventLoop
    http://forums.java.net/jive/thread.jspa?threadID=1636&tstart=0
    Thanks,
    Curt

    You obviously don't understand the results, and the first reply to your posting on java.net clearly explains what you missed.
    The event queue is using Thread.wait to sleep until it gets some more events to dispatch. You have incorrectly diagnosed the sleep waiting as your performance bottleneck.

  • Editing stills with motion effects, performance questions.

    I am editing a video in FCE that consists solely of still photos.
    I am creating motion effects (pans and pullbacks, etc) and dissolve
    transitions, and overlaying titles. It will be played back on dvd
    on a 16:9 monitor (standard dvd,not blueray hi-def). Some questions:
    What is the FCE best setup to use for best image quality: DV-NTSC?
    DV-NTSC Anamorphic? or is it HDV-1080i or 720p30 even though it
    won't be played back as hi-def?
    How do best avoid squiggly line problem with pan moves etc?
    On my G-5, 2gb RAM, single processor machine I seem to be having
    performance problems with playback: slow to render, dropping frames, etc
    Thanks for any help!

    Excellent summary MacDLS, thanks for the contribution.
    A lot of the photos I've taken on my camera are 3072 X 2304 (resolution 314) .jpegs.
    I've heard it said that jpegs aren't the best format for Motion, since they're a compressed format.
    If you're happy with the jpegs, Motion will be, too.
    My typical project could either be 1280 X 720 or SD. I like the photo to be a lot bigger than the
    canvas size, so I have room to do crops and grows, and the like. Is there a maximum dimension
    that I should be working with?
    Yes and no. Your originals are 7,000,000 pixels. Your video working space only displays about 950,000 pixels at any single instant.
    At that project size, your stills are almost 700% larger than the frame. This will tax any system as you add more stills. 150% is more realistic in terms of processing overhead and I try to only import HUGE images that I know are going to be tightly cropped by zooming in. You need to understand that an 1300x800 section of your original is as far as you can zoom in , the pixels will be 100% in size. If you zoom in further, all you get are bigger pixels. The trade off you make is that if you zoom way out on your source image, you've thrown away 75% of its content to scale it to fit the video format; you lose much much more if you go to SD.
    Finally, the manual says that d.p.i doesn't matter in Motion, so does this mean that it's worth
    actually exporting my 300 dpi photos to 72 dpi before working with them in Motion?
    Don't confuse DPI with resolution. Your video screen will only show about 900,000 pixels in HD and about 350,000 pixels in SD totally regardless of how many pixels there are in your original.
    bogiesan

  • 9 shared objects performance question

    I have 9 shared objects 8 of which contain dynamic data which i cannot really consolidate into a single shared object because the shared object often has to be cleared.....my question is what performance issues will I exsperience with this number of shared objects .....I maybe wrong in thinking that 9 shared objects is alot.....anybody with any exsperience using multiple shared objects plz respond.

    I've used many more than 9 SO's in an application without issue. I suppose what it really comes down to is how many clients are connected to those SO's and how often each one is being updated.

  • Cursor Performance Questions

    I have a cursor on a complex SQL that goes against seven large tables (10M rows). When I run the SQL it returns rows quickly even when the final result set is a million rows. (So first_rows does not seem to have any impact).
    When I run it via the cursor, it can take 10-15 minutes before the cursor get the first 20K rows. I am doing a bulk collect on the cursor and inserting the rows, commiting them. Looking at the session via Toad I see its on the select statment most of the time. Why does it take 10-15 minutes to get the first 20K rows??
    As the the cursor runs, each block of 20K rows is obtained faster and faster till when the last five batches of 20K come in, the batches take only 5 - 10 secs each.
    So I have two questions:
    Why is the cursor so slow to get started, while the SQL shows results within seconds.
    Once started why does it appear to speed up towards the end.
    I have seen this happen many times ( > 20) so its not a one off occurrence.
    I am on Oracle 10.2.0.2
    R

    When you "run the SQL", are you talking about executing the SQL statement in a GUI that returns the first, say, 50 rows (the SQL Developer default), and then waits to fetch the next 50 rows? If so, are you sure that you are measuring things accurately? If, for example, it take 5 seconds to return the first 50 rows, it might reasonably take 400 times as long (2000 seconds or 33.3 minutes) to fetch 20,000 rows. I'm wildly guessing at numbers here, of course, but it would be helpful if you could provide this sort of back of the envelope calculation.
    Are you getting the same query plan when you run the SQL statement directly and when the SQL statement is executed in your PL/SQL block (I'm guessing that's what you mean by "via the cursor"-- every SQL statement opens a cursor, so you're always fetching from a cursor)?
    Is it possible that the query plan and the physical ordering of data on disk has an impact? If you are doing a full table scan, for example, and it so happens that there are 50 rows at the beginning of the table that match your criteria, then you scan millions of blocks to get the next 50 rows that match the criteria, returning the first 50 rows will be very fast while returning the second set of 50 rows will be much slower.
    And, since you are concerned about performance, is there a reason that you are using PL/SQL at all? If you're simply selecting data from one table and inserting it into another, it will be more efficient to do that in a single SQL statement rather than resorting to PL/SQL collections.
    Justin

  • Performance Question:Two 2.8GHz Quad-Core VS Two 3.0GHz Quad-Core?

    I am in the market for a Mac Pro and I want to know if there is a huge performance difference between the dual 2.8 quad-cores and the dual 3.0 quad-cores. I do video editing, web sites and graphic design, as well as gaming. Is 200 more mhz really worth $800? Please let me know what is a better investment?

    Hello,
    Your question is one seen often here.
    I would agree that the difference in time-to-completion for projects such as video editing is important. But one has to think in terms of seconds saved - per project. In other words, if one saves "10 seconds" per project using the higher speed processors, does that represent a significant savings at the end of a year's worth of projects? That of course depends on how many "extra" projects get completed (and paid for). Most individual Mac users agree that it's not that significant a difference when it comes to profits gained vs extra cost of the machine.
    Granting: If one is talking about a company with 500 people running high end rendering projects, the cumulative difference is significant because there'll be that many more "extra projects" completed over a given period. It's just obvious: increasing productivity on that scale is significant.
    Video gaming is in an entirely different category: "personal preference." I think it's fine if a gamer finds the "mightier" machine provides a better experience. But it won't help you "win" a single video game. As one who was active in the Muscle Car Era of the 1960s, I think that was much like what we're seeing with video gamers today. If having a 450 hp muscle car was itself a status symbol, it still only meant that, sometimes, a street drag race could be won by "a bumper length" over a 400 hp car. No one can say they have the "right" to decide how you spend your money - it's up to you if the prestige is worth it to you.
    Basically, given the above, I have to agree with Rick (and many others) on this question.

  • Java Performance question...

    Hi,
    I am trying to find information/tips to help me improve overall Java and thread performance using j2sdk 1.4.2 or at least verify I am following good practices regarding performance. I have seen some articles that mention issues w/ synchronized elements, avoiding exception throwing, etc., I still have questions as to if and how the following afffect performance:
    - yield() vs. sleep() vs. wait() (or none) for maximizing thread execution time/efficiency
    - join() vs. wait() + isAlive()
    - static vs. instance methods/data
    - Running threads as classes that extend Thread vs. implement Runnable
    - ... anything else I may be missing at the moment
    Do any of these things even matter?
    What about JVM command-line arguments and performance? Is there comprehensive explanation somewhere detailing all options and guidelines on what values to use?
    It seems like all of this must have been written about/discussed before, but I haven't seen anything that helps pull it all together so I don't have to experiment with it myself (i.e., reinvent the wheel).

    practices regarding performance. I have seen some
    articles that mention issues w/ synchronized
    elements, avoiding exception throwing, etc.,Take those with a grain of salt.
    Sync: Try to keep your synchronized blocks short--get in and get out. This minimizes contention. But don't avoid syncing when you need it or convolute your code just because you think syncing will hurt performance.
    Exceptions: If you're throwing so many exceptions that it's significantly hurting performance, you've got bad data, a stupid user, buggy code, a bad network, etc. Avoiding exceptions won't fix that. Throw an exception when it's called for. By definition it should be exceptional, so it won't have a big impact on overall performance.
    I still
    have questions as to if and how the following afffect
    performance:None of the following choices would be made for performance reasons.
    >
    - yield() vs. sleep() vs. wait() (or none) for
    maximizing thread execution time/efficiencyAll of the above serve different purposes. Choose the one that's right for what you're trying to accopmlish.
    Yield is for when you want to explicitly give other threads a chance to run. There's no guarantee the will. I've never used it, and I think I've heard that it's rarely usefule and can actually hurt performance a bit, probably because you shouldn't try to outsmart the scheduler.
    Sleep is for when you want your thread to stop executing for a certain amount of time.
    Wait is for when you want your thread to stop executing until some external event tells it to go back to work.
    - join() vs. wait() + isAlive()Join just says stop here until the thread in question exits. I can't think off the top of my head when you'd use wait() + isAlive(), but I doubt there's any performance reason to chose it over join() to accomplish the same task.
    - static vs. instance methods/dataNo.
    Use static members for things that apply to the class as a whole, and have no need to use or modify the state of a particular instance of the class. Use instance members for things that are related to specific instance--i.e. this Foo as opposed to that Foo. Absolutely DO NOT pick one or the other thinking you'll get better performance.
    - Running threads as classes that extend Thread vs.
    implement RunnableAre you modifying or adding to Thread's behavior? Almost certainly no. Therefore, your class IS-NOT-A Thread, so don't extend Thread. Implement Runnable. This has nothing to do with performance.
    - ... anything else I may be missing at the moment
    Do any of these things even matter?It sounds like you're falling into the premature optimization trap.
    Use appropriate algorithms and data structures to get maximum performance. Don't futz around with little bitty tweaks that go against good OO or the nature of your design until and unless you have measured the time these sections of code are taking and have verified that they are bottlenecks.
    >
    What about JVM command-line arguments and
    performance? Is there comprehensive explanation
    somewhere detailing all options and guidelines on
    what values to use? The main things that you tweak on the command line in this respect relate to GC, I think.
    http://java.sun.com/docs/hotspot/

  • Coherence performance question

    Hi,
    I have 3-4 jms consumers that put entries in parallel to the same cache. In parallel there are 2 times more threads that delete entries (no gets for now). While investigating the overall performance of the application I frequently spot the threads below. Can somebody comment if this is normal and if it is causing any contention or synchronisation. Running on solaris with 8 intel cores. Cache is distributed write-through. The cache store is just a mock.
    "jmsContainer-1" prio=10 tid=0x0968dad0 nid=0x61 in Object.wait() [http://0x9fb23000..0x9fb23c38]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:474)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.waitPolls(DistributedCache.CDB:17)
    - locked &lt;0xf0fd3c18&gt; (a java.util.HashSet)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.putAll(DistributedCache.CDB:84)
    at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1344)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$ViewMap.putAll(DistributedCache.CDB:1)
    at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
    at com.foo.util.jobbus.impl.JobBusCoherenceImpl.addTail(JobBusCoherenceImpl.java:135)
    at com.foo.bar.input.MDP_NoEsper.process(MDP_NoEsper.java:129)
    at com.foo.bar.input.MDP_NoEsper.onMessage(MDP_NoEsper.java:71)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:316)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:927)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:851)
    at java.lang.Thread.run(Thread.java:595)
    "jmsContainer-1" prio=10 tid=0x0b5265a0 nid=0x60 in Object.wait() [http://0x9fb64000..0x9fb64db8]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:474)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.waitPolls(DistributedCache.CDB:17)
    - locked &lt;0xf106f538&gt; (a java.util.HashSet)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.putAll(DistributedCache.CDB:84)
    at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1344)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$ViewMap.putAll(DistributedCache.CDB:1)
    at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
    at com.foo.util.jobbus.impl.JobBusCoherenceImpl.addTail(JobBusCoherenceImpl.java:135)
    at com.foo.bar.input.MDP_NoEsper.process(MDP_NoEsper.java:129)
    at com.foo.bar.input.MDP_NoEsper.onMessage(MDP_NoEsper.java:71)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:316)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:927)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:851)
    at java.lang.Thread.run(Thread.java:595)
    "jmsContainer-1" prio=10 tid=0x08857c68 nid=0x5f in Object.wait() [http://0x9fba5000..0x9fba5d38]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:474)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.waitPolls(DistributedCache.CDB:17)
    - locked &lt;0xf1185680&gt; (a java.util.HashSet)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.putAll(DistributedCache.CDB:84)
    at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1344)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$ViewMap.putAll(DistributedCache.CDB:1)
    at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
    at com.foo.util.jobbus.impl.JobBusCoherenceImpl.addTail(JobBusCoherenceImpl.java:135)
    at com.foo.bar.input.MDP_NoEsper.process(MDP_NoEsper.java:129)
    at com.foo.bar.input.MDP_NoEsper.onMessage(MDP_NoEsper.java:71)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:316)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:927)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:851)
    at java.lang.Thread.run(Thread.java:595)
    "jmsContainer-1" prio=10 tid=0x0a636180 nid=0x5e in Object.wait() [http://0x9fbe6000..0x9fbe6ab8]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:474)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.waitPolls(DistributedCache.CDB:17)
    - locked &lt;0xf0ef28e8&gt; (a java.util.HashSet)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$BinaryMap.putAll(DistributedCache.CDB:84)
    at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1344)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$ViewMap.putAll(DistributedCache.CDB:1)
    at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
    at com.foo.util.jobbus.impl.JobBusCoherenceImpl.addTail(JobBusCoherenceImpl.java:135)
    at com.foo.bar.input.MDP_NoEsper.process(MDP_NoEsper.java:129)
    at com.foo.bar.input.MDP_NoEsper.onMessage(MDP_NoEsper.java:71)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:316)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:927)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:851)
    at java.lang.Thread.run(Thread.java:595)

    Additional information and questions...On Solaris T1 machine I see times like 80ms per put() when configured with 3 concurrent writer threads - distributed cache with only one node. This is very severe limitation - practically the throughput of this 3 writers is limited to 30messages/sec. Is this normal time for put() operation?
    How fast should I expect put operation to be for object with 20 string fields 10 chars each implementing ExternaliableLite? How many concurrent writers does it typically make to have in one cluster node?
    What are the best practices to implement fast writers to partitioned cache?
    BR,
    Georgi

  • MBP with 27" Display performance question

    I'm looking for advice regarding improving the performance, if possible, of my  Macbook Pro and new 27'' Apple display combination.  I'm using a 13" Macbook Pro 2.53Ghz with 4GB RAM, NVIDIA GeForce 9400M graphics card and I have 114GB of the 250GB of HD space available.  What I'm really wondering is is this enough spec to run the 27" display easily.  Apple says it is… and it does work, but I suspect that I'm working at the limit of what my MCB is capable of.  My main applications are Photoshop CS5 with Camera RAW and Bridge.  Everything works but I sometimes get lock ups and things are basically a bit jerky.  Is the bottle neck my 2.53Ghz processor or the graphics card?  I have experimented with the Open GL settings in Photoshop and tried closing all unused applications.  Does anyone have any suggestions for tuning things and is there a feasible upgrade for the graphics card if such a thing would make a difference?  I have recently started working with 21mb RAW files which I realise isn't helping.  Any thoughts would be appreciated.
    Matt.

    I just added a gorgeous LCD 24" to my MBP setup (the G5 is not Happy) The answer to your question is yes. Just go into Display Preferences and drag the menu bar over to the the 24 this will make the 24 the Primary Display and the MBP the secondary when connected.

  • Performance question about 11.1.2 forms at runtime

    hi all,
    Currently we are investigating a forms/reports migration from 10 to 11.
    Initialy we were using v. 11.1.1.4 as the baseline for the migration. Now we are looking at 11.1.2.
    We have the impression that the performance has decreased significantly between these two releases.
    To give an example:
    A wizard screen contains an image alongside a number of items to enter details. In 11.1.1.4 this screen shows up immediately. In 11.1.2 you see the image rolling out on the canvas whilst the properties of the items seem to be set during this event.
    I saw that a number of features were added to be able to tune performance which ... need processing too.
    I get the impression that a big number of events are communicating over the network during the 'built' of the client side view of the screen. If I recall well during the migration of 6 to 9, events were bundled to be transmitted over the network so that delays couldn't come from network roundtrips. I have the impression that this has been reversed and things are communicated between the client and server when they arrive and are not bundled.
    My questions are:
    - is anyone out there experiencing the same kind of behaviour?
    - if so, is there some kind of property(ies) that exist to control the behaviour and improve performance?
    - are there properties for performance monitoring that are set but which cause the slowness as a kind of sideeffect and maybe can be unset.
    Your feedback will be dearly appreciated,
    Greetigns,
    Jan.

    The profile can't be changed although I suspect if there was an issue then banding the line would be something they could utilise if you were happy to do so.
    It's all theoretical right now until you get the service installed. Don't forget there's over 600000 customers now on FTTC and only a very small percentage of them have faults. It might seem like lots looking on this forum but that's only because forums are where people tend to come to complain.
    If you want to say thanks for a helpful answer,please click on the Ratings star on the left-hand side If the the reply answers your question then please mark as ’Mark as Accepted Solution’

  • SSD Performance Questions

    I've just ordered a MBP 2.4Ghz with 7200rpm 750GB drive, I will be adding either a single 8GB memory stick (total of 10GB) or a 16GB kit.  I'm looking for my first SSD use as a boot drive for OSX and potentially Win 7 in BootCamp and hope I can get some counsel on model selection and configuration.
    I read that SSDs suffer a performance drop (sometimes significant) as the drive fills up.  Also there are both 256GB and 240GB drives.  Ideally I'd like to avoid the frustration associated with seeing performance drop and maximize my formatted capacity.
    1)  Are there models that maintain performance over time?  Is there a specification that indicates how performance drops as the drive fills up?
    2)  Is there a performance difference (current / long-term) between 256 and 240GB drives?
    3)  Does an abundance of RAM improve performance and / or longevity? 
    4)  How much space (if any) should be kept free for swap files in OSX / Windows?
    5)  With 240 / 256GB SSDs, how much usable space is available after formatting?
    6)  Is there a difference in performance based on file format NTFS vs. HPS+?
    7)  Do I need to be concerned about major name brands (Intel, Samsung, OCZ, Kingston, etc.) being incompatible with MBPs?
    8)  Are some SSDs easier to install / configure / maintain on a MBP than others?
    9)  Are there any issues I should be aware of regarding the installation or use of a SSD that would impact my MBP's warranty?
    Based on performance, reliability and 5-year warranty, I've been attracted to the Intel 520.  I've also read good reports on the Samsung 830.  One review indicated that the 830 maintained performance over time while the 520 experienced a significantly greater drop.  True?
    I can buy either drive in the $330 range.  Here on the forum I've read many recommendations for the OWC drives and support.  For comparable performance and a 5-year warranty, it looks like the Extreme Pro would be the model to buy, however, at $460 it is 50% more expensive.  Thoughts?
    Thanks in advance!  This is the kind of purchase that I can only make once every 5-years, so I really appreciate any help.
    JD

    kayakjunkie wrote:
    I've just ordered a MBP 2.4Ghz with 7200rpm 750GB drive, I will be adding either a single 8GB memory stick (total of 10GB) or a 16GB kit.
    Your performance with the large 16GB should outweigh any drawback the 7,200 RPM drive or even a 5,400 RPM drive unless you start swaping then the 7,200 shoud be fine enough.
    The SSD is good for transfering large data sets off the machine, to another SSD, but little benefit on the same machine with most files as they are small so you don't see any benefit really in most day to day operations. If you had low RAM then the SSD would help with a faster memory swap. As you know SSD's wear out faster than hard drives.
    I'm looking for my first SSD use as a boot drive for OSX and potentially Win 7 in BootCamp and hope I can get some counsel on model selection and configuration.
    Here's the speed demon chart, note the fastest ones are smaller in capacity
    http://www.harddrivebenchmark.net/high_end_drives.html
    Again, unless your transfering large data to a external SSD via Thunderbolt on a constant basis (and can afford to replace the worn out SSD's) then a SSD as a boot drive really isn't worth it for most computers if you have a large amount of RAM.
    It used to be with 32bit processors/OS , 3.5GB RAM limits, that having a fast boot drive mattered in day to day because of the faster memory swap, but not anymore. My 4GB with  5,400 RPM stock is fast enough, but I will be getting 16GB soon for my virtual machine OS's.
    I read that SSDs suffer a performance drop (sometimes significant) as the drive fills up.  Also there are both 256GB and 240GB drives.  Ideally I'd like to avoid the frustration associated with seeing performance drop and maximize my formatted capacity.
    Hard drives do this too because the files have to be broken up more to fit into tiny spaces.
    Hard drives also suffer a bit past the 50% filled as the sectors get smaller.
    I use my 750GB partitioned 50/50, A cloned to B so I can option boot either as I won't use the second 50% of the drive day to day as it's too slow for my tastes.
    IMO 250GB is too small for a drive with Windows too, the fastest 500GB SSD would be better $$$. better balance of speed and onboard storage.
    1)  Are there models that maintain performance over time?  Is there a specification that indicates how performance drops as the drive fills up?
    2)  Is there a performance difference (current / long-term) between 256 and 240GB drives?Not that I know of.
    Not that I know of.
    3)  Does an abundance of RAM improve performance and / or longevity?
    Yes, more RAM = less swapping to the SSD means it will last longer and run faster.
    4)  How much space (if any) should be kept free for swap files in OSX / Windows?
    I would suggest 25% for a SSD should be free space, ideally 50% filled for a hard drive, but to 75% max is likely more realistic for most people.
    6)  Is there a difference in performance based on file format NTFS vs. HPS+?
    You will have little choice of format for OS X or Windows, OS X needs HFS+ and Windows needs NTFS.
    If you do a third partition (hard) then exFAT would likely be the best choice for both OS's to access.
    7)  Do I need to be concerned about major name brands (Intel, Samsung, OCZ, Kingston, etc.) being incompatible with MBPs?
    8)  Are some SSDs easier to install / configure / maintain on a MBP than others?
    Not that I know of.
    9)  Are there any issues I should be aware of regarding the installation or use of a SSD that would impact my MBP's warranty?
    Just don't break anything doing so, as one is allowed to replace the RAM/storage. However the warranty/AppleCare doesn't cover the newley added items of course.
    http://eshop.macsales.com/installvideos/
    Based on performance, reliability and 5-year warranty, I've been attracted to the Intel 520.  I've also read good reports on the Samsung 830.  One review indicated that the 830 maintained performance over time while the 520 experienced a significantly greater drop.  True?
    Performance isn't going to matter unless your dealing with large amounts of data on a constant basis, a long warranty is always good. But SSD's have no moving parts that I know of, so...easy to give a 5 year warranty. IMO.
    Look here
    http://www.harddrivebenchmark.net/
    I can buy either drive in the $330 range.  Here on the forum I've read many recommendations for the OWC drives and support.  For comparable performance and a 5-year warranty, it looks like the Extreme Pro would be the model to buy, however, at $460 it is 50% more expensive.  Thoughts?
    OWC is good, but your basically doing all the work anyway so you can choose to install what you want if you find a faster/larger SSD someplace else.
    You need to learn how Lion Recovery Partition works, there are no OS X install disks anymore, it'a all on a partition to boot to install Lion. If you remove the drive, you need to install Lion somehow again right?
    Carbon Copy Cloner, clones your entire Lion and Lion Recovery Partition to a external drive, can option boot from it and it's the same thing. Reverse clone onto the new SSD.
    Other info you will need.
    https://support.apple.com/kb/HT4718
    https://support.apple.com/kb/dl1433
    http://osxdaily.com/2011/08/08/lion-recovery-disk-assistant-tool-makes-external- lion-boot-recovery-drives/
    A option is you can choose is after you installed Windows in Bootcamp (as the machine won't boot a Windows disk from a external optical drive) on the SSD and used WinClone to clone Bootcamp for backup, is to replace the Superdrive with a kit and place the hard drive there for partitioning and storage.
    This way the SSD stays unchanged and fast, the hard drive takes all the work of the users files, changes etc, places the wear and tear on that instead.
    The Superdrive goes into a enclosure (sold with the kit) and is a external optical drive.
    This modification will of course void your warranty/Applecare.
    For more information, see Bmer (Dave Merten) over at MacOwnersSupportGroup as he has done this and knows all the tricks.

  • Controlfile on ASM performance question

    Seeing Controlfile Enqueue performance spikes, consideration are to move control file to separater diskgroup(need outage) ? or add some disk(from different luns,( i prefer this approach) in the same disk group , seems like slow disk is casing this issue...
    2nd question :can snapshot controlfile be placed on ASM storage?

    Following points may help:
    - Separating the control file to another diskgroup may make things even worse in case that the total number of disks are insufficient in the new disk group.
    - Those control file contention issues are usually nothing to do with the storage throughput you have but the number of operations requiring different levels of exclusion on the control files.
    - Since multiple copies of controlfiles are updated concurrently a possible, sometimes, problem is that the secondary copy of controlfile is slower than the other. Please check that this is not the issue (different tiers of storage may cause such problems)
    Regards,
    Husnu Sensoy

Maybe you are looking for