Προς το περιεχόμενο

.Net vs Java (CLR vs HotSpot JVM)


apoc

Προτεινόμενες αναρτήσεις

Δημοσ.

Απο γνωστο blog του χωρου!

http://www.freeroller.net/page/cpurdy/20030516

---------------------------

.NET perf: quick follow-up

 

I didn't expect so much press on this. Holy cow. Let me quickly re-iterate the following: I was only wasting my time on this because Microsoft was (somewhat secretly) paying yet another company / university / website / whatever to "independently verify" that .NET was somehow faster than Java, and tRolf was being annoying about it, so I got sucked into the nerd vortex before I knew it.

 

Here's a quick top-ten (if I get that far) list of reasons not to use to choose between .NET and Java, starting with yours-truly:

 

1. One is a little faster than another on a particular micro-benchmark.

2. You read a paper from Microsoft or Sun (or Oracle etc. ...) showing how much better one was than the other.

3. You read a paper from an "independent source" showing how much better one was than the other, yet the independent source was paid to do the study / article / whatever.

4. You like Bill Gates or Scott McNeally (or Larry etc. ...).

5. You dislike Bill Gates or Scott McNeally (or Larry etc. ...).

6. You think Microsoft or Sun (or IBM or Oracle ...) is evil.

7. You think Microsoft or Sun (or IBM or Oracle ...) is awesome.

8. You read an "unbiased" article on TheServerSide.com or GotDotNet.com (aka Microsoft.com)

9. You read a seemingly "independent" TCO analysis that showed that one would save you ungodly amounts of money in your budget.

10. tRolf said one was better than the other.

 

Have a good weekend. I'll try to fix some of the complaints etc. on this silly benchmark and give it another spin. When I'm back, I'll pull a Carlos and post a top-ten on how to make the decision between .NET and Java, and I'll give you this one little hint: Performance is not even on the list. Peace.

(Fri May 16 18:16:32 EDT 2003/Fri May 16 18:14:30 EDT 2003)

 

.NET performance still seriously lags Java

 

(For the background of this message, check out the laboriously long thread with my friend tRolf.)

 

Let me start by saying that the results I got from this test were a bit unexpected.

 

I tested on the following versions:

 

.NET 1.0sp2:

Microsoft ® Visual C# .NET Compiler version 7.00.9466

for Microsoft ® .NET Framework version 1.0.3705

Copyright © Microsoft Corporation 2001. All rights reserved.

 

.NET 1.1:

Microsoft ® Visual C# .NET Compiler version 7.10.3052.4

for Microsoft ® .NET Framework version 1.1.4322

Copyright © Microsoft Corporation 2001-2002. All rights reserved.

 

Sun Hotspot Server JVM from JDK 1.3.1_04:

java version "1.3.1_04"

Java 2 Runtime Environment, Standard Edition (build 1.3.1_04-b02)

Java HotSpot Server VM (build 1.3.1_04-b02, mixed mode)

 

Sun Hotspot Server JVM from JDK 1.4.0_02:

java version "1.4.0_02"

Java 2 Runtime Environment, Standard Edition (build 1.4.0_02-b02)

Java HotSpot Server VM (build 1.4.0_02-b02, mixed mode)

 

Sun Hotspot Server JVM from JDK 1.4.1_02:

java version "1.4.1_02"

Java 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06)

Java HotSpot Client VM (build 1.4.1_02-b06, mixed mode)

 

I tested all JVMs with 24, 32, 40, 48, 56, and 64MB of memory by setting -Xms equal to -Xmx. I used the -server command line switch to force the server version of the VM. Otherwise, there were no switches used.

 

I undid some of the bastardizations of the original test code. Here is the code, in full:

 

C#

 

// C# Create 100,000 people in an ArrayList and access them

using System;

using System.Collections;

 

public class ManyPeople

{

public static void Main()

{

for (int i = 0; i < 100; i++)

test(i);

}

 

public static void test(int iIter)

{

DateTime start = DateTime.Now;

for (int i = 0; i < 20; i++)

new ManyPeople().Average();

DateTime finish = DateTime.Now;

Console.WriteLine("Total time for iteration " + iIter + ": " + (finish - start));

}

 

private long Average()

{

ArrayList list = new ArrayList(100000);

for (int i = 0; i < 100000; i++)

list.Add(new Person(i, "John " + i));

 

long silly = 0;

foreach (Person p in list)

silly += p.Id;

return silly / 100000;

}

}

 

