I can't speak to how much RAM AmiBroker uses as I am just starting to learn
how to use it, but I really wouldn't worry about it.  I have developed
software for almost 20 years, and based on that experience, I would say that
RAM is so inexpensive now, that it would pay just to load up your system
with as much RAM as the motherboard/chipset can use.  The caveat there is 32
bit Windows won't see more than about 3.5 GB of RAM.  If I were buying a new
system, I'd get one with 64 bit Windows installed, and thus all the RAM the
motherboard/chipset can handle (it will be a while before there are
motherboards that can accommodate anywhere near the maximum a 64 bit OS can
handle in its address space).

That way, the impact on the different processes you're running have on each
other will be reduced to a minimum (a minimum specific to the other
components in your system).  I would suggest, though, that unless your
machine will be dedicated to running AmiBroker only, it is not practical to
try to optimize a machine for it, simply because everything else your
machine is doing can impact it behaviour.  Do you get real time quotes?  Do
you browse the web, or at least favourite sites, for information relevant to
your use of AmiBroker?  Literally anything you do can impact the performance
of AmiBroker or any other application you run.

The next big things to consider, apart from your processor itself, are your
caches (on the chip: L2, for example), and your buss speed: how fast your
processor can fetch from, and write to, memory.

I find it a bit surreal that you would worry about processes that take 3
minutes the first time, and a minute subsequently.  Would getting a result
10 seconds sooner really make a difference?  But my experience is with whole
ecosystem environmental risk applications, where a comprehensive assessment
model may take weeks to run, and the engineers that have to use them would
dance a jig if they could get the same results in a week.  They'd probably
faint if they could get those same results in an hour.  My colleagues would
advise me not to worry about little things, as long as we can get the
information we need in time to make appropriate decisions and act in a
timely manner.

To answer your last question: yes there is a way to determine the impact of
each system component on the performance of a specific application, even
taking other applications that may be executing at the same time.  But that
is so time consuming and expensive to do right, it isn't worth the effort:
to do it alone would take long enough that your machine would be obsolete by
the time you're done, and to have a team do it would cost several times the
cost of just getting the fastest available processor on the fastest
available motherboard with as much RAM as it can take.  It would make for an
interesting thesis topic for a graduate student in computer science, but it
is impracticable for most real world users.

It is smarter and much less expensive just to make sure you have the fastest
processor, with the biggest on-board caches, the fastest bus, and all the
RAM that will fit, that you can afford, and even buy several to share the
load.  In my work, we don't go beyond making sure we have a good, stable
machine to do the job, and then we spend a lot of time on writing high
performance code (that involves extensive profiling to find where the
bottlenecks are - a process similar to, but more focused than, the work
required to give you the kind of answer you're looking for).

HTH

Cheers,

Ted

On Mon, Nov 16, 2009 at 9:41 AM, jmdeacon <[email protected]> wrote:

>
>
> I am considering buying a new computer and was wondering if there was a way
> to figure out how much Ram I am using. I am not a programmer by profession
> and have self taught myself a fair amount, but sometimes my assumptions
> about computers etc are just plain wrong, so let me no if my thinking is
> correct.
>
> I noticed when I run an optimization, the first pass will take about 3
> minutes and then each subsequent step takes about 1 minute. I noticed a
> while ago that when I installed more ram, the first step time did not change
> as much as the additional step times. I am assuming that the amount of ram
> is part of this. If the amount of ram is more than the amount of data loaded
> in to be tested, then I will minimize the time for each additional step
> after the first pass.
>
> If I am correct of this, is there a way to find out how much ram that
> threshold is on my system?
>
> Thanks,
>
> John
>
>  
>

Reply via email to