Slashdot Mirror


User: j3110

j3110's activity in the archive.

Stories
0
Comments
552
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 552

  1. Re:How to make money with Open Source on Red Hat Posts Its Best Quarter Yet · · Score: 1

    People don't try to make a name for a product with large ad campaigns in order to destroy it.

    IBM is always working on something for the open source community, and their business plan is to switch all their clients to Linux.

    http://www-124.ibm.com/developerworks/oss/

    Just click the drop down box for a better list than I can come up with.

  2. Re:For $15 more you get the real thing on Using an Old Satellite Dish as a WLAN Antenna · · Score: 1

    Hey, that's what I wasn't seeing. With a dish you really don't have that much bouncing and refracting as a source for a signal like a normal antenna. You get most of your signal directly from the source because it reflects all the rest away. When the signal bounces off of a tilted surface, that should change it's polarity by enough to actually get more signal for any other device, but when using a dish, I think that bounced signal, if any of it actually strikes the dish then bounces to the antenna, will be negligable compared to even the signal that goes through a tree (since a dish collects signal from a larger area than any other antenna).

  3. Re:How to make money with Open Source on Red Hat Posts Its Best Quarter Yet · · Score: 4, Informative

    Hey, that's just not entirely true.

    IBM released a lot of their own code into the Linux kernel, and they've released other great products like Jikes, JFS, Eclipse open source out of their own pocket.

    RedHat has Alan Cox on staff, and a few of the drivers and a lot of utilities for Linux have been written by Redhat.

    A lot of the software that Redhat distributes they aren't really involved in, but they aren't selling Linux anyhow. They are supporting Linux. By giving companies a safety net of support, they have switched a lot of people to Linux. This means more general software and hardware support for Linux. Before Redhat, you had to buy specific hardware in order to get it to work with Linux, but now pretty much everything has a Linux driver. If nothing else, they've at least got the support up for Linux enough that people will release specs for their hardware to people willing to right drivers.

  4. Re:Dont like this trend on Final Fantasy X-2 North American Preview · · Score: 1

    In any given time line in which fantasy ceases, there can only be one "Final Fantasy", therefore there can be no sequals to a Final Fantasy game. I was angry that they were all called final fantasy when I first started playing them until I saw that they each were for different worlds and characters. Of course I started with the US2, then I went to US7, then back to US3, then I puked all over US8 and bitched that there were no English games I could play on my PC other than those. I played them in order from best to worst. I think at this rate though we are going to see the Final Final Fantasy which will iritate me even more to say. I don't know which make me more crazy, the wierd naming of the games or that damned chocobo song that I still can't get out of my head. It's worse that RedXIII (yes, they even name their characters with Roman Numerals) theme that I used to humm on the way to class back in my college years because that damned chocobo song makes you want to dance the chocobo dance.

    Yeah, if you need any proof that FF will make you insane, you need look no further than http://www.flashplayer.com/music/chocoborobovoice. html

    I will kill Nobuo because of his process of infusing music with crack.

    If you would like to make your own crack infused music you probably want to go here http://www.nobuouematsu.com/main.html

  5. Re:For $15 more you get the real thing on Using an Old Satellite Dish as a WLAN Antenna · · Score: 3, Informative

    You can get closer to 30dbi if you aren't stupid enough to use a can. (which makes it 1024X) You can get 21dbi from a grid dish. A solid dish is conisderably better if you can aim it properly.

    I don't know why this is news, since it's been out for years.
    http://www.trevormarshall.com/biquad.htm is a much, much better way to do it than that crappy can. The stacked "BiQuad" adds 3dbi in itself over a single quad. If you want a slightly better antenna use a ring. People don't make rings because all these antennas are modeled after old HAM designes for at least 9M and there really is no way to make a 9M loop that isn't unwieldy. Think more like UHF antennas for TV's because it's just better than a square by some small margin and it's possible for shorter waves.

    I want to get an antenna with perfect measurements etched onto a copper clad board someday because a millimeter at 2.4Ghz will amount to 4 channels.

    Channel 6: 2.437Ghz

    123mm=2.437Ghz
    124mm=2.417Ghz

    If you were off by 2mm
    126mm=2.398Ghz

    The lowest frequency is for channel one that goes from 2.401Ghz to 2.423Ghz.

    2mm will put you completely off the 802.11 band, thus you will have a higher standing wave ratio which means you aren't using all those 100mW that you paid hundreds of dollars to buy in cisco hardware :)

    2mm isn't enough to knock a full db off your transmit power, but considering you have to hand bend the wire, and most wire used has a diameter greater than is recommended for an antenna, etching will likely get you much closer to the theoretical 34+ dbi that you could get out of primestar dish.

    Whatever you do, do not forget to match your polarity. I suggest horizontal polarity since most interference is going to be verticle. I can't say that my situation is typical (but it may be), but I had a dish on horizontal polarization and sector antenna on a vertical polarization and I got 0% signal at about 300ft. When I fixed the polarization (you probably want to tune it by rotating the dish/antenna slowly then remonitoring the signal level) I got 100% signal and link quality. It really does matter more than you think I don't know why it matters more with a dish than not. Maybe a HAM-op on here will explain it.

  6. Re:Sorry on Experiences w/ Garbage Collection and C/C++? · · Score: 1

    I know what context switching overhead is. It's pretty negligable on newer processors, or HyperThreading technology wouldn't be possible, would it? :) That's a very old debate from the "monolythic kernels are better than micro kernels" flame wars, and you bringing it up makes me suspect you've been programming for 15+ years and think that hardware hasn't changed as much as it has.

    The SUN JRE is terrible on SMP. I've tried it and know how horrible it is. The newer JVMs are better from SUN, but anyone with half a brain and half a project usually end up using one of the alternatives (IBM or BEA).

    I don't get how context switching has much to do for garbage collection though. If you use a control object to allocate memory the memory could be allocated in the same thread safely.

    Also consider that you could very easily just lock a single object at a time. If all your threads depend on a single object, you need to rethink the problem because it's not going to be fast using any algorithm.

    Garbage collection will be much slower for non-JIT'd languages than JIT'd languages as well if done properly. Java knows if a function only reads values from objects where as a library like libGC doesn't. Perhaps you could achieve good GC results with C if you implemented GC at the kernel level like everything C expects. You can play with the schedular and you have no worries about the garbage collection ending in a state you don't like because you only put preempt points where you know everything is good. Basically there is no real locking or context switching at all. Then you are just argueing whose malloc is faster for real world benchmarks.

    What I don't understand about compiled languages and GC is how the collector knows that an object is no longer needed. Is there some function you have to call in order to actually get a pointer to the memory? Surely you can't just replace new and malloc and a GC work. You should at least need some kind of way of copying the pointer that involves a call to the GC so that it knows where all the pointers are so it can update them when it shuffles memory around.

  7. Re:Sorry on Experiences w/ Garbage Collection and C/C++? · · Score: 1

    Like I said, it's only significant waste is on a SMP machine, and thats only with outdated knowledge of the garbage collector. The new incremental garbage collectors in Java only clean certain portions of the heap and only for a pre-specified amount of time. This makes all your points outdated at best. The only true overhead is scanning the pointers and heap reorganization (which actually increases the spead of the entire process after it has been in memory long enough that long lived object make it to a stable portion of the heap).

    We can argue forever, but I don't see any real loss any Java programs, and neither do most other people.

    If I can come up with ideas like locking per object to move an object at a time in a heap off the top of my head, I'm sure it or something better has been implemented. Assuming the worst case scenario for something you don't like doesn't help your arguement.

  8. Re:There's another way. on Experiences w/ Garbage Collection and C/C++? · · Score: 1

    I don't think you are thinking about what actually happens at CPU level.

    If a mutex is active and a thread blocks it will get put into the wait queue and not use CPU. The only ready processes will be new IO, then you are back to the GC code again. The only overhead is the actual scanning on a single CPU system. I agree that GC and SMP can get a bit harry (probably be best to divide the memory space N ways for an N processor system and seperate thread memory as much as possible).

    It's also true that GC will make your program nearly impossible to be real-time. Who are we kidding though, no one makes real time programs really anymore. They make near-real-time IO driven that you hope the CPU is fast enough that people don't see the lag of the controls to the graphics (games) or you buffer (multimedia).

    I really don't care if SSH was a little slower... if it had memory bounds checking and garbage collection such that I didn't have to upgrade a half dozen machines today, I would be happy.

    You argueing that malloc and free are faster than GC is like argueing that a space shuttle is faster than a car or a plane. We don't need to go to the moon for most tasks, so it's just not worth the expense and effort to hitch a ride on the next orbital craft to cross the pacific. If you want to waste the time and effort to make ssh run on a palm top, that's your motivation. The rest of us would prefer to not spend 10h/week patching computers that max out at using 10% of the CPU/Memory bandwidth. In fact, if the numbers for the damage caused by worms are even remotely accurate, I think we could afford just spending the extra 100$ on CPU+RAM/system instead of the 1-2h of labor per system per month and it would be very much more economical.

  9. Re:You got it on Distribution of Wealth in a Robot-Driven World · · Score: 2, Insightful

    The flaw in your arguement (well... combined with capitalism) is that compassionate people don't have much of a chance at being wealthy.

    Socialism cures a lot of these problems, but early retirement cures them all practically. Force retirement of anyone that makes 5 million dollars of assets and or cash and the problem will be solved. This way everyone gets a chance at prosperity, and I bet you won't find anyone starving either. People wasting resources just because they have them will be much less of an issue because eventually they will run out of money.

    The only other option, and final transition that any society has to make is to individual independence. When I can synthesis/grow my own food and build a place to live myself, then the world will have made the final transition to the futuristic anti-economy that we see in star trek.

    Most people think that when 5% of the population can provide for the entire world, we won't have a problem because surely there are 5% of us that are alturistically motivated enough to take one of those positions. That's the underpants gnome mentality that most people don't even realize that they have. If the government didn't try so hard to regulate food production here, we could feed the world, but it doesn't happen. The government pays people to not grow food instead of buying excess food to ship to third world countries. How then does this happen if our government is run by 1% of the population and we have at least that many alturistic people?

    I foresee a bloody transition (haven't they all been in the past?) if the transition ever takes place. If we put the resources into it, I think we could have devices to make it possible for you to grow/make enough food to support yourself in a small area with little to no effort.

    If you really want to hurt your brain, ask yourself "What will happen to the power companies and their employees, farmers, etc. when people become more self sufficient as well?".

    I think that if I learned anything from the open source movement though it is that there are a lot of scientifically minded people out there that just want to make the world a better place. We each probably give away several hundred thousand dollars worth of work in order to have a better community online. It's not just Free Software that I think we'll be talking about in the future, but when lab equipment for other scientists becomes cheap enough for them to have a personal lab, we'll have a lot of public domain R&D. What if we had more patent free drugs (think how cheap aspirin is)?

    Our society makes the mistake of rewarding luck. If ten groups work hard to make the cure for AIDS, only one will do it first. The people that get lucky enough for the solution to fall into their laps (oportunities that the average person doesn't get) are the one's compensated the most. Those 9 other research labs had a statistical chance probably not that much different of finding the cure first. Rewarding effort and intentions is probably a better way to compensate, but brutal competition of a free market is very opposed to this.

    Some people would have you believe that fighting amongst ourselves in corrupt political struggles is the most effecient way to thrive. "Those who do best get the most resources." is what they say. It's the greatest BS story you'll ever hear from the blind supporters of capitalism. I liked the Harry Potter story in the article because it points out the horrible flaws in the assumptions of those people. People who don't have resources rarely ever get opportunity. They'll say she came from nowhere to a billionaire because she was clever. This is a very ignorant stance because one would be ignoring those that probably had good ideas that have died. Her idea almost died. That would be like having a slashdot poll asking if you have died from smoking in order to see what percentage of people smoking has killed. Obviously dead people don't vote, and the closest thing we have here today are the close calls like Harry Potter.

  10. Re:Attention j3110: You're Dumb. on Mirroring Controllers - What have been Your Experiences? · · Score: 2, Insightful

    I have a Zip 100 Disk that won't work without the cable because of the interference of all the other drive cables running in parrallel. BIOS will detect it as "Z@#$1@#$@" and it obviously doesn't work.

    Also, I've had a Seagate that wasn't very tolerant of interference. It was getting CRC errors about 10+/s without a good shielded cable.

    I don't know what tests you've seen, but the tester must have been an idiot. Run four IDE devices (at different speeds) in your box with the crappy standard ATA66 cables, in parralel, and then get out the smart utility from Linux and start transferring from all the devices. I bet you'll find more than CRC errors.

    I have run into the problem myself, and I'm sure a many others have too, so you can bite me.

    Just think of it theoretically as well. Why do you think there is a standard Cat5STP (shielded)? Why is RG6 shielded and required for satellite systems to work? Cables are lossy at high frequencies without proper shielding. You're probably one of those people that make ethernet cables by sorting the colors alphabeticaly (or by the colors of the rainbow, or make an acronym out of the names of the colors).

    I have better things to do with my time than read the dictionary or play scrabble, consequently, I have very little respect or time for you Grammar Nazis that don't yet comprehend logic. While you're learning to spell some arbitrary word, I'm testing ATA-133 cables.

    Now would be a good time for you to buy a book on making logic arguements and keeping irrelevant issues seperate.

    If you don't want to take my advice on anything, then don't. Just don't come here posting non-sense without evidence.

  11. Re:Software RAID on Mirroring Controllers - What have been Your Experiences? · · Score: 1

    Yeah, and if people think that it's going to be seamless when a head crash occurs, they are going to have a nice suprise at 4AM one saturday morning. As far as redundancy goes for 100% uptime, nothing beats multiple computers. If you don't want to loose data, Linux's software raid is pretty much superior even to a lot of the SCSI raid devices because the kernel will order writes and reads better because it has more processing power than most raid cards.

    There are exceptions, like the raid cards that have 68K's on them, but still, you'll end up spending as much on the controller as you would building a cluster.

    Still, nothing beats tape for keeping data loss to a minimum. Get Raid-1 for speed and so you can have your data up quick, but get tape and take it home with you and sleep with it under your pillow. If something happens to your data, you probably have worse problems than loosing the data.

    For those idiots out there, always put one disk per channel. Get an extra card for Atapi devices. Get high quality shielded round 133 tested cable. It make a big difference, and smart will tell you so. Check drive parameters with hdparm to make sure you have asynchronous 32bit dma transfers.

    Does anyone know if the PCI bus has to be master for the whole duration of the transfer at 33Mhzx32bit? Does it just lock the PCI bus and share the memory bus?

  12. Re:Organizational culture collides with shuttle? on Columbia Accident Investigation Board: Final Report · · Score: 1

    If you want to hide under a rock until all the variables of the outside world are calculated, then you go ahead, but you won't make it to mars for another two centuries with that attitude. The men and women of NASA want to go up and see for themselves. They chose that route, and they don't need anyones prying eyes to tell them that it is a dangerous job. It's about risk vs reward. We've gained enough knowledge from the last 20 years I think to justify a few deaths. Countless numbers of lives have probably been saved with technology that has been improved or created by the space program.

    You can't say my analogy about the dangers of driving to work don't apply, then create one yourself. (You could, but you loose a lot of respect.) I'm merely pointing out that deaths happen all the time because every last one of us make a risk vs. reward analysis, and a lot of people die. It's a statistical fact, and you have no right to complain about another person's choices nor do you have a right to complain when statistics catch up with you and someone you love dies because of a risk you run.

    I also was pointing out that you people that cry over 5 lives in 20 years would be better served by complaining for more spending on medical research than NASA.

    So, what then is your reason for complaining? It's not human compassion because you ignore the thousands of people dieing every day of starvation, disease, and wreckless driving.

    Most people crying over this are holier-than-thou hippocrits that think that the whole world should be run their way. Maybe a few of you will wake up someday to realize that people have the right to take risks, and some of them will die, and they don't need you blaming their friends for their deaths.

  13. Re:Organizational culture collides with shuttle? on Columbia Accident Investigation Board: Final Report · · Score: 1

    It's still utterly silly. It's dangerous to drive to work, and you can't prove otherwise. Every astronaut knows the risks, and they still fight like hell for the opportunity. When statistics catch up with you, someone always has to say "the risks were too great!" despite the simple fact that more people are going to die from flu tomorrow. This is like crying over a flake of skin falling off when you have leprosy. We have bigger issues than 4-5 people every 20 years dieing from a space shuttle "tragedy". It's political BS, and people should know better than to bite into this media diversion fodder. 139 more people have died in Iraq since the war, no news on Saddam or Osama, Afghanistan has been left out to dry, record high unemployment, yet 4-5 people dieing on a space craft is still news 6 months later. Bullsh*t!

  14. Organizational culture collides with shuttle? on Columbia Accident Investigation Board: Final Report · · Score: 1, Insightful

    The article says, "that the NASA organizational culture had as much to do with the accident as the foam that struck the Orbiter on ascent."

    So... aparantly the "organizational culture" struck the side of the shuttle as well. I fail to see the logic. I guess they are using the results of last years budget cuts to justify this years.

  15. Re:it's true on Linux will have 20% desktop market share by 2008? · · Score: 1

    Thanks, that was it!

  16. Re:it's true on Linux will have 20% desktop market share by 2008? · · Score: 2, Interesting

    It's really funny you mention games. I talked to a Lexmark employee friend of mine (in French Tech support division). He said that they ask for Linux systems because they come with more cool games, and they have to give them the new systems because they support Linux with all the new printers (at least the ones they have tech support lines for). Games are already making Linux more popular, and sysadmins generally don't have enough knowledge to remove them from Linux (RedHat I guess is what they use). I'm sure there's a check box, but as long it's a default setting to on, the company will have to make a policy to make an exception for that option, because you want to have tech support for the default system.

    It's quite funny. We need get more cool games. If we can get RedHat to include Frozen Bubble in the default package, that would be cool. What's that game where you push the balls into the wall? If someone knows, I would like to play it again. It was in the Slackware packages back in the old days... used SVGAlib.

  17. Re:Define Embedded on Embedded Systems Study Rebutted · · Score: 2, Insightful

    An embedded system is generally taken to be a specific-use system. It's not small, just specific, like your car's computer is not for running office. Embedded means not general purpose (desktop/laptop/PDA/etc.). You can put a two gigahertz processor in a mars rover, but it'll still be an embedded system.

    The theory is, if you make a system that can barely do the task you need it to, then you will have the cheapest system possible. This is true in some instances, but not all. If you live alone, you probably don't want to watch a DVD, play CD's, and play games all at the same time, but if you buy a DVD player, a game console, and a CD player, you'll have three processors around that you only need one to work at any given time. That's where embedded gets fuzzy because you want to encompass more tasks in the same device. Is a PS2 that does all these things still embedded? Probably, becauce you could dubb it a multimedia entertainment device, and say that's all it does, which is still a very small subset of the features of a computer. What happens when you add email, browsing, and wordprocessing to a PS2? You pretty much can no longer classify it as an embedded system because you'll be hard pressed to find a purpose for having both this system and a computer.

    Not many people want to make a computer replacement though. Why would they? They all fail, historically. Embedded systems only make sense for convenience. You have a CD-Walkman because it's just not convenient to take the PS2 even to the gym.

    So where does this leave us? Just where everything else is. Embedded isn't boolean. Completely embedded systems would pretty much include your microwave and wrist watch. Completely not embedded(general purpose) systems would be your desktop. Most things can be plotted somewhere between, but I would call the PS2 embedded-esque, and a PDA is not very embedded at all (because they can do pretty much anything a desktop can). Embedded is a measurement of tasks a system is designed to handle, not how fast, large, or how many moving parts it has. Consider the following counter-examples: A) A cray computer is being used to calculate all the physics equations to navigate at near light speed in your 20X6 BMW Millenium Falcon. It's still completely embedded because you don't ask it to do your homework like you would the NCC-1701D. B) By the standards of size constraints, a current desktop computer is embedded into the corner of your room, since it isn't a football stadium of tubes(valves). Obviously this isn't the case, because most of the first machines are embedded by todays standards, not vice-versa. The first machines didn't do as much as a TI-85, and had about the same purpose. If the TI-85 is an embedded system, then surely, since the specs are about the same, the ENIAC was embedded. :)

    Summary:
    Measuring embedded's definition the way the average person does would be looking at orthagonal tendancies to place the word embedded on a trend instead of finding the definition of embedded.

    Systems aren't embedded or general purpose. They just have tendancies one way or the other, some stronger than others. It's particularly important to measure the correct variables (not speed, size, etc) when placing an item as embedded or not.

  18. Re:New Protocol Name on Replacing SMTP? · · Score: 1

    Right... you keep telling yourself that is an opt-in aproach, and unsubscribe is an unsubscribe option.

    I'm only kidding, but there is some truth to it. 1) They wouldn't be complaining if it was obvious that they were going to be spammed, 2) They wouldn't be complaining if the remove function was prominantly displayed and worked. Most people that complain the way you do are those that try to hide the fact that they are going to be spammed, and have hoops you make them jump through in order to unsubscribe.

    If that's not the case, keep records, and in every email say "You signed up on this site at this date/time, then you responded to our verification email at this time from this IP. If you've been signed up in error, click here and you will be removed from our list such that you will have to call tech support(#####) in order to be added back." See how many people complain then.

  19. Re:New Protocol Name on Replacing SMTP? · · Score: 1

    YASMTP (Yet another)
    SINS (SINS is not SMTP, but spam is.)
    GNU/Mail (Because if it's not crafted by a moose, it's not really free.)

    I've run out of GNU rip-offs, and I can't think of dependant recursive acronyms to make fun of HURD. I personally like SINS, because it makes a word.

    Now all you have to do is require signatures and keys to be on a trusted, non-profit, key-server. We all pay 1-5$/mo for our key so the keyserver will stay up. It's non-profit, so no selling out to spammers. Contracts won't let you send mail that the recieving party didn't solicit. If you get a few verified reports on you (log only source and destination for a month so that it can be verified within a reasonable amount of time), you get booted for breach of contract.

    You have to charge for two reasons: 1) paper trail to spammers bank account. 2) pay for key servers and bandwidth. If you can solve both these problems without a VISA card, I would be thrilled.

    The end of spam is near. People will set up SMTP bridges at the source that will automatically sign email before putting it on the new network if the target is the new network. This will let legacy applications that clients are attached to still take advantage of some of the features of the new network until the software catches up. (Could do something like Norton does to catch mail under windows.)

    Also, it will be nice to get rid of the cracker fodder that is Sendmail. VHosts will work right. Most of the reasons for using all the weird sendmail hacking will be eliminated.

    Please make the world a better place! I will help if it's needed. I would love to implement a search API for IMAP-ish stores. If anyone gets serious about making something like this, email me.

  20. 100W, what about the heat? on Powered by Blood · · Score: 1

    What are they going to do for the heat 100W of electricity usage is going to create? Ever touch a 100W lightbulb or your processor? Does it come with a heatsinc and a fan powered by more glucose?

    I love the idea of using those bear calories for the SETI project :)

  21. Re:For that matter... on Beer Added To The Food Pyramid · · Score: 1

    Because alcohol already took one, and shrugged it off. We have public intoxication when it comes to alcohol, so we can't annoy people with nasty drinking habits. A drunk person bothering me in public is breaking the law. Most people blowing smoke in my face, though I'm allergic, aren't breaking the law. It needs to be evened out now. Then we can move on to making marajuana legal again in private, because a druggy could smoke pot until he died of it, and it wouldn't have any effect on you. Freedom to do what you want so long as you don't interfere with other people that don't want you to be interfered with is what we need again. I want to breath clean air, but I don't care what you do in your own home, or a place that a majority of the people agree it's ok to do it in (IE seperate smoking sections). When one's nasty habits cause me real discomfort, they shouldn't be legal.

    Also, it's not even legal to buy bear for some adults. Why does the government discriminate against age and claim that justice is blind. Some 16 year olds get tried as adults, but they don't have the freedoms of adults. Only the rules apply to you, none of the freedoms. I liked the arguement, "If you can be drafted into the army and die for your country, at least you should be able to drink". I think it originally applied to voting, but I think it still holds true.

  22. Re:Sweet (plus a little of a rant) on Pew Study: File Traders Don't Care About Copyright · · Score: 1

    Hey, now you're arguing the other end of why they should be shortened. Copyrights were designed to promote inovation. If there isn't significant progress made in 14 years, they don't deserve more money. You get 14 years worth of profits, then it goes to the community. That's what the original law had in mind. If you can't make your money back, and a profit, in 14 years, your idea sucks! Bill Gates is the richest man in the world because he's been keeping his stuff going far longer than the originally intended 14 years.

  23. Re:Java is Fast Enough, Now Sort out Memory Usage on Eye on Java performance Improvements · · Score: 1

    All objects are created on the heap, even all of the API's. Every API that eclipse loads fits in that 16M. (I installed too many plugins and upgraded Eclipse such that now it requires around 16M.)

    I will have to write a simple program that catches the out of memory exception and dumps the heap usage and waits for me to check windows memory reporting before I can confirm that it is actually the Java executable and dll's that are taking up nearly 30M. I just don't believe that though. Only the native libraries (maybe SWT is in that 30M), windows dll's, the interpreter, and the jitc is in their. I have a hard time believing that it can take up that much space.

    I hope it shows up in 1.5, but I thought it got pushed of even further. Have you found any information from SUN that actually promises to do this in 1.5?

  24. Re:The Mindcraft method, against itself on Measuring The Benefits Of The Gentoo Approach · · Score: 1

    Well, the best thing that could happen is that the GCC people test -O3 and -Os on different sections of code for each architecture, then add them to the -march, but I thought that's what they already did. -march=pentium4 will give you some of -O3 (-funroll-loops I think). I'm not certain on this though. I've not tested the actual assembler put out from the code, nor have I done the math to see if loop is faster than inc cmp and jmp more than just the clocks of the three instructions being reduced to one. It just only seems logical that the branch prediction would consider loop because you know if it's going to jump since it only depends on a register (can be passed back through the pipe) and you pretty much know you are going to not branch back if cx is 1. I can't say that I know that there are compilers out there that use loop as well, but I think it would be silly not to.

    I think the best arguement would have to be made from someone working at Intel on their compiler (only for Pentium processors though) or someone on the GCC team that knows more about how the compiler works.

    I also think that debian and mandrake packages are modified from the originals, so you really aren't going to get a good benchmark of compiler options that way. The real topic I guess, is how fast are the different distro's and why. We are off on a tangent that has probably been explored in detail by those GCC people :) I can still do a lot in assembler, which is basically knowing all the tricks of the architecture that you can find, so this facinates me in that respect, none the less.

    Does anyone out there know if GCC has any reports on this kind of thing that they use themselves?

  25. Re:The Mindcraft method, against itself on Measuring The Benefits Of The Gentoo Approach · · Score: 1

    Cache misses are far less important than branch prediction on many machines (especially the P4). It's true that more Cache will help performance, but I think it's quite fishy that faster memory doesn't seem to help very much. I can't tell a difference when my machine running ram at PC2100 (166 x 2) and PC2700, which I think is pretty fishy. In fact, I hardly noticed a difference from SDR to DDR. The chances are that you are only going to save about 5% of cache misses with -Os, and it's going to set you back at most 10ns, but probably on average one read that will take about 3ns, or about 13 clocks at 3Ghz with PC2100 RAM. With a 20+ stage pipeline, everytime a condition doesn't do what the processor expects, you're looking at about the same thing. There are many more conditions that go awry than pages of code and data that don't get loaded. It's easy to see what pages are going to be needed and can be prefetched by just looking at the next few instructions... cache misses really don't happen any more because the fetching code gets put in the pipeline in such a way that unless you are accessing random pages of memory, and suffer a RAS-CAS delay on every read, you are going to have the data loaded in Level-2 in the off chance that you will need it. A memory clock is a terrible thing to waste.

    PC2700 lets you read at 2.7G/s. If you were just executing nop after nop, you could run at 2.7Ghz without a single cache miss. It all comes down to branch prediction.

    Once you see that branch prediction is the problem, and that the RAM is more than adequately fast for everything but texture mapping graphics, the only thing that should concern you is making it easy on the branch prediction hardware. -Os does away with a lot of the optimizations that try to do this. Say I have:
    y=0;
    for(x=0;x10;x++) y=y+x;

    You're size optimized version would be:
    xor bx,bx
    xor ax,ax
    loopy:
    add bx,ax
    inc ax
    cmp ax,10
    jl loopy
    some more instructions

    unrolling loops I get:
    xor bx,bx
    xor ax,ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    inc ax
    add bx,ax
    some more instructions

    You are gauranteed at least one branch miss, I'm gauranteed 0 branch misses.

    Those of you that are very clever out there will be saying, "but if you loop smarter, you won't have that problem" and you're probably right. Here's the example best of both worlds..

    xor bx,bx
    mov cx,9
    loopy:
    add bx,cx
    loop loopy

    This is why hand optimized assembler will always be fastest amongst those that know the architecture well. Some smarter compilers may do the following:

    xor bx,bx
    mov cx,10
    xor ax,ax
    loopy:
    add bx,ax
    inc ax
    loop loopy

    This basically maps the iterator variable into 2 constructs so that you can read the iterator inside the loop (everyone does) and you count up (this is slower than counting down because of the loop instruction). If you just counted down, the 3rd example would be the fastest code.

    Really good optimizers will say "there are no variables in this code, let me run it for you". Basically you end up with:
    mov [y],45

    The point of this exercise is, that by using the loop construct, the CPU's branch prediction should be accurate enough to do it your way, but it limits you to counting down. Any incrementing loop, you might as well tack on the length of the pipe*2 instructions and assume this as the total run length of the loop.

    The other point is that when the processor sees mov [ES:BX],5 it's not going to be a cache miss because it's writing. When it sees mov AX, [ES:BX], it's probably not going to be a cache miss because it's going to load the whole ES as soon as it sees the program counter get anywhere close to it.

    Cache misses come mostly from interrupts. When the schedular pushall's to the stack, then schedules another process, and does a far jump, that's where you're going to have cache misses just because the CPU can't see that much memory IO coming (you never know when an interrupt is going to happen).