// Person.cs: a very simple guy

public class Person

{

int id;

string name;

 

public Person(int anId, string aName)

{

this.id = anId;

this.name = aName;

}

 

public int Id

{

get { return this.id; }

}

}

 

Java:

 

// Java Create 100,000 people in an ArrayList and access them

import java.util.*;

 

public class ManyPeople

{

public static void main(String[] args)

{

for (int i = 0; i < 100; i++)

test(i);

}

 

public static void test(int iIter)

{

long start = System.currentTimeMillis();

for (int i = 0; i < 20; i++)

new ManyPeople().average();

long finish = System.currentTimeMillis();

System.out.println("Total time for iteration " + iIter + ": " + (finish - start));

}

 

private long average()

{

ArrayList list = new ArrayList(100000);

for (int i = 0; i < 100000; i++)

list.add(new Person(i, "John " + i));

 

long silly = 0;

for (int i = 0; i < 100000; i++)

silly += ((Person)list.get(i)).getId();

return silly;

}

}

 

// Person.java: a very simple guy

class Person

{

private int id;

private String name;

 

public Person(int anId, String aName)

{

this.id = anId;

this.name = aName;

}

 

public int getId()

{

return this.id;

}

}

 

The changes allow me to see the first run (which with Hotspot is interpreted) versus the other runs.

 

Before running, I cleaned up my task manager, registry, etc. to minimize other processes running, and rebooted my Windows 2000 sp2 (?) notebook, which is a P3-1Ghz with 1GB RAM. Here are the results (just first six runs per):

 

.NET 1.0sp2:

 

ManyPeople

Total time for iteration 0: 00:00:07.3004976

Total time for iteration 1: 00:00:07.0501376

Total time for iteration 2: 00:00:07.2504256

Total time for iteration 3: 00:00:07.7311168

Total time for iteration 4: 00:00:07.5007856

Total time for iteration 5: 00:00:07.5007856

 

(I ran it several times; these were the best times I got for .NET 1.0sp2.)

 

.NET 1.1:

 

ManyPeople

Total time for iteration 0: 00:00:08.0916352

Total time for iteration 1: 00:00:08.5222544

Total time for iteration 2: 00:00:08.3520096

Total time for iteration 3: 00:00:08.6324128

Total time for iteration 4: 00:00:08.3419952

Total time for iteration 5: 00:00:08.1617360

 

(Yes, you read the numbers correctly. In this test, .NET 1.1 was about 15% slower than .NET 1.0sp2. I will say that this is unusual from my benchmarking experience; the 1.1 release is definitely faster than the 1.0sp2 release for most types of applications.)

 

Sun Hotspot Server JVM from JDK 1.3.1_04:

 

java -server -Xms24m -Xmx24m ManyPeople

Total time for iteration 0: 8101

Total time for iteration 1: 7852

Total time for iteration 2: 7851

Total time for iteration 3: 7851

Total time for iteration 4: 7841

Total time for iteration 5: 7842

 

java -server -Xms32m -Xmx32m ManyPeople

Total time for iteration 0: 7822

Total time for iteration 1: 7540

Total time for iteration 2: 7451

Total time for iteration 3: 7541

Total time for iteration 4: 7541

Total time for iteration 5: 7441

 

java -server -Xms40m -Xmx40m ManyPeople

Total time for iteration 0: 7901

Total time for iteration 1: 7180

Total time for iteration 2: 7171

Total time for iteration 3: 7170

Total time for iteration 4: 7190

Total time for iteration 5: 7171

 

java -server -Xms48m -Xmx48m ManyPeople

Total time for iteration 0: 8122

Total time for iteration 1: 7160

Total time for iteration 2: 7160

Total time for iteration 3: 7170

Total time for iteration 4: 7161

Total time for iteration 5: 7170

 

java -server -Xms56m -Xmx56m ManyPeople

Total time for iteration 0: 7801

Total time for iteration 1: 7371

Total time for iteration 2: 8021

