30 GB Memory Concerns

If a song is in multiple playlists (example 3 playlists) on your iPod, does it take up three times the amount of memory? Or does it store it once and refer to that same location for different playlists?
Thanks everybody!
E Machines Windows XP Pro

It will only copy the song once.
The playlists work like they do in iTunes, and they all refer back to the main file. However, I find if you manually manage the files, and then change the names in iTunes after putting them on the iPod the first time, they can sometimes duplicate.
If you have it set to automatic update, though, you'll be fine.

Similar Messages

  • Bulk batch Jax-WS web services and memory concerns

    I have a requirement to create a web service client to upload 150,000+ records from our database.  My main question is whether others are creating web services to process bulk data and how they handle memory concerns.
    I began with the standard API, populating the jax-b annotated beans created from the wsimport.  I used JConsole to analyze memory usage.  I noticed that there is a sharp spike in the plot of the heap usage (from 200MB to 800MB) right after the invoke method call.
    The problem is that the max heap size on our app server is set to 1GB and since this application shares it with other applications I keep getting a out of memory error.
    I was asked to look for alternatives, so I tried using the Dispatch API creating the payload by sub-tree marshaling to StAX.  The issue I then ran into is that I have a outputstream and the dispatch api is expecting an inputstream.  I tried the options found here http://ostermiller.org/convert_java_outputstream_inputstream.html
    However after using jconsole to analyze again it appears the writing to a temp file or using a byte array increases the amount of memory being used to almost equivalent of using the standard API.  I tried using piped streams in separate threads and the single threaded circular buffer methods, but the application seems to hang after the invoke method call.
    Any help would be appreciated.

    also, you could "page" the data, returning some max number of records in each page of data and a "next page" cookie. this is the standard approach to returning bulk data from a web service.

  • Memory concerns over bean

    Hello All,
    I'm developing an application and I've written this bean containing [many] convenience methods.
    Now, over time, I've added more and more methods to this particular bean until the compiled class has risen to the approximate size of 80K. Which isn't massive, but seeing it contains a fairly substantial amount of code and I instantiate it in practically every single class that I've written, I'm concerned as to whether I've taken the correct approach from a memory usage point of view.
    It's rare that any given class will use ALL of the methods that I've written into this 80K bean, in fact it's rare that a class will use more than a few methods for each instantiation.
    Is it therefore best practice to "bust" beans like this up and leave the method names in the bean, but extract the code into a sub-package instead? That way the 80K bean could be reduced to a fraction of it's total potential size and only access the code the loading class needs...
    OR
    Are my concerns just issues that were relevent in the past and should I just trust the caching abilities of the JVM (the standard Sun JVM in this case)?

    Each class and its methods are loaded at most once (unless you have multiple classloaders)
    This means you can create as many instances as you wish without increasing the code size at all.
    What is a good number of methods to have depends on coding style and there are some classes in the standard libraries with more methods than you suggest.
    The to do what you suggest is to have all the helper methods in a Helper or Service class. You can have the base class and a getHelper() method to get all the methods you want as help methods. The base class can call the helper for you for key methods.
    Have alook at the number of methods including inherited methods
    http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTable.html
    void      addColumn(TableColumn aColumn)
    void      addColumnSelectionInterval(int index0, int index1)
    void      addNotify()
    void      addRowSelectionInterval(int index0, int index1)
    void      clearSelection()
    void      columnAdded(TableColumnModelEvent e)
    int      columnAtPoint(Point point)
    void      columnMarginChanged(ChangeEvent e)
    void      columnMoved(TableColumnModelEvent e)
    void      columnRemoved(TableColumnModelEvent e)
    void      columnSelectionChanged(ListSelectionEvent e)
    protected void      configureEnclosingScrollPane()
    int      convertColumnIndexToModel(int viewColumnIndex)
    int      convertColumnIndexToView(int modelColumnIndex)
    protected TableColumnModel      createDefaultColumnModel()
    void      createDefaultColumnsFromModel()
    protected void      createDefaultRenderers()
    protected ListSelectionModel      createDefaultSelectionModel()
    protected JTableHeader      createDefaultTableHeader()
    static JScrollPane      createScrollPaneForTable(JTable aTable)
    void      doLayout()
    boolean      editCellAt(int row, int column)
    boolean      editCellAt(int row, int column, EventObject e)
    void      editingCanceled(ChangeEvent e)
    void      editingStopped(ChangeEvent e)
    AccessibleContext      getAccessibleContext()
    boolean      getAutoCreateColumnsFromModel()
    int      getAutoResizeMode()
    TableCellEditor      getCellEditor()
    TableCellEditor      getCellEditor(int row, int column)
    Rectangle      getCellRect(int row, int column, boolean includeSpacing)
    TableCellRenderer      getCellRenderer(int row, int column)
    boolean      getCellSelectionEnabled()
    TableColumn      getColumn(Object identifier)
    Class      getColumnClass(int column)
    int      getColumnCount()
    TableColumnModel      getColumnModel()
    String      getColumnName(int column)
    boolean      getColumnSelectionAllowed()
    TableCellEditor      getDefaultEditor(Class columnClass)
    TableCellRenderer      getDefaultRenderer(Class columnClass)
    boolean      getDragEnabled()
    int      getEditingColumn()
    int      getEditingRow()
    Component      getEditorComponent()
    Color      getGridColor()
    Dimension      getIntercellSpacing()
    TableModel      getModel()
    Dimension      getPreferredScrollableViewportSize()
    int      getRowCount()
    int      getRowHeight()
    int      getRowHeight(int row)
    int      getRowMargin()
    boolean      getRowSelectionAllowed()
    int      getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
    boolean      getScrollableTracksViewportHeight()
    boolean      getScrollableTracksViewportWidth()
    int      getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
    int      getSelectedColumn()
    int      getSelectedColumnCount()
    int[]      getSelectedColumns()
    int      getSelectedRow()
    int      getSelectedRowCount()
    int[]      getSelectedRows()
    Color      getSelectionBackground()
    Color      getSelectionForeground()
    ListSelectionModel      getSelectionModel()
    boolean      getShowHorizontalLines()
    boolean      getShowVerticalLines()
    boolean      getSurrendersFocusOnKeystroke()
    JTableHeader      getTableHeader()
    String      getToolTipText(MouseEvent event)
    TableUI      getUI()
    String      getUIClassID()
    Object      getValueAt(int row, int column)
    protected void      initializeLocalVars()
    boolean      isCellEditable(int row, int column)
    boolean      isCellSelected(int row, int column)
    boolean      isColumnSelected(int column)
    boolean      isEditing()
    boolean      isRowSelected(int row)
    void      moveColumn(int column, int targetColumn)
    protected String      paramString()
    Component      prepareEditor(TableCellEditor editor, int row, int column)
    Component      prepareRenderer(TableCellRenderer renderer, int row, int column)
    protected boolean      processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
    void      removeColumn(TableColumn aColumn)
    void      removeColumnSelectionInterval(int index0, int index1)
    void      removeEditor()
    void      removeNotify()
    void      removeRowSelectionInterval(int index0, int index1)
    protected void      resizeAndRepaint()
    int      rowAtPoint(Point point)
    void      selectAll()
    void      setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
    void      setAutoResizeMode(int mode)
    void      setCellEditor(TableCellEditor anEditor)
    void      setCellSelectionEnabled(boolean cellSelectionEnabled)
    void      setColumnModel(TableColumnModel columnModel)
    void      setColumnSelectionAllowed(boolean columnSelectionAllowed)
    void      setColumnSelectionInterval(int index0, int index1)
    Selects the columns from index0 to index1, inclusive.
    void      setDefaultEditor(Class columnClass, TableCellEditor editor)
    void      setDefaultRenderer(Class columnClass, TableCellRenderer renderer)
    void      setDragEnabled(boolean b)
    void      setEditingColumn(int aColumn)
    void      setEditingRow(int aRow)
    void      setGridColor(Color gridColor)
    void      setIntercellSpacing(Dimension intercellSpacing)
    void      setModel(TableModel dataModel)
    void      setPreferredScrollableViewportSize(Dimension size)
    void      setRowHeight(int rowHeight)
    void      setRowHeight(int row, int rowHeight)
    void      setRowMargin(int rowMargin)
    void      setRowSelectionAllowed(boolean rowSelectionAllowed)
    void      setRowSelectionInterval(int index0, int index1)
    void      setSelectionBackground(Color selectionBackground)
    void      setSelectionForeground(Color selectionForeground)
    void      setSelectionMode(int selectionMode)
    void      setSelectionModel(ListSelectionModel newModel)
    void      setShowGrid(boolean showGrid)
    void      setShowHorizontalLines(boolean showHorizontalLines)
    void      setShowVerticalLines(boolean showVerticalLines)
    void      setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
    void      setTableHeader(JTableHeader tableHeader)
    void      setUI(TableUI ui)
    void      setValueAt(Object aValue, int row, int column)
    void      sizeColumnsToFit(boolean lastColumnOnly)
    void      sizeColumnsToFit(int resizingColumn)
    void      tableChanged(TableModelEvent e)
    protected void      unconfigureEnclosingScrollPane()
    void      updateUI()
    void      valueChanged(ListSelectionEvent e)
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

  • Performance/Memory Concerns

    I have implemented my own logging strategy in an my applet which sends my log messages to a servlet that writes them to a file on the server. However I would also like to view these messages on the client side by useing Sytem.out.println(...) to put them in the Jave Plugin Console. I have the abbility to control the level of the logging from full off to full on and some step in beteween. My concern is that with logging full on there may be tens of thousands of messages printed to the Console in an hour of use which may impact performance or take up enough memory to cause more harm than good. Any thoughts? As a note logging would generally be turned off under normal operating conditions this would only be used by a maintainer to track down a problem.

    The maintainer then could select the logging level as needed.
    I see no problems - as long as the console doesn't go directly to hardcopy.

  • Warning!!

    "Warning! Memory is getting short. The UNDO history might get smaller."
    This is the message I'm getting...I'm completely overhauling a soong of mine, removing all sends and plugins and resetting all settings while keeping my midi and audio info. How do I get rid of a memory concern like this? How do I clean it up so I can just start from scratch?

    Go to preferences>General>Editing> there you have your limit multiple undo setting
    Chose less for logic to run smooth
    also
    Go to preferences>General>Song Handling and tick " Empty trash after saving a song"
    then
    Go to preferences>Audio>Sample Editor and set that to maybe around 10-15 and tick "Clear undo history when quitting"
    About Automation
    the settings are all Under Option at the top
    Option>Track Automation>chose the one that works for you
    stash

  • JSF - Best Practice For Using Managed Bean

    I want to discuss what is the best practice for managed bean usage, especially using session scope or request scope to build database driven pages
    ---- Session Bean ----
    - In the book Core Java Server Faces, the author mentioned that most of the cases session bean should be used, unless the processing is passed on to other handler. Since JSF can store the state on client side, i think storing everything in session is not a big memory concern. (can some expert confirm this is true?) Session objects are easy to manage and states can be shared across the pages. It can make programming easy.
    In the case of a page binded to a resultset, the bean usually helds a java.util.List object for the result, which is intialized in the constructor by query the database first. However, this approach has a problem: when user navigates to other page and comes back, the data is not refreshed. You can of course solve the problem by issuing query everytime in your getXXX method. But you need to be very careful that you don't bind this XXX property too many times. In the case of querying in getXXX, setXXX is also tricky as you don't have a member to set. You usually don't want to persist the resultset changes in the setXXX as the changes may not be final, in stead, you want to handle in the actionlistener (like a save(actionevent)).
    I would glad to see your thought on this.
    --- Request Bean ---
    request bean is initialized everytime a reuqest is made. It sometimes drove me nuts because JSF seems not to be every consistent in updating model values. Suppose you have a page showing parent-children a list of records from database, and you also allow user to change directly on the children. if I hbind the parent to a bean called #{Parent} and you bind the children to ADF table (value="#{Parent.children}" var="rowValue". If I set Parent as a request scope, the setChildren method is never called when I submit the form. Not sure if this is just for ADF or it is JSF problem. But if you change the bean to session scope, everything works fine.
    I believe JSF doesn't update the bindings for all component attributes. It only update the input component value binding. Some one please verify this is true.
    In many cases, i found request bean is very hard to work with if there are lots of updates. (I have lots of trouble with update the binding value for rendered attributes).
    However, request bean is working fine for read only pages and simple binded forms. It definitely frees up memory quicker than session bean.
    ----- any comments or opinions are welcome!!! ------

    I think it should be either Option 2 or Option 3.
    Option 2 would be necessary if the bean data depends on some request parameters.
    (Example: Getting customer bean for a particular customer id)
    Otherwise Option 3 seems the reasonable approach.
    But, I am also pondering on this issue. The above are just my initial thoughts.

  • Is this roughly how the labVIEW Execution Systems work?

    I've not taken a class in OS design, so I don't know the strategies used to implement multitasking, preemptive or cooperative. The description below is a rough guess.
    LabVIEW compiles Vis to execute within its own multitasking execution environment. This execution environment is composed of 6 execution systems. Each execution system has 5 priority queues (say priorities 0->4). Vis are compiled to one or more tasks which are posted for execution in these queues.
    An execution system may either have multiple threads assigned to execute tasks from each priority queue, or may have a single thread executing all tasks from all priority queues. The thread priorities associated with a multithreaded execution system are assigned according to the queue that they service. There are therefore 5 available thread priority levels, one for each of the 5 priority level queues.
    In addition to the execution queues, there are additional queues that are associated with tasks suspended in various wait states. (I don't know whether there are also threads associated with these queues. It seems there is.)
    According to app. note 114, the default execution environment provides 1 execution system with 1 thread having a priority level of 1, and 5 execution systems with 10 prioritized threads, 2 threads per priority queue. NI has titled the single threaded execution system "user interface" and also given names to the other 5. Here they will be called either "user interface" or "other".
    The "user interface" system is responsible for all GUI actions. It monitors the keyboard and mouse, as well as drawing the controls. It is also used to execute non-thread-safe tasks; tasks whose shared objects are not thread mutex protected.
    Vis are composed of a front panel and diagram. The front panel provides an interface between the vi diagram, the user, and the calling vi. The diagram provides programmatic data flow between various nodes and is compiled into one or more machine coded tasks. In addition to it own tasks, a diagram may also call other vis. A vi that calls another vi does not actually programmatically branch to that vi. Rather, in most cases the call to another vi posts the tasks associated with the subvi to the back of one of the labVIEW execution system�s queues.
    If a vi is non-reentrant, its tasks cannot run simultaneously on multiple threads. This implies a mutex like construction around the vi call to insure only one execution system is executing the vi. It doesn�t really matter where or how this happens, but somehow labVIEW has to protect an asynchronous vi from simultaneous execution, somehow that has to be performed without blocking an execution queue, and somehow a mutex suspended vi has to be returned to the execution queue when the mutex is freed. I assume this to be a strictly labVIEW mutex and does not involve the OS. If a vi is reentrant, it can be posted/ran multiple times simultaneously. If a vi is a subroutine, its task (I think there is always only one) will be posted to the front of the caller's queue rather than at the back of the queue (It actually probably never gets posted but is simply mutex tested at the call.) A reentrant-subroutine vi may be directly linked to its caller since it has no restrictions. (Whether in fact labVIEW does this, I don�t know. In any event, it would seem in general vis that can be identified as reentrant should be specified as such to avoid the overhead of mutexing. This would include vis that wrap reentrant dll calls.)
    The execution queue to which a vi's tasks are posted depends upon the vi execution settings and the caller's execution priority. If the caller's execution priority is less than or equal the callee's execution settings, then the callee's tasks are posted to the back of the callee's specified execution queue. If the caller's execution priority is greater than the callee's specifications, then the callee's tasks are posted to the back of the caller's queue. Under most conditions, the vi execution setting is set to "same as caller" in which case the callee�s tasks are always posted to the back of the caller's execution queue. This applies to cases where two vis are set to run either in the other execution systems or two vis are set to run in the user interface execution system. (It�s not clear what happens when one vi is in the �user interface� system and the other is not. If the rule is followed by thread priority, any background tasks in the �other� systems will be moved to the user interface system. Normal task in the �other� systems called by a vi in the �user interface� system will execute in their own systems and vice versa. And �user interface� vis will execute in the caller�s �other� system if the caller has a priority greater than normal.)
    Additionally, certain nodes must execute in the "user interface" execution system because their operations are not thread-safe. While the above generally specifies where a task will begin and end execution, a non-thread safe node can move a task to the �user interface� system. The task will continue to execute there until some unspecified event moves it back to its original execution system. Note, other task associated to the vi will be unaffected and will continue to execute in the original system.
    Normally, tasks associated with a diagram run in one of the �other� execution systems. The tasks associated with drawing the front panel and monitoring user input always execute in the user interface execution system. Changes made by a diagram to it own front panel are buffered (the diagram has its own copy of the data, the front panel has its own copy of the data, and there seems to be some kind of exchange buffer that is mutexed), and the front panel update is posted as a task to the user interface execution system. Front panel objects also have the advanced option of being updated sequentially; presumably this means the diagram task that modifies the front panel will be moved to the user interface execution system as well. What this does to the data exchanged configuration between the front panel and diagram is unclear as presumably both the front panel and diagram are executing in the same thread and the mutex and buffer would seem to be redundant. While the above is true for a control value it is not clear whether this is also true for the control properties. Since a referenced property node can only occur on the local diagram, it is not clear it forces the local diagram to execute in the user interface system or whether they too are buffered and mutexed with the front panel.
    If I were to hazard a guess, I would say that only the control values are buffered and mutexed. The control properties belong exclusively to the front panel and any changes made to them require execution in the �user interface� system. If diagram merely reads them, it probably doesn�t suffer a context switch.
    Other vis can also modify the data structure defining the control appearance and values remotely using un-reference property nodes. These nodes are required to run in the user interface system because the operation is not thread-safe and apparently the diagram-front-panel mutex is specifically between the user interface execution system and the local diagram thread. Relative to the local diagram, remote changes by other vis would appear to be user entries.
    It is not clear how front panels work with reentrant vis. Apparently every instance gets its own copy of the front panel values. If all front panel data structures were unique to an instance, and if I could get a vi reference to an instance of a reentrant vi, I could open multiple front panels, each displaying its own unique data. It might be handy, sort of like opening multiple Word documents, but I don�t think that it�s available.
    A note: It is said that the front panel data is not loaded unless the front panel is opened. Obviously the attributes required to draw an object are not required, nor the buffer that interfaces with the user. This rule doesn�t apply though that if property references are made to front panel objects, and/or local variables are used. In those cases at least part of the front panel data has to be present. Furthermore, since all data is available via a control reference, if used, the control�s entire data structure must be present.
    I use the vi server but haven�t really explored it yet, nor vi reference nodes, but obviously they too make modifications to unique data structures and hence are not thread-safe. And in general, any node that accesses a shared object is required to run in the user interface thread to protect the data associated with the object. LabVIEW, does not generally create OS level thread mutexes to protect objects probably because it becomes to cumbersome... Only a guess...
    Considering the extra overhead of dealing with preemptive threading, I�m wondering if my well-tuned single threaded application in LV4.1 won�t out perform my well-tuned multithreaded application in LV6.0, given a single processor environment�
    Please modify those parts that require it.
    Thanks�
    Kind Regards,
    Eric

    Ben,
    There are two types of memory which would be of concern. There is temporary and persistent. Generally, if a reentrant vi has persistent memory requirements, then it is being used specifically to retain those values at every instance. More generally, reentrant code requires no persistent memory. It is passed all the information it needs to perform its function, and nothing is retained. For this type of reentrant vi, memory concern to which you refer could become important if the vis are using several MBytes of temporary storage for intermediate results. In that case, as you could have several copies executing at once, your temporary storage requirements have multiplied by the number of simultaneous copies executing. Your max memory use is going to rise, and as labview allocates memory rather independently and freely, the memory use of making them reentrant might be a bit of a surprise.
    On the other hand, the whole idea of preemtive threading is to give those tasks which require execution in a timely fashion the ability to do so regardless of what other tasks might be doing. We are, after all, suffering the computational overhead of multithreading to accomplish this. If memory requirements are going to defeat the original objective, then we really are traversing a circle.
    Anyway, as Greg has advised, threads are supposed to be used judiciously. It isn't as though your going to have all 51 threads up at the same time. In general I think, overall coding stategy should be to minimize the number of threads while protecting those tasks that absolutely require timely execution.
    In that sense, it would have been nice if NI had retained two single threaded systems, one for the GUI and one for the GUI interface diagrams. I've noticed that control drawing is somewhat slower under LV6.0 than LV4.1. I cannot, for example, make a spreadsheet scroll smoothly anymore, even using buffered graphics. This makes me wonder how many of my open front panel diagrams are actually running on the GUI thread.
    And, I wonder if threads go to sleep when not in use, for example, on a wait, or wait multiple node. My high priority thread doesn't do a lot of work, but the work that it does is critical. I don't know what it's doing the rest of the time. From some of Greg's comments, my impression is it in some kind of idle mode: waking up and sleeping, waking up and sleeping,..., waking up, doing something and sleeping... etc. I suppose I should try to test this.
    Anyway that's all an aside...
    With regard to memory, your right, there are no free lunches... Thanks for reminding me. If I try this, I might be dismayed by the additional memory use, but I won't be shocked.
    Kind Regards,
    Eric

  • Alerts in the adapter.

    Hi All,
                 In one of my scenarios, I am triggering an Idoc from ECC and processing the message in XI and sending it to web based system using SOAP protocol. For this scenario I have used SOAP adapter at the receiver end. when ever the web based system is not able to take the load the message adapter will try to post the message for certain times and fails after the limit. This failure error would only be available in the communication channel monitoring. But unfortunately due to memory concerns in the runtime we could not keep these  messages for longer duration in the persistence. So I thought of raising an alert when ever the adapter fails to post the message.
               I need to raise an alert with the Idoc number (note: Idoc number is present only in the sender messge as the target message doesn't have a field to map it) at the adapter end. Please let me know  different ways of doing it with out BPM.
    I appreciate if you could not provide me the links.
    Thank you.
    Regards,
    Vishnu.

    Hi Vijay,
    Thanks for the reply. I have created the alert rule for the adapter engine already. At least could we get any field from the target payload in the target message?
    Regards,
    Vishnu.

  • Video play - Iphone 4s to IPad new

    Hi i bought Ipad 4 16 GB last week. Already i have iphone 4s 32 GB. For the memory concern i want to store all of my videos and movies to Iphone and want to play it through the Ipad. Is it possible to stream the iphone video to Ipad without the physical transfer of the videos files. Please help me to do this.

    so ive imported the video into iphoto then tried to sync it back to my ipad. it didnt copy over saying the video is unsupported. ***?!?

  • Can canvas be scrollable?

    can canvas be scrollable?
    i'd like to display thousands of data on the canvas,one data a row,
    which cannot be
    displayed on one page,
    can it be like the form,which can be scrollable?

    thousands? all in memory?
    Memory concerns aside, paging may be a better option than scrolling in this case. You will need to implement your own scrolling. You should take the height of the canvas divided by the height of the "data row" to determine the number of items that can fit on one page. Keep a ptr to the current row, move the ptr forward or backwards on Canvas.DOWN and Canvas.UP. Display the next set of data when move past the last item on a screen.
    You can find source code for a canvas based list here.
    http://code.google.com/p/byblos/
    You may want to consider looking at some UI (low level) tutorials;

  • How to combine Session Facade and Transfer object?

    Hello All!
    I'm working on an enterprise application. Presentation layer is a stand alone client, business logic is build on the Glassfish v2.1 and MySQL is used as a database. The client is connection to the GlassFishj server remotely using EJBs.
    I have problems with business logic architecture.
    Here is the brief description of backend application architecture design:
    1. Session Facade pattern is used to simplify the client and application server interface and to provide application layers between backend (http://java.sun.com/blueprints/corej2eepatterns/Patterns/SessionFacade.html).
    2.Transfer Object pattern to define update transfer objects strategy in order to decrease network overhead during client and application server interactions and to provide version control for objects. Transfer objects are designed as simple java business serializable objects. (http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html)
    3. Originally the backend application consisted of three modules: users, storage and orders, but at the end I have decided to divide my application into the following parts - assortments, map, menu, orders, transactions, users.
    4. All MySQL database transactions are via JDBC using procedures. No use of entity beans.
    Questions:
    1. I have some doubts about using Session Facade and Transfer object patterns at the same time. At first I'd mike to cite the definitions of the patters from the SUN official web site.
    * Use a session bean as a facade to encapsulate the complexity of interactions between the business objects participating in a workflow. The Session Facade manages the business objects, and provides a uniform coarse-grained service access layer to clients.
    * Use a Transfer Object to encapsulate the business data. A single method call is used to send and retrieve the Transfer Object. When the client requests the enterprise bean for the business data, the enterprise bean can construct the Transfer Object, populate it with its attribute values, and pass it by value to the client.
    * So, if I use Transfer Object along with Session Facade, it makes some difficulties with object version control, because I 2 or
    3 transfer objects controls with the 1 bean class. The best option for Transfer object Pattern is that each transfer object should have its own bean class to provide ability of object's version control. In the case it can bring the network overhead because of frequent remote calls caused by the large number of the bean classes.
    * So, should I use the both patterns? If yes, how to manage the interaction the patterns. If no, which one to use.
    2. E.g. I have a huge list of the Order objects and each Order object consists of other complicated objects. So, would I have trouble to transfer that list over network? If yes, how to manage it.
    Thank you!
    Astghik

    Astghik wrote:
    Hello All!
    I'm working on an enterprise application. Presentation layer is a stand alone client, business logic is build on the Glassfish v2.1 and MySQL is used as a database. The client is connection to the GlassFishj server remotely using EJBs.
    I have problems with business logic architecture.
    Here is the brief description of backend application architecture design:
    1. Session Facade pattern is used to simplify the client and application server interface and to provide application layers between backend (http://java.sun.com/blueprints/corej2eepatterns/Patterns/SessionFacade.html).
    I would simply recommend establishing a service tier. Your services should be stateless. You can go the extra mile and have a session facade, but in the majority of cases, coding to an interface for your service accomplishes the same goals.
    2.Transfer Object pattern to define update transfer objects strategy in order to decrease network overhead during client and application server interactions and to provide version control for objects. Transfer objects are designed as simple java business serializable objects. (http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html)
    The idea of the transfer object is very similar to the Command pattern. I think if you investigate that pattern, it will be more obvious. The transfer object reduces network latency by consolidating all the parameters into an object, ideally, this also consolidates multiple method calls. If you combine a transfer object (or command object) with a service tier, you get the best of both worlds. The service can delegate calls to helper objects (or other services or components) using the data in the transfer / command object.
    3. Originally the backend application consisted of three modules: users, storage and orders, but at the end I have decided to divide my application into the following parts - assortments, map, menu, orders, transactions, users.
    The is your domain. It will vary from application to application. The principles above are more general (e.g., patterns and architectural tiers) and should apply to most domains. However, your actual use case may require something different.
    4. All MySQL database transactions are via JDBC using procedures. No use of entity beans.
    Consider using something like iBatis or Spring's JDBC templating to make your life easier with JDBC.
    Questions:
    1. I have some doubts about using Session Facade and Transfer object patterns at the same time. At first I'd mike to cite the definitions of the patters from the SUN official web site.
    * Use a session bean as a facade to encapsulate the complexity of interactions between the business objects participating in a workflow. The Session Facade manages the business objects, and provides a uniform coarse-grained service access layer to clients.
    * Use a Transfer Object to encapsulate the business data. A single method call is used to send and retrieve the Transfer Object. When the client requests the enterprise bean for the business data, the enterprise bean can construct the Transfer Object, populate it with its attribute values, and pass it by value to the client.
    * So, if I use Transfer Object along with Session Facade, it makes some difficulties with object version control, because I 2 or
    3 transfer objects controls with the 1 bean class. The best option for Transfer object Pattern is that each transfer object should have its own bean class to provide ability of object's version control. In the case it can bring the network overhead because of frequent remote calls caused by the large number of the bean classes.
    * So, should I use the both patterns? If yes, how to manage the interaction the patterns. If no, which one to use.
    Versioning is a separate issue. Generally, the more coarsely grained your transfer / command object is, the more changes are likely to impact dependent objects.
    Your command or transfer object does not have to be a vanilla JavaBean, where you are basically creating a bean that has data from other objects. You can simply use your command / transfer object to encapsulate already existing domain objects. I see no need to map to a JavaBean with what you have described.
    Generally, a method signature should be understandable. This means that many times it is better to pass the method, say, two coarsely grained objects than a signature with a dozen primitives. There are no hard and fast rules here. If you find a method signature getting large, consider a transfer / command object. If you want one service to delegate calls to a number of other services, you can also create a transfer / command object to furnish the controlling service with the data it needs to invoke the dependent services.
    2. E.g. I have a huge list of the Order objects and each Order object consists of other complicated objects. So, would I have trouble to transfer that list over network? If yes, how to manage it.
    This is a large, open-ended question. If you are going to display it to a user on a screen, I do not see how you avoid a network transfer with the data. The general answer is to not pass the data itself but rather a token (such as a primary key, or a primary key and a start and stop range such as you see on a Google search result). You do want to limit the data over the network, but this comes at a cost. Usually, the database will receive additional load. Once that becomes unacceptable, you might start putting things into session. Then you worry about memory concerns, etc. There is no silver bullet to the problem. It depends on what issues you are trying to address and what trade-offs are acceptable in your environment.
    Thank you!
    AstghikBest of luck.
    - Saish

  • As of iTunes 9.0.2 update computer slowing down to a hault.

    Seeing if anyone else has this issue. Every few minutes all programs just lock up, no particular one and iTunes doesn't have to be running but it started immediately after installing iTunes 9. Driving me crazy.

    I've had the same trouble since installing 9.0 (now running 9.0.2 (25)) Everything is slowed in spurts. If I add any files to iTunes, or add artwork to an album, it takes forever. I can't even change the titles of a track without slowing everything. Using Activity Monitor, there's not a memory concern, but iTunes goes red (not responding) for blocks of time before it re-appears. In fact, when iTunes is adding artwork, it (and Safari) are often missing from the Activity Monitor list, even though both are running. Immediately after installing 9.0, I actually purchased new External drives, bought and installed Snow Leopard, and eventually sent my computer to the Apple Store for 2 weeks, believing the video RAM had gone bad (according to apple's utilities) - turned out they found nothing wrong. During that 2 weeks, iTunes undated to 9.0.1 (now 9.0.2) and never said a word to me about the issues in iTunes that probably created all of this trouble. I hope they fix iTunes, soon. All my PC friends are saying they have no iTunes troubles, and here we Mac lovers are... frustrated.

  • What is File Create Pro?

    I'm trying to clean up and update my computer to be ready to install Yosemite. I have an app called File Create Pro and have no memory concerning it. I bought it in February of this year, but when I click to open it, nothing happens. When I go to trash it it says it can't be trashed because it's open. Is it one of those apps that works underneath evrything else? Any advice would be appreciated.
    Thanks..

    Here it is....a little Greek to me, so hope you can understand more than I!   Thanks.... I did delete File Create Pro. Appreciate your help......
    EtreCheck version: 1.9.11 (43) - report generated June 11, 2014 4:16:09 PM PDT
    Hardware Information:
              iMac (27-inch, Mid 2010)
              iMac - model: iMac11,3
              1 3.2 GHz Intel Core i3 CPU: 2 cores
              4 GB RAM
    Video Information:
              ATI Radeon HD 5670 - VRAM: 512 MB
    System Software:
              Mac OS X 10.7.5 (11G63) - Uptime: 0 days 8:21:28
    Disk Information:
              ST31000528AS disk0 : (1 TB)
                        disk0s1 (disk0s1) <not mounted>: 209.7 MB
                        Macintosh HD (disk0s2) / [Startup]: 999.35 GB (806.32 GB free)
                        Recovery HD (disk0s3) <not mounted>: 650 MB
              OPTIARC DVD RW AD-5680H 
    USB Information:
              LEXAR JD FIREFLY 4.06 GB
                        LEXAR (disk1s1) /Volumes/LEXAR: 4.06 GB (2.33 GB free)
              Western Digital My Passport 0730 750.12 GB
                        disk2s1 (disk2s1) <not mounted>: 32 KB
                        Boot OSX (disk2s2) <not mounted>: 134.2 MB
                        Miscellaneous Backup (disk2s3) /Volumes/Miscellaneous Backup: 749.99 GB (216.35 GB free)
              Apple Inc. Built-in iSight
              Apple Computer, Inc. IR Receiver
              HP Photosmart 7510 series
              Apple Internal Memory Card Reader
              Apple Inc. BRCM2046 Hub
                        Apple Inc. Bluetooth USB Host Controller
    Launch Daemons:
              [loaded] com.adobe.fpsaud.plist Support
              [running] com.trusteer.rooks.rooksd.plist Support
    Launch Agents:
              [not loaded] com.adobe.AAM.Updater-1.0.plist Support
              [running] com.adobe.AdobeCreativeCloud.plist Support
              [running] com.trusteer.rapport.rapportd.plist Support
    User Launch Agents:
              [loaded] com.adobe.AAM.Updater-1.0.plist Support
              [running] com.amazon.cloud-player.plist Support
              [loaded] com.google.keystone.agent.plist Support
    User Login Items:
              iTunesHelper
              Dropbox
    Internet Plug-ins:
              JavaAppletPlugin: Version: 14.9.0 - SDK 10.7 Check version
              FlashPlayer-10.6: Version: 13.0.0.214 - SDK 10.6 Support
              AdobeAAMDetect: Version: AdobeAAMDetect 2.0.0.0 - SDK 10.7 Support
              Flash Player: Version: 13.0.0.214 - SDK 10.6 Outdated! Update
              QuickTime Plugin: Version: 7.7.1
              AmazonMP3DownloaderPlugin101750: Version: AmazonMP3DownloaderPlugin 1.0.17 - SDK 10.4 Support
              Unity Web Player: Version: UnityPlayer version 4.2.0f4 - SDK 10.6 Support
              Silverlight: Version: 5.1.20913.0 - SDK 10.6 Support
              iPhotoPhotocast: Version: 7.0 - SDK 10.8
    Safari Extensions:
              1-ClickWeather: Version: 1.0
              The New York Times: Version: 0.1
    Audio Plug-ins:
              iSightAudio: Version: 7.7.1 - SDK 10.7
    iTunes Plug-ins:
              Quartz Composer Visualizer: Version: 1.3 - SDK 10.7
    User Internet Plug-ins:
              Picasa: Version: 1.0 - SDK 10.4 Support
              Google Earth Web Plug-in: Version: 7.0 Support
    3rd Party Preference Panes:
              Flash Player  Support
              Trusteer Endpoint Protection  Support
    Time Machine:
              Time Machine not configured!
    Top Processes by CPU:
                   2%          Mail
                   2%          WindowServer
                   1%          activitymonitord
                   0%          Safari
                   0%          mds
    Top Processes by Memory:
              393 MB          WebProcess
              266 MB          Safari
              217 MB          iTunes
              115 MB          Mail
              98 MB          WindowServer
    Virtual Memory Information:
              1.09 GB          Free RAM
              1.97 GB          Active RAM
              500 MB          Inactive RAM
              456 MB          Wired RAM
              429 MB          Page-ins
              0 B          Page-outs

  • Importing and re-editing movies

    I'm doing a little school video project that requires re-editing some films on DVD. To do this, I need to know...
    What is the best way to import a movie from DVD to a file format that can be edited in FCP without rendering, or killing my external harddrive (750gigs)?
    What is the best way to convert video files already on my computer into files FCP can handle? What settings should I use?
    Thanks in advance for the answers!

    Hi there
    There are many ways of doing this. You can as mentioned 'rip out' the DVD compressed content using one of the free utility SW out there, or you can play the DVD and 'dub' it back to DV tape (this might be an option for you, if you don't want to use your hard drive. But if you do so, you may need to re-capture the 'now tape content' to your scratch disk [internal or external HD]) or last but not least, if you know the person who initially edited the footage, you may if (s)he still have the raw material - that worked for me once.
    In regard to your Memory concern, I recommend that you always capture your Media files to external scratch disk (Hard drive).
    Good luck!

  • What role can ejb Session Beans  play  jsp session tracking

     

              I am also looking for a way to use JSP as ejb client with WLS5.1. i would appreciate any help.
              -Girish
              Prasad Peddada <[email protected]> wrote:
              >David,
              >     The beans which are refered in jsp specs are java beans and not EJB.
              >
              >Prasad
              >
              >David Levy wrote:
              >>
              >> Hello,
              >>
              >> We are using Jsp/Servlets which will hold session state and subsequently
              >> call ejb Session Beans for transaction/persistence coordination . We are
              >> not sure if we are using the correct techniques to control object memory.
              >>
              >> Summary of what we have:
              >>
              >> A jsp with the "useBean" directive:
              >> <jsp:useBean id="MySession" class="com....MySession"
              >> scope="session"></jsp:useBean>
              >>
              >> The class MySession holds other classes ( all serializable).
              >> The class MySession is NOT an ejb Session Bean
              >>
              >> Questions:
              >> We are considering making class MySession an ejb Session Bean so (via it's
              >> passivate/activate feature) we can control instances in memory as more web
              >> clients start the session from the jsp page. I.E. all web clients will have
              >> their own HttpSession instance which holds on to an ejb Session Bean object
              >> "MySession"( or a passivated representation of it)
              >>
              >> 1) Is this a sufficient approach or will there be other memory concerns?
              >> I.E. What about all the HttpSession objects out there? Do they need to be
              >> passivated as well?
              >>
              >> 2) If its a good idea to passivate the HttpSessions as well, then what
              >> mechanism should be used ( servlet session persistence)? Also, if we are
              >> passivating the HttpSession (which holds on to the MySession object graph)
              >> , then why bother with the SessionBean for passivation
              >>
              >> 3) Currently, we only have a single instance of a servlet handling all
              >> requests. Will multiple instances buy us anything?
              >>
              >> 4) How does clustering relate to this topic?
              >>
              >> 5) Can we change the "jsp:useBean" directive so MySession is an ejb Session
              >> Bean or do we have to do the "home.create()" within a jsp script?
              >>
              >> thanks,
              >> dave
              

Maybe you are looking for

  • I have a macbook mid 2007 should i up trade it in for a newer macbook pro

    I have a macbook refurbished mid 2007 should i update it for a newer version or a macbook pro?

  • Data base oracle in SAP

    Hi, The combination of all dimension id's ideally make the primary(composite) key of the fact table. it seems that there is a database restriction of 16 fields to be combined to make a joint primary key. I heard that Oracle table join relation is the

  • Is there an "Out of Range" Function in LabVIEW?

    Howdy, My issue is I have an input value that is compared to an upper and lower limit. If the input is within the range I want the program to do nothing. If the input is below the lower value I need to send a "TRUE" signal to a relay. If the input is

  • Silencing the shutter sound on camera

    I was wondering if anybody can help me out in finding a way to silence the shutter sound when taking pictures. I was at church the other day and took a picture of my cousin on the platform and the shutter sound was REALLY loud! Thank you in advance f

  • Bugs? playback resolution will not change?

    The playback resolution will not change no matter what I choose ? it may be contributing to the distorted playback issues im having ? also when I select a clip from the project or media browser the sequence automatically starts in arri editing mode?