The opinion of Rich Gray, who is a lawyer who writes commentary for the San Jose Mercury news, is that, while this IS a legitimate legal issue, in the end the Supream Court can override it and get whatever they feel like requesting, including the state cases.
Studying history can clear up many misconceptions.
In this case there was a very good article over at www.cnnfn.com that looks backwards over this case. It points out that Jackson is a Regan appointed judge and generally quite conservative. In specific point of fact when this case began he made a number of comments that indicated he leaned towards Micrsoft and corproate america in general. he referred to Microsoft as a "highly efficient" organization with clear respect and said he was loathe to intefere with such an important engien of the american economy.
That he ended up ruling so harshly against them is clearly a result of just how badly they did in court and the undeniable fact that they have been acting as an abusive monopoly. The word he used most recently to describe them was "incourrigable."
Micrsoft made their bed and are lying in it. History quite clearly shows that blamign this judge for being "too liberal" borders on ludicrous.
MSDOS... a CP/M clone because gates wnated to sell Basic to IBM and Gary Kildall (Digital research) wouldn't play ball.
Windows... an attempt to copy the success of the GUI as proved by Apple. Coudl be seen as a rip-off of many other such attempts (ie Digital Research's GEM) or all (including the mac) as Rip-offs of teh Xerox Star.
If we didn't have MS-DOS and Windows we'ld most likely have CP/M and GEM. Same difference.
Show me how MS HAS innovated and made any difference on a technical level??
"Those who don't study history are doomed to fail it.' -- anonymous on blackboard
There a specific law that speaks to this... the "Antitrust Expidition Act". It has been invoeked twice before, both cases involving Standard Oil.
It exists for the same reason that this decision is a good one. Part of the theory of the law, as set down by precedent, is that it is the duty of a judge to make decisions that reduce the cost of litigation to society. it is oen of the many things he or she ahs to weight when making a decision.
It is clear in this case that no matter what the Aplellate Court ruled, it woudl be apealed to the supream court. By asking the Supreams to hear it directly, he saves society the cost of one whole pointless round of court action.
Jackson already defined these things in his findings of fact and did a very good job. If you haven't read themand you'e inertested in this you should.
To inadaquately sumamrize, he defiend three things: Operating system , Application and middleware. OS talks to the hardware, Applciatiosn talk to the user. Middleware lives in-between the applciation and the OS.
For the purposes of being an application platform, he correctly identified the browser as middleware.
Cooperative networkerd multi-media via ad hoc netowrked indepednant locally caching nodes that make up a destribuetd database system.
Thera re a few good books on it for thsoe who are interested out there and source code is freely available.
Unfortunately the "minimally functional/maximally stupid fragily linked file server" solution of HTTPD got too established too quickly and HyperG couldn't penetrate.
Once again, better technology proves not to be the deciding point in the market.
Still digesting it all. After you dot the bump map normal with the interpolated normal, what do you do with the final value, look it up ina pre-claculated shade table by treating the reult like a color index?
I was told differently and couldn't find any support one way or the other both on Nvidias site and in that article.
Do you have a good reference for the actual claculatiosn beign erpformed by the card? One has to wonder if this is the case why they didn't SAY Phong shader anywhere in their literature...
"Per pixel shading" is getting there but still not a true Phong shade. Before lighting looka at all realistic the cards will have to reach the point of a real Phong shade.
The first Foley and Van Dam didn't deserve it's reputation. It was very basic and pretty empty. if you have studied Linear Algebra, you already knew most of what it had to offer. (And if you haven't you shouldn't be trying to write real 3D code.)
The new edition is much better but still hardly the best book around. I've always preferred the Rogers book Procedural Elements for Computer Graphics. His organization is a bit awkward but there are lost of good discussions of the pluses and minuses of various rendering techniques and how to implement them.
For specific algorithms, the Graphics Gems series is the BEST high-performance graphics reference around.
I recently saw another excellent hard cover text but I'm having trouble pulling the name to mind.
The moral is, go to the bookstore and read a good chunck of the boosk before you buy it. Don't just by VD because of its reputation.
Oh, I won't argue woith you about memory usage. Thats perfectly legitimate IMO,as far as it goes. Pulling machinery into the run-time by definition has a memory cost. Its worth noting though that much of the memory cost on the meta-data side is actually the reflection information. Static binding wont help that unelss you reduce the degree of reflection possible.
Still, when people ask me abotu static compierls I DO say that if yo uare going itn oa memory limited environment, where you don't need crposs platform capability (such as in a PDA) there may be some value to that approach.
In the multi-purpsoe ciomputer world, though, memory has gotten so cheap that a 64meg box counts as a "legacy system".
This is on Windows right? I thought i better check that. On Linux you'ld need to use the just-released Sun JVM for Linux.. which is in beta so its a bit of an unfair test even so.
I know that Hotspot2 can run more or less neck and neck with the IBM VM. IBM wins on bounds checks. Hotspot wins on memory allcoation/deallocation. Obviosuly both teams are workign on integrtating the other teams' advantages and, over time, they will grow closer and closer together,
But if either IBM or Sun can keep up with the C code, then thats really the point. Java today can give a respectable performance v. C. Considering the C compilers are mature products and the VM/dynamic compilers are still actively growing and developing, ist l;ikely that in the not to odistant future we will here peopel syaing "why can't C have a dynamic compiler???":):):)
This WOULD be informative, if it were'nt full of assertions that are misinformtation.
I encourage everyone to look at the actual data and arctectural explainations on Hotspot. Some of it is on java.sun.com, you can find real users reports on javalobby.
But for what its worth...
(1) Hotspot in fact works much BETTER on real world apps then benchmarks. Among other thing, reall apops runa lot longer then benchmarks generally do, giving Hotspot more time to tune itself.
This is a running problem with benchmarking hotspot. There is an article on this issue at java.sun.com that explains the issues and actively ENCOURAGES people to use real-world apps to get a proper feel for Hotspot's true feel.
It is a touch outdated in that it refers to 1.0 . In aprticualr the "on-stack repalcement" thing is no longer an issue. Noentheless its worth looking at.
(2) The first JDK that shipped with Hotspot (client) included was JDK1.3 JDK1.3 has DECREAESED startup and over-all memory footprint by something like 6 meg over 1.2 So much for the assertion that Hotspot uses more memory.
In poitnt of fact the logical "proof" offered for this is nosnenseical: "uses memory for compiler + bytecode and native code is in memory" has been true since JITs, way back in the 1.1.x days. Hitspot actually does NOT compile seldom used methods, unliek the older JITs, tehreby generating LESS code. Hpwever the size of the compield code is not a terribly relevent thing in over-al;l footprint. Meta-data and objects take the vast majority of the space in modern JVMs.
3) Letting a program run for a decent amount of time better simulates real world apps. How many real apps typically run for 30 seconds or less?? In fact, Chris's benchamrks to a degree cheat Hotspot by NOT running long enough. He comments on this and what it does to the output in the notes under "Infinite Life."
4) In re No UI in his life test. The point ehre is to comapre the speed of code generated NOT the comaprative speeds of various graphcis libraries. As soon as you start going through the libraries you bring other issues into play. Whetehr or not Swing and 2D are fast enough is an intresting subject, but a different one.
5) In re "favoring run time optimization"... yiou'll need to explai nwhy you feel this makes adiffference. I dont' see it. Farnkly ythese all do small bnut 'real world" kinds of jobs anbd thereofr seem, to me to pretty accurately reflect some real world tasks.
In point of fact, the bounded Life test rather seriously favors C/C++ because it invovles intensive array access, which C/C++ doesn't sanity check but Java does. Yo ucna see this when you loo kat thsoe resulrts as comapred to the "Infinite Life" results which are much lighter on array access and much heavier on allocation/deallocation.
... if you're running the raw 1.3 then your running Hotspot 1 -- client. Try Hotspot 2 for Servers.
Again I'd like to know all the details of your envrionment. If your running so low on memory that Java is swapping, for instance, then we KNOW what the outcome will be before you start.
Nobody has suggsted that a VM can run in as memory tight conditions as native aseembly code executables do. That would be ratehr amazing if anyone pulled it off. BUT memory is below a buck a meg these days. I'd argue systems with less then 128meg are becoming pretty rare and outdated. After all, even Winfroze 2K requries more memory then 64M.
Youa re tryign top use thier trademakr "barie" to draw peopel to your site. Oterhwise why not just chose a different name?
This is what Trademark law is designed to prevent. Your capitalizing on their marketing and potetnially even damaging their marketing efforts.
Calling this censoirship is like calling your ownserhip of your house theaft. I know some true socialists who might be able to make that claim (as well as some indigenous groups) but IU'd think you'ld be the first in that case to point otu that by our scoieties laws your claim is legitimate.
Laws don't only work when they protect us... they have to protect everyone to be effective.
I have tried them. My results concurr with Chris's
**shrug** The wonders of differnt machines. If you have different numerbs you should post them, as completely documented as Chris did.
And the big benefit Hotspot gets ehre is that Hotspot inpoines recursive calls to a certain depth. I doubt the C compierls are doing that. Agaiun, looking at output code wouold probably answer the question if you're really intrested in exploring it. You can examine Hotspot code by breaking within the loop in a good debugger or Software ICE and examining executing byte code.
Actually, if you look at the notes under the "Inifinite Life" (heavy allcoation/deallocation test), you'll see that in fact the test was NOt run long enough for Hotspot to really 'do its thing."
When it was run lomnger, the dip totally vanished.
A big one is that VMs don't yet share the calss data so every time you launch a VM you get a significant memory hit (6 or 8 meg currently, I believe.)
The point thoguh is nto that java i 100% perfect but that at least one "intractable problem", Java computational performance, has been solved to some degree and is likely to gwet even better.
As someone else pointed out, dyncamic compilers are in their infancy. If they can already compete favorably with the older, well evolved technology of static compilers, it doesn't take much imagination to guess what the future holds.
In re memory usage, thats actually a much easier problem. I would expect to start to see solutiosn in the next few major releases of the VMs from the top VM makers.
The answer is that,as Java matures, more and more of the run-time system in general is moving to Java code.
Obviously there always has to be a central "bootstrap" layer that starts out in compiled code. How muich of that rmains in C++ in the various VMs only time will tell.
In Chris's orginal web page (I don't knwo if it made it into the article or not) he mentions this.
The problem is that ther are no free trial versions of those compielrs. (hmmm.. wonder why... you'ld think if they coudl live up to their claims they'd want people to try their code in them...)
If the static Java compiler manufacturers wanted to send Chris a free copy I'm SURE he'd be happy to add those tests. Letting them do the runs ofcourse is pointless as part of the point here is that Chris doesn't work for any of the company's whose products he tested.
Are you sure? I was sure I read Standard Oil, but the writer may have been mistaken.
**shrug**
The opinion of Rich Gray, who is a lawyer who writes commentary for the San Jose Mercury news, is that, while this IS a legitimate legal issue, in the end the Supream Court can override it and get whatever they feel like requesting, including the state cases.
Studying history can clear up many misconceptions.
In this case there was a very good article over at www.cnnfn.com that looks backwards over this case. It points out that Jackson is a Regan appointed judge and generally quite conservative. In specific point of fact when this case began he made a number of comments that indicated he leaned towards Micrsoft and corproate america in general. he referred to Microsoft as a "highly efficient" organization with clear respect and said he was loathe to intefere with such an important engien of the american economy.
That he ended up ruling so harshly against them is clearly a result of just how badly they did in court and the undeniable fact that they have been acting as an abusive monopoly. The word he used most recently to describe them was "incourrigable."
Micrsoft made their bed and are lying in it. History quite clearly shows that blamign this judge for being "too liberal" borders on ludicrous.
Hmm lesee...
... a CP/M clone because gates wnated to sell Basic to IBM and Gary Kildall (Digital research) wouldn't play ball.
MSDOS
Windows... an attempt to copy the success of the GUI as proved by Apple. Coudl be seen as a rip-off of many other such attempts (ie Digital Research's GEM) or all (including the mac) as Rip-offs of teh Xerox Star.
If we didn't have MS-DOS and Windows we'ld most likely have CP/M and GEM. Same difference.
Show me how MS HAS innovated and made any difference on a technical level??
"Those who don't study history are doomed to fail it.' -- anonymous on blackboard
"If it were'nt for them Pcs woudld pretty much be non-existant."
One word: CP/M
"Those who do not study history are doomed to fail it." -- anonymous on blackboard
There a specific law that speaks to this... the "Antitrust Expidition Act". It has been invoeked twice before, both cases involving Standard Oil.
It exists for the same reason that this decision is a good one. Part of the theory of the law, as set down by precedent, is that it is the duty of a judge to make decisions that reduce the cost of litigation to society. it is oen of the many things he or she ahs to weight when making a decision.
It is clear in this case that no matter what the Aplellate Court ruled, it woudl be apealed to the supream court. By asking the Supreams to hear it directly, he saves society the cost of one whole pointless round of court action.
Relax.
Jackson already defined these things in his findings of fact and did a very good job. If you haven't read themand you'e inertested in this you should.
To inadaquately sumamrize, he defiend three things: Operating system , Application and middleware. OS talks to the hardware, Applciatiosn talk to the user. Middleware lives in-between the applciation and the OS.
For the purposes of being an application platform, he correctly identified the browser as middleware.
HyperG.
Cooperative networkerd multi-media via ad hoc netowrked indepednant locally caching nodes that make up a destribuetd database system.
Thera re a few good books on it for thsoe who are interested out there and source code is freely available.
Unfortunately the "minimally functional/maximally stupid fragily linked file server" solution of HTTPD got too established too quickly and HyperG couldn't penetrate.
Once again, better technology proves not to be the deciding point in the market.
Great info, thanks :)
Still digesting it all. After you dot the bump map normal with the interpolated normal, what do you do with the final value, look it up ina pre-claculated shade table by treating the reult like a color index?
Really.
I was told differently and couldn't find any support one way or the other both on Nvidias site and in that article.
Do you have a good reference for the actual claculatiosn beign erpformed by the card? One has to wonder if this is the case why they didn't SAY Phong shader anywhere in their literature...
"Per pixel shading" is getting there but still not a true Phong shade. Before lighting looka at all realistic the cards will have to reach the point of a real Phong shade.
And there are better books :)
IMO time, but this was my major area in college.
The first Foley and Van Dam didn't deserve it's reputation. It was very basic and pretty empty. if you have studied Linear Algebra, you already knew most of what it had to offer. (And if you haven't you shouldn't be trying to write real 3D code.)
The new edition is much better but still hardly the best book around. I've always preferred the Rogers book Procedural Elements for Computer Graphics. His organization is a bit awkward but there are lost of good discussions of the pluses and minuses of various rendering techniques and how to implement them.
For specific algorithms, the Graphics Gems series is the BEST high-performance graphics reference around.
I recently saw another excellent hard cover text but I'm having trouble pulling the name to mind.
The moral is, go to the bookstore and read a good chunck of the boosk before you buy it. Don't just by VD because of its reputation.
Oh, I won't argue woith you about memory usage. Thats perfectly legitimate IMO,as far as it goes. Pulling machinery into the run-time by definition has a memory cost. Its worth noting though that much of the memory cost on the meta-data side is actually the reflection information. Static binding wont help that unelss you reduce the degree of reflection possible.
Still, when people ask me abotu static compierls I DO say that if yo uare going itn oa memory limited environment, where you don't need crposs platform capability (such as in a PDA) there may be some value to that approach.
In the multi-purpsoe ciomputer world, though, memory has gotten so cheap that a 64meg box counts as a "legacy system".
This is on Windows right? I thought i better check that. On Linux you'ld need to use the just-released Sun JVM for Linux.. which is in beta so its a bit of an unfair test even so.
:) :) :)
I know that Hotspot2 can run more or less neck and neck with the IBM VM. IBM wins on bounds checks. Hotspot wins on memory allcoation/deallocation. Obviosuly both teams are workign on integrtating the other teams' advantages and, over time, they will grow closer and closer together,
But if either IBM or Sun can keep up with the C code, then thats really the point. Java today can give a respectable performance v. C. Considering the C compilers are mature products and the VM/dynamic compilers are still actively growing and developing, ist l;ikely that in the not to odistant future we will here peopel syaing "why can't C have a dynamic compiler???"
This WOULD be informative, if it were'nt full of assertions that are misinformtation.
E .html)
I encourage everyone to look at the actual data and arctectural explainations on Hotspot. Some of it is on java.sun.com, you can find real users reports on javalobby.
But for what its worth...
(1) Hotspot in fact works much BETTER on real world apps then benchmarks. Among other thing, reall apops runa lot longer then benchmarks generally do, giving Hotspot more time to tune itself.
This is a running problem with benchmarking hotspot. There is an article on this issue at java.sun.com that explains the issues and actively ENCOURAGES people to use real-world apps to get a proper feel for Hotspot's true feel.
(http://java.sun.com/products/hotspot/1.0/READM
It is a touch outdated in that it refers to 1.0 . In aprticualr the "on-stack repalcement" thing is no longer an issue. Noentheless its worth looking at.
(2) The first JDK that shipped with Hotspot (client) included was JDK1.3 JDK1.3 has DECREAESED startup and over-all memory footprint by something like 6 meg over 1.2 So much for the assertion that Hotspot uses more memory.
In poitnt of fact the logical "proof" offered for this is nosnenseical: "uses memory for compiler + bytecode and native code is in memory" has been true since JITs, way back in the 1.1.x days. Hitspot actually does NOT compile seldom used methods, unliek the older JITs, tehreby generating LESS code. Hpwever the size of the compield code is not a terribly relevent thing in over-al;l footprint. Meta-data and objects take the vast majority of the space in modern JVMs.
3) Letting a program run for a decent amount of time better simulates real world apps. How many real apps typically run for 30 seconds or less?? In fact, Chris's benchamrks to a degree cheat Hotspot by NOT running long enough. He comments on this and what it does to the output in the notes under "Infinite Life."
4) In re No UI in his life test. The point ehre is to comapre the speed of code generated NOT the comaprative speeds of various graphcis libraries. As soon as you start going through the libraries you bring other issues into play. Whetehr or not Swing and 2D are fast enough is an intresting subject, but a different one.
5) In re "favoring run time optimization"... yiou'll need to explai nwhy you feel this makes adiffference. I dont' see it. Farnkly ythese all do small bnut 'real world" kinds of jobs anbd thereofr seem, to me to pretty accurately reflect some real world tasks.
In point of fact, the bounded Life test rather seriously favors C/C++ because it invovles intensive array access, which C/C++ doesn't sanity check but Java does. Yo ucna see this when you loo kat thsoe resulrts as comapred to the "Infinite Life" results which are much lighter on array access and much heavier on allocation/deallocation.
... if you're running the raw 1.3 then your running Hotspot 1 -- client. Try Hotspot 2 for Servers.
Again I'd like to know all the details of your envrionment. If your running so low on memory that Java is swapping, for instance, then we KNOW what the outcome will be before you start.
Nobody has suggsted that a VM can run in as memory tight conditions as native aseembly code executables do. That would be ratehr amazing if anyone pulled it off. BUT memory is below a buck a meg these days. I'd argue systems with less then 128meg are becoming pretty rare and outdated. After all, even Winfroze 2K requries more memory then 64M.
Youa re tryign top use thier trademakr "barie" to draw peopel to your site. Oterhwise why not just chose a different name?
This is what Trademark law is designed to prevent. Your capitalizing on their marketing and potetnially even damaging their marketing efforts.
Calling this censoirship is like calling your ownserhip of your house theaft. I know some true socialists who might be able to make that claim (as well as some indigenous groups) but IU'd think you'ld be the first in that case to point otu that by our scoieties laws your claim is legitimate.
Laws don't only work when they protect us... they have to protect everyone to be effective.
Try : "And the big benefit Hotspot gets here is that Hotspot inlines recursive calls to a certain depth. I doubt the C compilers are doing that."
I have tried them. My results concurr with Chris's
**shrug** The wonders of differnt machines. If you have different numerbs you should post them, as completely documented as Chris did.
And the big benefit Hotspot gets ehre is that Hotspot inpoines recursive calls to a certain depth. I doubt the C compierls are doing that.
Agaiun, looking at output code wouold probably answer the question if you're really intrested in exploring it. You can examine Hotspot code by breaking within the loop in a good debugger or Software ICE and examining executing byte code.
Actually, if you look at the notes under the "Inifinite Life" (heavy allcoation/deallocation test), you'll see that in fact the test was NOt run long enough for Hotspot to really 'do its thing."
When it was run lomnger, the dip totally vanished.
JK
Well then someone shoudl do the comparison.
I know what Hotspot does internally, and I doubt any of the libcs can compete in heavy allocation/deallocation uses, but I'd be happy to be suprised.
I agree with that actually.
A big one is that VMs don't yet share the calss data so every time you launch a VM you get a significant memory hit (6 or 8 meg currently, I believe.)
The point thoguh is nto that java i 100% perfect but that at least one "intractable problem", Java computational performance, has been solved to some degree and is likely to gwet even better.
As someone else pointed out, dyncamic compilers are in their infancy. If they can already compete favorably with the older, well evolved technology of static compilers, it doesn't take much imagination to guess what the future holds.
In re memory usage, thats actually a much easier problem. I would expect to start to see solutiosn in the next few major releases of the VMs from the top VM makers.
The answer is that,as Java matures, more and more of the run-time system in general is moving to Java code.
Obviously there always has to be a central "bootstrap" layer that starts out in compiled code. How muich of that rmains in C++ in the various VMs only time will tell.
Well thats new. A self-reflexive troll :)
In Chris's orginal web page (I don't knwo if it made it into the article or not) he mentions this.
The problem is that ther are no free trial versions of those compielrs. (hmmm.. wonder why... you'ld think if they coudl live up to their claims they'd want people to try their code in them...)
If the static Java compiler manufacturers wanted to send Chris a free copy I'm SURE he'd be happy to add those tests. Letting them do the runs ofcourse is pointless as part of the point here is that Chris doesn't work for any of the company's whose products he tested.