Total time for iteration 3: 8012

Total time for iteration 4: 8011

Total time for iteration 5: 8022

 

java -server -Xms64m -Xmx64m ManyPeople

Total time for iteration 0: 7941

Total time for iteration 1: 7701

Total time for iteration 2: 7731

Total time for iteration 3: 8022

Total time for iteration 4: 7741

Total time for iteration 5: 7731

 

Sun Hotspot Server JVM from JDK 1.4.0_02:

 

java -server -Xms24m -Xmx24m ManyPeople

Total time for iteration 0: 8022

Total time for iteration 1: 7851

Total time for iteration 2: 7881

Total time for iteration 3: 7802

Total time for iteration 4: 7841

Total time for iteration 5: 7861

 

java -server -Xms32m -Xmx32m ManyPeople

Total time for iteration 0: 7801

Total time for iteration 1: 7581

Total time for iteration 2: 7491

Total time for iteration 3: 7591

Total time for iteration 4: 7581

Total time for iteration 5: 7490

 

java -server -Xms40m -Xmx40m ManyPeople

Total time for iteration 0: 8742

Total time for iteration 1: 8192

Total time for iteration 2: 8182

Total time for iteration 3: 8191

Total time for iteration 4: 8182

Total time for iteration 5: 8192

 

java -server -Xms48m -Xmx48m ManyPeople

Total time for iteration 0: 7962

Total time for iteration 1: 7961

Total time for iteration 2: 8012

Total time for iteration 3: 8061

Total time for iteration 4: 7922

Total time for iteration 5: 8071

 

java -server -Xms56m -Xmx56m ManyPeople

Total time for iteration 0: 7882

Total time for iteration 1: 7661

Total time for iteration 2: 7751

Total time for iteration 3: 7761

Total time for iteration 4: 7761

Total time for iteration 5: 7701

 

java -server -Xms64m -Xmx64m ManyPeople

Total time for iteration 0: 7951

Total time for iteration 1: 7481

Total time for iteration 2: 7290

Total time for iteration 3: 7301

Total time for iteration 4: 7441

Total time for iteration 5: 7300

 

Sun Hotspot Server JVM from JDK 1.4.1_02:

 

java -server -Xms24m -Xmx24m ManyPeople

Total time for iteration 0: 8352

Total time for iteration 1: 8071

Total time for iteration 2: 8102

Total time for iteration 3: 8021

Total time for iteration 4: 8072

Total time for iteration 5: 8062

 

java -server -Xms32m -Xmx32m ManyPeople

Total time for iteration 0: 7580

Total time for iteration 1: 7491

Total time for iteration 2: 7391

Total time for iteration 3: 7511

Total time for iteration 4: 7490

Total time for iteration 5: 7391

 

java -server -Xms40m -Xmx40m ManyPeople

Total time for iteration 0: 8482

Total time for iteration 1: 8132

Total time for iteration 2: 8122

Total time for iteration 3: 8121

Total time for iteration 4: 8112

Total time for iteration 5: 8132

 

java -server -Xms48m -Xmx48m ManyPeople

Total time for iteration 0: 7701

Total time for iteration 1: 7571

Total time for iteration 2: 7671

Total time for iteration 3: 7771

Total time for iteration 4: 7631

Total time for iteration 5: 7801

 

java -server -Xms56m -Xmx56m ManyPeople

Total time for iteration 0: 7651

Total time for iteration 1: 7571

Total time for iteration 2: 7661

Total time for iteration 3: 7661

Total time for iteration 4: 7681

Total time for iteration 5: 7621

 

java -server -Xms64m -Xmx64m ManyPeople

Total time for iteration 0: 7901

Total time for iteration 1: 7571

Total time for iteration 2: 7411

Total time for iteration 3: 7420

Total time for iteration 4: 7561

Total time for iteration 5: 7411

 

Sun Hotspot Client JVM from JDK 1.4.1_02:

 

java -Xms64m -Xmx64m ManyPeople

Total time for iteration 0: 8322

Total time for iteration 1: 8382

Total time for iteration 2: 8362

Total time for iteration 3: 8602

Total time for iteration 4: 8432

Total time for iteration 5: 8352

 

(Included just to show it falls behind the server JVM for a CPU-bound test.)

 

