Speed up calc times for compley member formulae

Hello together,
I am seeking to speed up calc time for one of the steps in a business rule. Besides the required dimensions (+ currency), the application includes custom dimensions for cost centre, products and distribution channel. The members for the currency dimension include EUR, GBP, USD, ..., Curnone (currency not relevant).
FIX (
FY12,
"Forecast",
"Final",
@LEVMBRS("Cost Centre",0),
@LEVMBRS("Products",0),
@LEVMBRS("Currency,0),
"Distribution Channel",
SET FRMLBOTTOMUP OFF;
"500400";
"500600";
SET FRMLBOTTOMUP ON;
ENDFIX
The member formula are:
500400 = 500000 * 400000
500600 = 500000 * 600000 -> Curnone
The accounts 400000, 500000 and 600000 are calculated themselves from member formulas including complex crossrefs. In order to speed things up, I tried to fix on the source and push the result onto the target account:
"500000"("500400" = "500000" * "400000")
which seems to speed up things considerably (I kept the setting FRMLBOTTOMUP ON). However, I'm not sure how to go about it for the second formula (the crossref is making it difficult). Does anybody have any advice? thanx in advance
Florian
Edited by: 943380 on 21.08.2012 01:56

I am sorry re my comment of "A + B" calculations as they are, uh, obviously not. Sometimes I wonder about my eyes, other days it's my brain that is in question, and then yet other days it's both...
Okay, so with that out of the way, let me ask if you must calculate everything all at once? Per your (hopefully closely read this time) comment, I am guessing this is for a Planning application. If so, is this a calculation that could be fired from a form, using that form's dimensionality? If it is, its scope could be limited and thus appear to be quicker.
Failing that, yes, CALCPARALLEL can help, but is probably not a great idea within the context of planner-initiated calcs as it will chew up CPUs even faster than single-threaded calcs.
Regards,
Cameron Lackpour
Edited by: CL on Aug 21, 2012 8:39 AM
I was just going through the tabs in my browser and I found the OP's post (I am sort of lazy when it comes to closing tabs). The OP's OP did have +'s instead of *'s. I thought I was losing what little sanity I have left.
https://docs.google.com/open?id=0B_qdhXKUMwSdTEFVcU1uSUlMWkk
I can't tell you how happy this makes me. :) Sometimes I wonder about my advancing years, but this time I wasn't totally bonkers.

Similar Messages

  • Auto calc time for shot duration, fails to change or appears to be in fixed mode.

    Switching back and forth online to offline as you recommended is causing sync issues, additionally, the shot duration set for auto calc defaults back to custom so not certain if times are fixed, correct or not.
    drgm

    Downloaded Windows Assessment and Deployment Kit which contains the latest imagex program.
    Running imagex.exe on the BASE7.WIM file on the second System Recovery DVD:
    imagex.exe /info K:\PRELOAD\BASE7.WIM
    ImageX Tool for Windows
    Version: 6.2.9200.16384
    Error opening file [K:\PRELOAD\BASE7.WIM].
    The data is invalid.
    The same error message is shown for BASE7.WIM, BASE8.WIM, and BASE9.WIM.
    The other WIM files in the PRELOAD directory, BASE5.WIM, BASE6.WIM, BASE10.WIM, BASE13.WIM, BASE15.WIM, BASE17.WIM and BASE23.WIM, could be read by imagex without any errors.

  • Slow calc time with SET CREATEBLOCKONEQ OFF for block creation

    Hello everyone,
    I have a problem with the slow execution of one of my calc scripts:
    A simplified version of my calc script to calculate 6 accounts looks like this:
    SET UPDATECALC OFF;
    SET FRMLBOTTOMUP ON;
    SET CREATEBLOCKONEQ ON;
    SET CREATENONMISSINGBLK ON;
    FIX (
    FY12,
    "Forecast",
    "Final",
    @LEVMBRS("Cost Centre",0),
    @LEVMBRS("Products",0),
    @LEVMBRS("Entities",0)
    SET CREATEBLOCKONEQ OFF;
    "10000";"20000";"30000";"40000";"50000";"60000";
    SET CREATEBLOCKONEQ ON;
    ENDFIX
    The member formula for each of the accounts is realtively complex. One of the changes recently implemented for the FIX was openin up the cost center dimension. Since then the calculation runs much slower (>1h). If I change the setting to SET CREATEBLOCKONEQ ON, the calculation is very fast (1 min). However, no blocks are created. I am looking for a way to create the required blocks, calculate the member formulas but to decrease calc time. Does anybody have any idea what to improve?
    Thanks for your input
    p.s. DataStorage in the member properties for the above accounts is Never Share

    MattRollings wrote:
    If the formula is too complex it tends not to aggregate properly, especially when using ratios in calculations. Using stored members with member formulas I have found is much faster, efficient, and less prone to agg issues - especially in Workforce type apps.We were experiencing that exact problem, hence stored members^^^So why not break it up into steps? Step 1, force the calculation of the lower level member formulas, whatever they are. Make sure that that works. Then take the upper level members (whatever they are) and make them dynamic. There's nothing that says that you must make them all stored. I try, wherever possible, to make as much dynamic as possible. As I wrote, sometimes I can't for calc order reasons, but as soon as I get past that I let the "free" dense dynamic calcs happen wherever I can. Yes, the number of blocks touched is the same (maybe), but it is still worth a shot.
    Also, you mentioned in your original post that the introduction of the FIX slowed things down. That seems counter-intuitive from a block count perspective. Does your FIX really select all level zero members in all dimensions?
    Last thought on this somewhat overactive thread (you are getting a lot of advice, who knows, maybe some of it is good ;) ) -- have you tried flipping the member calcs on their heads, i.e., take what is an Accounts calc and make it a Forecast calc with cross-dims to match? You would have different, but maybe more managable block creation issues at that point.
    Regards,
    Cameron Lackpour

  • Can I use more than one blue-tooth device at the same time on IPhone 4S? Like a wireless headsets and speed and cadence sensor for cycling computer, receive the data and listen music simultaneously

    Can I use more than one blue-tooth device at the same time on IPhone 4S? Like a wireless headsets and speed and cadence sensor for cycling computer, receive the data and listen music simultaneously

    As long as the profiles are different (ex. HID vs AD2P) you will not have any issues. But say if you try to use 2 keyboards at once, it won't work. Or 2 headsets at once. Your scenario seems fine.

  • Time for a new PC?

    Two question I am frequently asked are: "What computer is right for me?" and  "Do you accept immediate trade-ins?"  The first answer is more a matter of personal choice and need.  In other words, how do you currently use a computer? How will you grow into the capabilities of a new PC over the next two or three years? To the second question, stores do recycle but do not offer immediate trade-in or sell used equipment.  We encourage everyone to check out the value of their functional electronic devices for a credit or at least recycle items.
    Recently, Best Buy has partnered with Intel to provide a tool.  The "Discover the Difference of a New PC" guide asks, "is it time for an upgrade?"  It assesses the abilities of your currently working PC as compared to a new PC.  I am impressed with how easy it is to use this website, especially if you know your current processor type and speed, amount of RAM, and amount of hard drive storage.  [Hint: right-click on "My Computer" or "Computer" and select "Properties" to find these values.]  Then the tool suggests what to shop for in a new PC and provides you average trade-in value from http://bestbuytradein.com.  From there you can click to begin selecting the Intel-based PC right for you. The only way this could be easier is if it did all the work for you.  However, isn't shopping half the fun?
    Matthew|Community Advocate | Best Buy® Corporate
    Visit our Channel on
     Private Message

    Also check out our Computer Purchasing Guide at http://forums.bestbuy.com/t5/Computers/Computer-Purchasing-Guide/td-p/17450/ where you will find the link to the CNET Computing Resource Center and other useful links.
    As always, you can log in to the forums as a registered user to post your computer needs and solicit member suggestions.  Above all, remember to have fun - buying a new computer should be an exciting venture.
    Matthew|Community Advocate | Best Buy® Corporate
    Visit our Channel on
     Private Message

  • Calc time estimates, anyone?

    I have a 13 dimension database that yields about 20GB of data after calculation.Block size is about 18KThe only calculation I run is a CALC DIM statement (I'd run a CALC ALL but I fix on members from some dimensions). The CALC DIM just consolidates each dimension (no member formulas and all consolidation tags are +)For my sparse dimensions, I have deep hierarchies (two, though, are flat).The database is reset and reloaded with data prior to calculation. Calculation time for one year's worth of data is 6 hours.That can't be right.Without necessarily telling me how to do it, can someone tell me what's the best calc time I should be able to achieve with some performance-tuning?

    The calc time you should be looking after, shoud not exceed 1 hour.There is a way which you can bring down dramatically your calc time -however seeing the number of dims and data volume and considering your hardware, thats just about wright the time.OK, your best card in situations like this, is to use the Dynamic Calc atibute- resource, for upper level sparse members, it works miracles if you can do it wright- not affecting your reporting performance.However maybe there are dependencies in formulas (avrg) etc.The trick is to use the dyn calc in these formulas (make them dense), so they can calculate at the end.Remember the calc order in dyn calc is the oposite of regular agregations.Believe me it can make a huge difference, i use it in situations where depending the polarity of sparse dimension, cuted down the size tenfold and consequently calc times.Unfortunatelly noone is teaching thoroughly this great resource (dyn calc), so do not be scared at the beginning.You can contact me at [email protected] Yannis

  • Calc time vs. defragmentation

    I have a database with an average cluster ratio of .44. If I export and reload my data, it will go to 1.0, but as soon as I calc it goes back to .44.Under my current data settings, this calc takes a mere 5.7 seconds to run and retrevial time is fine. In an effort to improve the cluster ratio, I played with my dense/sparse settings, changed my time dimension to sparse, and was able to get a .995 cluster ratio after calculation; the problem is now the calc script ran for 127 seconds which is 22x longer.I know that either calc time is minimal by Essbase standards, but I'm still curious which way is "optimal". I would think it is always best to take the enhanced performance over the academic issue of cluster ratio, but I'm concerned at what point this becomes more than an academic question. How imporant is the cluster ratio and what kind of implications are there for having a database that is more fragmented? Are there other things besides calc and retrieval time that maybe I'm not seeing on the surface that I should be concerned with. Since defragmentation should improve performance is it worth it to sacrifice some performance for less fragmentation? Of course as this database grows this will become more of an issue.Any input, thoughts and comments would be appreciated.

    Just my humble opinion: Everybody's data has a different natural sparsity and rather than think in terms of 'fragmentation', think in terms of the nature of your data. If you made EVERY dimension sparse except for Accounts, and had only one member in Accounts, your database would consist solely of single-cell datablocks that are 100% populated - as dense as you can get. The trade-off is that you will have a HUGE number of these small, highly compact datablocks and your calc times would be enormous. As a general rule, you can take each of your densest dimensions in turn and make them "dense" in the outline until your datablocks approach 80k in size. The tradeoff is that not all cells in each datablock will be populated, but you'll have fewer datablocks and your calcs will zoom. Your goal is not to simply minimize the number of datablocks or to minimize the datablock size or to maximize the block density. You goal is to reach a compromise position that maximizes the utility of the database.A good approach is to hit a nice compromise spot in terms of sparse/dense settings and then begin optimizing your calcs and considering converting highly sparse stored dimensions to attributes and such. These changes can make a tremendous impact on calc time. We just dropped our calc time on a database from 14 hours to 45 minutes and didn't even touch the dense/sparse settings.-dan

  • Duplicate member names in member formulae

    How do you reference duplicate member names in a member formulae? In Excel or dimension building you say i.e. [TEST].[test1]. That format doesn't work in member formulae. Is anyone using duplicate name? If you do, maybe you have an answer.

    In System 9 databases, you can use a "duplicate member name" outline, in which case when you have the same member name more than once in an outline, Essbase automatically tells them apart. For example, you could have a Gen3 member named "New York" with a child named "New York", or many different states with children named "Springfield", for example. Or you could have a product code named "100" and also a customer code named "100".<BR><BR>You don't have any control over how the names are constructed, and unfortunately the automatically-generated name for a member may change if a duplicate for it is introduced in the outline, so you really don't want to use the "unique name" values returned from API calls. You can always refer to them by using a full ancestor path, like this:<BR><BR>[Geography].[East].[New York].[New York]<BR><BR>I don't know for sure but I would imagine the same is true in calc scripts and non-MDX member formulas:<BR><BR>"Geography"."East"."New York"."New York"<BR><BR>HTH<BR>

  • Property code for Shared Member

    Hi,
    Could you please let me know what is the property code for Shared Member. I am trying to create a text file and trying to create some members as shared. Something like for Dynamic Calc we have "X" so I need similar kind of code for Shared Member.
    Thanks

    I am not sure some thing like that exists.
    It is not required for building shared heirarchy.
    You can use dupgen or duplev fileld properties in the dim build rules. By the way you can tell Essbase to tag them as shared.
    Parent/Child reference build method automatically shares the second time encountered member under differant parent.

  • Calculated members or member formulae

    Hi all
    Would there be some documentation available on calculated members or member formulae?
    I have been trying to find startups, but all the blogs are for those who already have been working with these features for some time. I understand this involves script logic, but am also interested in finding out why or where these features may actually be used.
    Unfortunately, the SAP documentation on this is very scant.
    regards
    Shrikant

    Thanks both, but if I may.
    My issue is that I need a bit of context on why to use these. If it is on the fly, I could very well just add in excel formulae onto the main EPM reports as well, couldnt I? So why require these features? That's how I have come up with certain calculations in my input schedule. It's a tad slow, but it works. Can't attach the file here though.
    (I am now referring to Vadim's blog - excellent blog by the way) If indeed this is the way to go, when postings are made, the default logic will post to the GrossSales and NetSales members. Then in later BPC input forms/reports, do I refer to these members in member formula as a way to derive the calculated members (DiscountCalc and PriceCalc)?
    So, effectively, DiscountCalc and PriceCalc are calculated members, and the formula below is the member formula? Is that the way to look at it?
    DiscountCalcD = IIF([NetSalesD]=0,NULL,([GrosSalesD]-[NetSalesD])/[NetSalesD])
    Apologies if this is turning into a training session, but I am known to be thick on Wednesdays
    rgds
    Shrikant

  • How to set up Airport Extreme with Charter ARRIS Modem TM902A for the first time for WIRELESS.

    How to set up Airport Extreme with Charter ARRIS Modem TM902A for the first time for WIRELESS.
    When Charter Tech goes to your site, have them connect the modem up, but do not connect the modem to your iMAC or MacBook Pro.  What you want to do is connect the Airport Extreme to the iMac or MacBook Pro first with the Ethernet Cable. You have to do this to configure via Airport Utility to set up the Base Station Name & Base Station Password.
    You will then create/configure a Wireless Network, create your Wireless Password that will be entered on each of your Devices, example, Apple Tv, your iPhone, etc., you want to allow access to your Wireless Network you are creating.
    Wireless Security will be -> WPA/WPA2 personal or just WPA2
    Enter the Wireless Password you want
    Verify the Wireless Password (enter it again)
    After it is created you will see it on the Airport Utility window with the name you created for it and to the left, will be a Dot (circle that will be yellow).
    Next you then want to unplug the power to the Airport Extreme, and then take the end of the Ethernet cable you unplugged from the iMac or Lap top MacBook Pro and connect it to the back of the Modem.
    Next unplug the power cord from the modem and wait about 5 minutes, then plug the power back into the Arris Modem and wait until all lights come back on the modem wait
    about 5 minutes, then plug the power cord back to the Airport Extreme and you will see it the light blinking yellow.  Wait about 5 to 10 minutes, during this time Restart you IMAC or MacBook Pro, and once it is back up click on the Airport Utility and you should see on the Airport Utility screen.
    For INTERNET to the left the light should be green and you should see the Airport Extreme also appear and the light to the left on the screen should also be green.  If they are, you then should be able to click on the Wireless Symbol on top of bar of the screen and click to select the Wireless Network Name you created.
    If you Do Not See the light (Icon) next to INTERNET turn Green, or if you see the Internet Light Green, but the Light (Icon) next to the Airport Extreme is yellow, unplug the power again to the modem and unplug the power again to the Airport extreme and wait about 15 minutes or up to 30 minutes. Then plug the power cord back to the modem wait till all the lights light up then, plug the power cord back into the Airport Extreme and Restart your iMAC or MacBook Pro.
    The Airport Extreme light should change from yellow to green. Open up the Airport Utility to see what the indicators are showing they should both be green.  Again select Wireless network you created under the Wireless Icon on the top right of the screen. Open Safari and see if you are able to Route to a web page or the apple site should appear.
    WHAT TO DO IF YOUR AIRPORT EXTREME WAS PREVIOUSLY SET UP FOR USE WITH ANOTHER CARRIERS ROUTER OR MODEM.
    NOTE:  If you already had your Airport Extreme connected for example, I previously had ATT Uverse and the Airport Extreme was connected to the Wireless Router Model 3801HGV, I disabled the Uverse Wireless and used the Airport Extreme for the Wireless signal in bridge mode, as the Airport extreme Signal is much stronger than the Uverse router, and I was able to obtain a Wireless signal with the Airport Extreme way much better with no signal loss which was very very frustrating with the Uverse router.
    Anyhow if you had it hooked up like this, now that you will be using it with the Charter ARRIS Modem TM902A, you will need to reset the Airport Extreme to clear out the old data it has in memory, with the previous set up otherwise it will not work. Trust me I spent 6 hours trying to make it work reading all Apple Support Community questions and answers relating to this type issue/problem others have been having trying to get their set up working. I tried all the tips, and I finally decided just to see if by chance I would be able to connect with someone with Charter Tech support who might be familiar with Apple to be able to assist me and by luck I did.  He told me why it was not working and was all due the previous configuration with the ATT Uverse router was still in memory with the Airport Extreme. Finally it was 10:30 PM when I decided to call Charter Tech Support and I had been working on this since 3:00 pm pacific. I did not call them earlier as all the post I read said they never received any good help from Charter. After calling them I finished up by 11:00 PM and was able to finally connect Apple Tv, iMac, iPhones and Macbook Pro. We love our Apple Product and Happy all is connected with the new
    Internet Provider Charter. I must say the speed is way way much better than it ever was with AT&T Uverse. 
    THIS IS WHAT YOU WILL NEED TO DO:
    First you will need to unplug the Airport Extreme, then by taking the tip of a pen or paper clip end you need to push the reset button on the back of the Airport Extreme and hold it
    down and at the same time plug the power cord back into the Airport Extreme count to 5 or 10 then release the reset button. Then once he light in front of the Airport Extreme stops blinking you need to plug the Ethernet cable from the Airport Extreme to your iMAC or Macbook Pro, and restart which ever one you have, then open the Airport Utility once it is back up.  If you see airport extreme pop up with the old network name or it shows and yellow triangle click on the Airport Extreme ICON it will not let you configure it but will ask if you want to get rid of it or remove and just do it.  Then Again restart your iMAC or MacBook Pro, open up Airport Utility again, and on the top left you should see under “Other Airport Base Stations” the MAC ID for the Airport Extreme.
    You will then create/configure a Wireless Network, create your Wireless Password that will be entered on each of your Devices, example, Apple TV, your iPhone, etc., you want to allow access to your Wireless Network you are creating.
    Wireless Security will be -> WPA/WPA2 personal or just WPA2
    Enter the Wireless Password you want
    Verify the Wireless Password (enter it again)
    After it is created you will see it on the Airport Utility window with the name you created for it and to the left, will be a Dot (circle that will be yellow).
    Next you then want to unplug the power to the Airport Extreme, and then take the end of the Ethernet cable you unplugged from the iMac or Lap top MacBook Pro and connect it to the back of the Modem.
    Next unplug the power cord from the modem and wait about 5 minutes, then plug the power back into the Arris Modem and wait until all lights come back on the modem wait
    about 5 minutes, then plug the power cord back to the Airport Extreme and you will see it the light blinking yellow.  Wait about 5 to 10 minutes, during this time Restart you IMAC or MacBook Pro, and once it is back up click on the Airport Utility and you should see on the Airport Utility screen.
    For INTERNET to the left the light should be green and you should see the Airport Extreme also appear and the light to the left on the screen should also be green.  If they are, you then should be able to click on the Wireless Symbol on top of bar of the screen and click to select the Wireless Network Name you created.
    If you Do Not See the light (Icon) next to INTERNET turn Green, or if you see the Internet Light Green, but the Light (Icon) next to the Airport Extreme is yellow, unplug the power again to the modem and unplug the power again to the Airport extreme and wait about 15 minutes or up to 30 minutes. Then plug the power cord back to the modem wait till all the lights light up then, plug the power cord back into the Airport Extreme and Restart your iMAC or MacBook Pro.
    The Airport Extreme light should change from yellow to green. Open up the Airport Utility to see what the indicators are showing they should both be green.  Again select Wireless network you created under the Wireless Icon on the top right of the screen. Open Safari and see if you are able to Route to a web page or the apple site should appear.

    I just got a Charter Modem. Model TM822. While I was moving, my Airport Extreme was still at my old place.
    I have a Linksys WRT320N I used for the initial Charter setup.
    I can get my Airport to work here, but the Internet light on the Modem flashes Yellow.
    Hasn't caused any issues so far but one thing I did notice.
    On the Linksys there were 3 DNS servers listed.
    The Airport Extreme only lists 2 and i don't see where I could add another, only change whats already there.
    I tried everything above, but light on modem still flashes yellow.
    I have the technicians cell phone. Told me "that shouldn't be" and gave the same advice listed above.
    I'll break down and call Charter one day, see if it's on their end. NSA tracking may need a reset LMAO.

  • How can I set up a Macbook to wake up at a certain time for backing up?

    My wife objects strenuously to Time Capsule (wireless) backups so I finally set it to once a day, starting at 7 pm. You would think that would work but NO, runs too long and even next morning to finish. We are backing up only documents, mail, safari, etc. — no Apps.
    We also back up online to BackJack once a day.
    So I am thinking what may be a solution is to have it run at night, when she is asleep and the only time she is not using it.
    But how do I wake it up at the designated time? If we leave the lid up will just start when something is scheduled like Time Machine or Backjack? Or do I need additional software?
    Thanks,
    Richard

    Richard Pitcairn wrote:
    Basically, for my wife's settings, we exclude iTunes, movies, Apps but do back up Mail, Safari, Docs, Prefs. I have watched it and it does indeed run a long time.
    Then something is broken. Backups are only useful when done from a known good system. Then, if that system dies, is stolen, etc. you can restore from your backups. You are backing up a known bad system. If and when you need to restore (and you may, considering something is wrong), you may find your backed up data to be garbage. It is worth investigating why those backups are taking so long. You shouldn't have to exclude anything. You shouldn't be able to generate enough hourly changes to cause the backup to be so slow as to interfere with normal operation.
    Two things that could be improved are the memory on the Macbook and the available disk space on the Time Capsule. You are low on both. However, I suspect the problem is elsewhere. You might want to review her log files during a backup to see if there are any error messages.
    As for using BackJack, she is an artist and has about 40 GB of photos on her drive that if lost, might be the end of our relationship.
    Then those files need to be archived, not backed up, to one or more devices. They should probably also be verified. I have seen people dutifully run backups for months, never realizing they were backing up junk and overwriting the previous, valid backups. I discovered that only when called in to do a system restore from backup.
    Time Machine too slow, too small a capacity. I ran Mozy for a while but really slow and CPU consuming. BJ is reasonably fast, does incremental backups, does tie up CPU nearly as much.
    I think you have jumped to some invalid conclusions based on some other, underlying issue. When your system if functioning properly, Time Machine should make anything else look like a joke. Your system is sickly, and backing that up isn't doing you any favors.
    My advice is to shut down all backups, perform an archive backup, and verify that the archived data is valid. This might be an excellent occasion to use a cloning tool such as Carbon Copy Cloner. Then investigate why your backups are so slow. I suggest buying a new hard drive anyway for that 40 GB of critical data. May as well get an additional hard drive for the Time Capsule and some more RAM. Then re-partition that machine and reinstall the OS, perhaps onto yet another new drive. That is probably the quickest, easiest, and cheapest way to get your systems back up to speed and running well for the long term.

  • Finalize() method being called multiple times for same object?

    I got a dilly of a pickle here.
    Looks like according to the Tomcat output log file that the finalize method of class User is being called MANY more times than is being constructed.
    Here is the User class:
    package com.db.multi;
    import java.io.*;
    import com.db.ui.*;
    import java.util.*;
    * @author DBriscoe
    public class User implements Serializable {
        private String userName = null;
        private int score = 0;
        private SocketImage img = null;
        private boolean gflag = false;
        private Calendar timeStamp = Calendar.getInstance();
        private static int counter = 0;
        /** Creates a new instance of User */
        public User() { counter++;     
        public User(String userName) {
            this.userName = userName;
            counter++;
        public void setGflag(boolean gflag) {
            this.gflag = gflag;
        public boolean getGflag() {
            return gflag;
        public void setScore(int score) {
            this.score = score;
        public int getScore() {
            return score;
        public void setUserName(String userName) {
            this.userName = userName;
        public String getUserName() {
            return userName;
        public void setImage(SocketImage img) {
            this.img = img;
        public SocketImage getImage() {
            return img;
        public void setTimeStamp(Calendar c) {
            this.timeStamp = c;
        public Calendar getTimeStamp() {
            return this.timeStamp;
        public boolean equals(Object obj) {
            try {
                if (obj instanceof User) {
                    User comp = (User)obj;
                    return comp.getUserName().equals(userName);
                } else {
                    return false;
            } catch (NullPointerException npe) {
                return false;
        public void finalize() {
            if (userName != null && !userName.startsWith("OUTOFDATE"))
                System.out.println("User " + userName + " destroyed. " + counter);
        }As you can see...
    Every time a User object is created, a static counter variable is incremented and then when an object is destroyed it appends the current value of that static member to the Tomcat log file (via System.out.println being executed on server side).
    Below is the log file from an example run in my webapp.
    Dustin
    User Queue Empty, Adding User: com.db.multi.User@1a5af9f
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    Joe
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin pulled from Queue, Game created: Joe
    User Already Placed: Dustin with Joe
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    INSIDE METHOD: false
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    User Dustin destroyed. 9
    User Joe destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    It really does seem to me like finalize is being called multiple times for the same object.
    That number should incremement for every instantiated User, and finalize can only be called once for each User object.
    I thought this was impossible?
    Any help is appreciated!

    Thanks...
    I am already thinking of ideas to limit the number of threads.
    Unfortunately there are two threads of execution in the servlet handler, one handles requests and the other parses the collection of User objects to check for out of date timestamps, and then eliminates them if they are out of date.
    The collection parsing thread is currently a javax.swing.Timer thread (Bad design I know...) so I believe that I can routinely check for timestamps in another way and fix that problem.
    Just found out too that Tomcat was throwing me a ConcurrentModificationException as well, which may help explain the slew of mysterious behavior from my servlet!
    The Timer thread has to go. I got to think of a better way to routinely weed out User objects from the collection.
    Or perhaps, maybe I can attempt to make it thread safe???
    Eg. make my User collection volatile?
    Any opinions on the best approach are well appreciated.

  • HT4576 I want to set up appointment times for an overseas trip before I go, and see those local times in the places I visit, but also be able to set new appointments while I am traveling, in the local times.  Can I do this with Time Zone Support?  If not,

    I want to set up appointment times for an overseas trip on my iPhone 4S before I go, and have them appear as I put them in (for the local time) when visiting other countries.  I also want to be able to adjust times and set up new appointments when I am overseas for the local time.  Can I do this using the Time Zone Support or any other way? 
    Basically I want to do what I can do with a piece of paper - write down the time for when I will be there, and have it viewable when I am there, but also be able to put down new times while there.

    Hi.
    Regarding your question about reverting back- yes, I think you can. If you make a backup of your current configuration in Server Admin (by dragging the configuration file to your desktop- cool, no?) then you can load that one back in should your configuration not work. If you have the manual from Apple it should describe this process.
    Network speed post-op? I don't think you will need to worry. Even using home directories stored on our OS X Server there is no network slowdown (that you can notice or that impacts the wider LAN in any case). It shouldn't slow down access to files, applications (which still come from the local drive anyway) or individual internet connections (even with filtering).
    In our experience some of these things have actually got faster- but a lot of that is user perception. Same goes for people who will know you have configured the server and that they are now accessing files through your network from the server, and who really think it is slower. File coming from your local hard drive will always be quicker- but network access isn't that bad that it will make you barf and run in the opposite direction.
    Something to look at: connection speed between clients and switching technology in your office. In other words, what kinds of switches are you using, what line speed have you got (100MB/s?) and is the connection from your server to the switch gigabit? Make sure it is.
    Enjoy
    Paul
    MacBook Pro 2.16GHz   Mac OS X (10.4.8)  

  • Disk Utility - Format Time for 500GB (Zero Out Data)

    Hello.
    Is there one length of time for formatting a hard drive with one pass of Zero Out Data? For instance, does the length of time change depending if you format with zeros using USB2, FW400, FW800, or eSATA?
    *My Format Setup*
    LaCie Rugged 500GB All-Terrain (USB2 & FW400/800)
    FW800 Cable
    GUID Partition Table
    Mac OS Extended (Journaled)
    Zero Out Data (One Pass)
    I'm formatting with a FW800 connection. Disk Utility has said it will take 1.5 hours for about 3.5 hours now. The blue bar has progressed even though the time remaining is incorrect. At this rate, it will take seven hours to format 500GB.
    I'm going to be formatting multiple 500GB and 1TB drives, and I'm wondering if the time I'm experiencing is normal. Therefore, it should take a day to format 1TB with one pass of zeros. Is this correct?
    Thank you for your help! =)
    Message was edited by: Revearti

    It takes a long time to zero out data on a 500GB drive. The larger the drive, the longer it takes. I don't think the connection makes a difference, since each of your listed options are high speed. Never tried it on an external with USB 1.1, so can't give you any real time experience there. But it will take well over an hour to write zeros on every block of a 500GB drive.

Maybe you are looking for