l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
September 2: Social Gathering
Next Installfest:
Sat. Sept. 27, 10am-6pm
Latest News:
Aug. 30: September Installfest scheduled
Page last updated:
2006 Feb 17 14:05
Events
 Meetings
 Installfests
 Demos
 Photos
Services
 Library
 LERT
 Jobs
 Documents
Interact
 Mailing Lists
 - Search
 - Archives
 Chat
About Us
 Members
 Projects
 Testimonials
 Call for Speakers
 Why Not MS?
 Finances
 Sponsors

^Home
?Search
?News & RSS
?Calendar
@Contact Us
$Buy Stuff
=Printable


The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] benchmarking (again)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] benchmarking (again)



On Fri 17 Feb 06, 12:00 PM, Mark K. Kim <lugod@cbreak.org> said:
> On Fri, Feb 17, 2006 at 11:13:42AM -0500, Peter Jay Salzman wrote:
> 
> > And I've read that java allocates
> > memory for all data items on the heap, which is never stored in L1 cache
> > while for C and C++, temporary objects are often put into the L1 cache.
> 
> I think you mean CPU registers?  L1/L2/L3 caches are just buffers
> between RAM and the CPU registers, and all data allocated in RAM, stack
> or heap, go through L1 cache at some point.  Programming languages or
> compilers have no direct memory allocation access of the caches.
 
I was under the impression that this is what computer scientists call
"locality of data" -- if data is used once, it'll be used again soon.  The
strategy that attempts to exploit locality of data is to hold recent data in
L1 cache.

I read that in an article on Java World on optimizing Java programs.

> Anyway, wouldn't the details of data items getting allocated in the
> heap/stack/register depend on the JVM and the JIT compiler?  Objects,
> would have to be allocated in the heap, but simple data types like
> "double" can certainly be temporarily allocated in a CPU register until
> it's out of scope, no matter what the Java standard may say, if the JIT
> compiler, for example, determines it can be done safely and can speed up
> the execution.

I see what you mean.  Yeah, but the question still remains -- what's going
on with the user time in java apps, and why does the program run faster in
Java than C++?  Certainly C++ compilers know how to do all that stuff too.

Pete
_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

CD Burns Wanted!

LUGOD: Linux Users' Group of Davis
1105 Kennedy Place, Suite 1, Davis, CA 95616
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Marc Hall
For a generous donation to allow us to continue meeting at the Davis Library.