And now, for the bad news. If we look at the .NET CLR, being a simple JIT, it never improves over time. On the other hand, the Hotspot Server only widens its performance lead, particularly in a "server" configuration where it isn't so heap constrained:

 

Sun Hotspot Server JVM from JDK 1.4.1_02:

 

java -server -Xms128m -Xmx128m ManyPeople

 

Total time for iteration 0: 6370

Total time for iteration 1: 5788

Total time for iteration 2: 5868

Total time for iteration 3: 6029

Total time for iteration 4: 5748

Total time for iteration 5: 5738

Total time for iteration 6: 5729

Total time for iteration 7: 5948

Total time for iteration 8: 5688

Total time for iteration 9: 5679

Total time for iteration 10: 5658

Total time for iteration 11: 6028

Total time for iteration 12: 5699

Total time for iteration 13: 5708

Total time for iteration 14: 5678

Total time for iteration 15: 5969

Total time for iteration 16: 5628

Total time for iteration 17: 5538

Total time for iteration 18: 5608

Total time for iteration 19: 5498

Total time for iteration 20: 5768

Total time for iteration 21: 5518

Total time for iteration 22: 5307

Total time for iteration 23: 4247

Total time for iteration 24: 4696

Total time for iteration 25: 4617

Total time for iteration 26: 4777

Total time for iteration 27: 4286

Total time for iteration 28: 4677

Total time for iteration 29: 4626

Total time for iteration 30: 4697

Total time for iteration 31: 4286

Total time for iteration 32: 4697

Total time for iteration 33: 4617

Total time for iteration 34: 4696

Total time for iteration 35: 4307

Total time for iteration 36: 4686

Total time for iteration 37: 4807

Total time for iteration 38: 4517

Total time for iteration 39: 4306

Total time for iteration 40: 4657

Total time for iteration 41: 4807

Total time for iteration 42: 4596

Total time for iteration 43: 4206

Total time for iteration 44: 4777

Total time for iteration 45: 4717

Total time for iteration 46: 4607

Total time for iteration 47: 4196

Total time for iteration 48: 4796

Total time for iteration 49: 4707

Total time for iteration 50: 4777

Total time for iteration 51: 4196

Total time for iteration 52: 4627

Total time for iteration 53: 4687

Total time for iteration 54: 4806

Total time for iteration 55: 4186

Total time for iteration 56: 4627

Total time for iteration 57: 4697

Total time for iteration 58: 4807

Total time for iteration 59: 4166

Total time for iteration 60: 4616

Total time for iteration 61: 4697

Total time for iteration 62: 4717

Total time for iteration 63: 4346

Total time for iteration 64: 4717

Total time for iteration 65: 4617

Total time for iteration 66: 4626

Total time for iteration 67: 4367

Total time for iteration 68: 4706

Total time for iteration 69: 4617

Total time for iteration 70: 4617

Total time for iteration 71: 4366

Total time for iteration 72: 4687

Total time for iteration 73: 4616

Total time for iteration 74: 4196

Total time for iteration 75: 4787

Total time for iteration 76: 4687

Total time for iteration 77: 4807

Total time for iteration 78: 4436

Total time for iteration 79: 4387

Total time for iteration 80: 4676

Total time for iteration 81: 4807

Total time for iteration 82: 4417

Total time for iteration 83: 4296

Total time for iteration 84: 4686

Total time for iteration 85: 4797

Total time for iteration 86: 4266

Total time for iteration 87: 4697

Total time for iteration 88: 4617

Total time for iteration 89: 4717

Total time for iteration 90: 4276

Total time for iteration 91: 4707

Total time for iteration 92: 4616

Total time for iteration 93: 4697

Total time for iteration 94: 4296

Total time for iteration 95: 4677

Total time for iteration 96: 4546

Total time for iteration 97: 4697

Total time for iteration 98: 4296

Total time for iteration 99: 4677

 

Yup, that's right. The Sun Hotspot server edition eventually widens its lead to the point where it is running almost two times as fast as .NET version 1.1! While the CLR couldn't get below 8 seconds, starting with the 23rd iteration, the Sun Hotspot server JVM never went above 5 seconds! So for applications that don't just open and close, the Hotspot JVM absolutely wipes the floor with the latest and greatest Microsoft CLR.

 

Does it matter? You decide. But it's certainly not the myth that Rolf and Microsoft are attempting to perpetuate. Because for enterprise applications, the Microsoft .NET CLR is obviously way behind the performance capability of the modern JVMs. Unless of course Microsoft volunteers to fund my research at a university, in which case I'm sure I could come to a different conclusion ;-). Peace.

(Fri May 16 14:30:44 EDT 2003/Fri May 16 14:24:36 EDT 2003)

Δημοσ.

ενταξει δεν μπορεις να βγαλεις συμπερασματα με ενα τετοιο τεστ. παρολα αυτα οπως αναφερει ο συγγραφεας εχει γινει της μοδας...τωρα τελευταια...να βγαινουν τεστ

 

πληρωμενα μη πληρωμενα που οι εφαρμογες να ειναι tunarismeneς για συγεκριμενη πλατφορμα!Πχ το πρωτο test που εκανε η

MiddleWare company (sponsored from MS) οπου βγαλανε μια .net version του PetShop χρησιμοποιουσε stored Procedures στην βαση ..και ειχε επιδοσεις παρα πολυ καλες σε εκεινο το κομματι σε σχεση με το Java PetShop το οποιο ηταν απλα ενα reference implementation για το j2ee!

Στην συνεχεια πειρε τον λογο η Oracle.. με ενα δικο της test ...και φυσικα εβγαζε την Java πιο γρηγορη, καπου στην μεση μπλεχτηκε και η IBM η οποια ομολγω τον τελευταιο καιρο ειναι μια διχασμενη προσωπικοτητα!

1. Ειναι με την MS ,οι ανταρτες των Web Services με το να αποχωρθσουν απ το w3c και να δωσουν τα δικα τους προτοκολα

2.απο την αλλη ειναι μια απο τις κινητηριες δυναμεις πισω απο την Java..με παραδοσιακες σχεσεις με το Apache Foundation, το eclipse project κτλ κτλ

 

Συντομα η δευτερη εκδοση του J2ee vs .Net της Middleware θα βγει..υποσχοντε να εναι εινα πιο προσεκτικοι και λιγοτερο..sponsored <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/wink.gif" alt="" />

<img src="http://www.insomnia.gr/ubbthreads/images/graemlins/grin.gif" alt="" />

 

Δημοσ.

Χεχε κορυφαίο... Ας περιμένουμε μέχρι να βγει ο "τίγρης" για να έχουμε generics και να μειώσουμε castings και να δούνε μερικοί πόσο πιο γρήγορη θα είναι η τελευταία JVM..

Δημοσ.

Ειναι η java ενα εκατομμύριο φορές γρηγορότερη απο όλους;

 

Java is by far the fastest computer language ever invented. Im not talking 10% faster <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/mad.gif" alt="" /> . Im not talking 50% faster. <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/blush.gif" alt="" /> Im talking hundreds of times faster <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/tongue.gif" alt="" /> than any other language <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/confused.gif" alt="" /> . This is hugely simple <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/grin.gif" alt="" /> to demonstrate, with a test anyone can perform on any machine.... <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/cool.gif" alt="" />

 

http://www.javaperformancetuning.com/news/qotm028.shtml

 

 

Δημοσ.
random

said:

Ειναι η java ενα εκατομμύριο φορές γρηγορότερη απο όλους;

 

Java is by far the fastest computer language ever invented. Im not talking 10% faster <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/mad.gif" alt="" /> . Im not talking 50% faster. <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/blush.gif" alt="" /> Im talking hundreds of times faster <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/tongue.gif" alt="" /> than any other language <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/confused.gif" alt="" /> . This is hugely simple <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/grin.gif" alt="" /> to demonstrate, with a test anyone can perform on any machine.... <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/cool.gif" alt="" />

 

http://www.javaperformancetuning.com/news/qotm028.shtml

 

 

Κάτι πρέπει να ξέχασε ο τύπος να γράψει...

 

Κάποιος που έχει java, c#, c/c++ compilers και perl parser ας γράψει τα παραδείγματα που δίχνει ο τύπος χωρίς empty loops και να μου στείλει τα αποτελέσματα plzzz.

Δημοσ.

για Non empty δες πανω!

Ο τυπος εχει κανει πουστια...για οποιον την εχει δει..

να το παρει το ποταμι? (βεβαια δεν ξερω αν μπορεις να το θεωρησεις πουστια..παρολα αυτα ειναι ενα πλεονεκτημα του VM).

<img src="http://www.insomnia.gr/ubbthreads/images/graemlins/grin.gif" alt="" />

 

 

Δημοσ.

Γι αυτό λέω πως κάτι πρέπει να ξέχασε... <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/smile.gif" alt="" /> ελπίζω να μην το έκανε σκόπιμα.

Δημοσ.

οχι δεν εχει ξεχασει τιποτα!

οι κωδικες ειναι μια χαρα!

αλλου ειναι το κολπο!

 

edit: εκτος αν εννοεις οτι εχει ξεχασει να αναφερει αυτο το μικρο σημειο! <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/grin.gif" alt="" />

Δημοσ.

ναι..βασικα το κολπο δεν γινεται στον κωδικα..

αμα προσεξεις λοιπον ...το statement που χρησιμοποιει για να τρεξει τον κωδικα της Java!

>
java -server Loop

 

λοιπον το κολπο ειναι οτι αυτος καλει το Java Virtual Μαchine να τρεξει με διαφορετικο mode! Το VM εχει 2 βασικα Mode. To client και το server. Το Server Μοde εκτος απο τις διαφορες στην ποσοτητα μνημης που καταλαμβανει για να υποστηριξει βαριες εφαγμογες κτλ κτλ. Χρησiμοποιει εναν πολυ εξυπνο (τουλαχιστον ετσι φαινεται) profiler του Bytecode.

Ουσιαστικα αυτο που κανει ειναι αφου παρει τον bytecode Που εχει ειδη περασει ενα σταδιο optimizations οπως καθε σοβαρος compιler κανει, κανει ενα δευτερου ειδους compilation θα λεγαμε κατα την εκτελεση,.και προσπαθει να αναλυσει τον κωδικα.,για τυχον προβληματα..και κωδικες οπως ο παραπανω!

Προφανως ο optimizer η Profiler οπως θες πες τον..καταλαβαινει τι μαλακια παιζε στα 2 loop και αποφασιζει την πιο συντομη εκτελεση!!

 

Εδω να πουμε οτι ...οι γλωσσες οπως η C, C++ δεν εχουν τετοια προνομια..υποθετω ουτε και η perl (δεν ξερω αν ο interpreter της ειναι τοσο εξυπνος) . Γιατι c, C++ παρολο που ερχοντε με πολυ εξυπνους compiler οσο αναφορα το optimization του κωδικα..μετα δεν υπαρχει αλλο σταδιο αναλυσης..κατα την εκτελεση..οποως υπαρχει στο Virtual Machine!

Υποθετω οτι η C# Μπορει να εχει ..η ακομα (να μην εχει)παρομοιες μαγκιες..παρολα αυτα επειδη η αρχιτεκτονικη της ειναι ιδια..(VM/Bytecode/assemblies) ειναι σιγουρο οτι υπαρχουν οι βασεις!

 

Ενα απο τα καλα λοιπον του Virtual Machine!Το οποιο πιστευω ειδικα για την Java συντομα θα δουμε μεγαλες αλλαγες..παρομοιες με εκεινες του 1.2 -> 1.3

 

Παραθετω παρακατω την παραγραφο που δινει περιληπτικα την απαντηση

---------------------------------------------------------

Adaptive compiler - The Java HotSpot Server VM launches an application using a standard interpreter, but then analyzes the code as it runs to detect performance bottlenecks, or "hot spots". It compiles those performance-critical portions of the code for a boost in performance, while avoiding unnecessary compilation of seldom-used code (most of the program). The Java HotSpot Server VM also uses the adaptive compiler to decide, on the fly, how best to optimize compiled code with techniques such as in-lining. The runtime analysis performed by the compiler allows it to eliminate guesswork in determining which optimizations will yield the largest performance benefit.

---------------------------------------------------------

 

Link

http://java.sun.com/products/hotspot/2.0/README.html

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...