I've yet to join the dual core movement but I'm planning to very soon. Anyway I have some questions for those of you who have relatively new dual cores processors. What I'm mostly interested in is how the two cores are used by the operating system. Firstly, does your system ever hang? Say for example you're running firefox with lots of tabs open each with lots of flashy banner ads and animated gifs and java applets running, then you open say a quicktime video which for some reason is corrupt in some way and takes forever to open. Does the system hang or not? This is one thing that has been annoying me more and more recently. Sometimes it gets so bad that even the mouse cursor won't move. I would have thought with a dual core processor, with another core free things would run a little more smoothly. I understand that hangs like this are usually due to a lack of memory and a constant paging of memory to the hard disk but even so, a program that suddenly maxes out the resources of your system shouldn't prevent you from firing up task manager to quickly dispatch the offending program. Secondly when running a few programs such as say Firefox, a video player and a TV recorder are both cores used more or less equally (I assume you can see from task manager) or is one used until it is maxed out and then the other used as reserve. Does the operating system balance out single threaded programs across both cores or is the second core only used by multi-threaded programs? And lastly is it really true that you can play modern games with lots of other programs running in the background. I find it pretty frustrating that I have to close everything down in order to start playing HL2.
Compared to my old Athlon XP this system (see sig) is much more responsive, this could be down to just the fact that this is a faster processor, but more likely the fact that it's dual core so if a program hangs it does not screw up the whole system since the OS and other apps are still able to run on the second core. XP definatly seems to hang much less (since one hanging tends to lead to another to a system meltdown!). As for load balancing, I haven't really noticed before so I did a little test and from looking at the graphs for each processor it seems that the load is balanced between apps automatically (you can set the affinity for each application manually if you wish). For your last comment, definatly yes! I have played many games and done video encoding at the same time. There comes to point where RAM is the limiting factor but I usually have a couple hundred meg free anyway. Dual core is the way to go tbh.
I've not had long enough to experiment with it, but my new AM2 4000 rig is like lightning compared to my old Athlon XP 2000. I'm still getting everything installed on it, but even installations take a lot less time and I can run several simulatneously whilst copying files to/from a USB stick and defragging too. I'll reply again when I've had more time to test applications side-by-side.
it depends on wether it's a intel or amd dual core. (i don't have experince with intel) but my dual core opteron just flys in general, but when i am running apps designed for dual core cpus, it just screams. divx5 takes 45 minutes to encode a 35 minute dv video to a 175mb file divx6 takes 28 minutes to encode a 35 minute dv video to a 175mb file divx6 supports dual core chips like x.264 avg framreate on divx 6 i hovers around 45-65fps in virtudub.
"Secondly when running a few programs such as say Firefox, a video player and a TV recorder are both cores used more or less equally (I assume you can see from task manager) or is one used until it is maxed out and then the other used as reserve. Does the operating system balance out single threaded programs across both cores or is the second core only used by multi-threaded programs?" It's all shared across both cores. I'm currently running Folding@Home, browsing Bit-Tech and converting a media file with no slowdown at all. I also run media centre quite a lot while browsing and it's basically a piece of cake to handle.
As long as you have enough ram then you can run programs in the background while in a game. It seems quite strange at first since it doesnt always seem alot faster, but when running multiple programs or things designed to run on dual core its brilliant. Once steam got stuck in a constant loop, keeping one core on full load, the only reason i noticed was because the machine was new and i was looking at the performance menu in task manager. Even if your just running a program designed for single core, if you run two instances of it then neither suffer any performance drop, for example running two single thread mp3 encoders.
That sounds great. Right now my PC suffers from not having enough ram (512mb), and general slow HD access. But the most annoying thing is programs taking over all of the resources and grinding everything to a halt. Sounds like my new system will run like a dream.
I routinely encode DVDs while enjoying a game with no slowdown at all - as long as you've got enough RAM, multitasking is a dream. Everything just seems "smoother" with a dual-core machine . Interestingly, I also noticed that the time from login to a usable desktop was slashed; all the apps in the system tray load much more quickly than they did on an equivalently clocked single-core.
I noticed much faster log-in times too! Glad that's not me just imagining it. Re: DVD encoding: If you use a threaded app like DVD Shrink, remember it uses both cores, and hits both cores hard! When encoding, both cores are at 100% here, and dual core or not, the whole system becomes sluggish as a result. It depends what you want. Because it's using both cores, the times are quicker. but if you want to multi-task, you can set affinity to use only one core, and then it's a dream. Your endoding won't even slow down the way the rest of the system works at all. Encoding Ronin to fit a single layer DVD - Whole DVD inc menus & Extras using DVD Shrink. FX60@ 3.05GHz Dual cores = 17 min. FX60@ 3.05GHz Single core = 26 mins. Major diff. But if you're doing something else while it's encoding, you don't really need that screaming performance. If you are not going to be using the machine while it encodes, then just set both cores and it flies through it. Generally tho... apps that don't hammer the CPUs so hard are best left threaded, and then the whole system just works silkily smooth. You have to try it to see what I mean... it just has... ease of use about it that's hard to explain.
Ok guys thanks for all the info. From what I've read, a program will exploit both cores in a system so long as it has more than one thread. I'm also interested in programming for multiple cores so I've adapted my Infinite Monkeys program (see the programmer's day 2004 thread) to use multiple threads. Does anyone with a dual core (or more) processor mind running this new program firstly to tell me how many cores it detects and also what the CPU usage looks like after you click "Start Typing". In theory it should run twice as quickly if you run it on a dual core PC. Just so you know, the program is supposed to test the infinite monkeys theorem. You type in a word (use 5-6 letters) and the program will randomly generate a word of the same length until it matches the word you gave it. It does this millions of times a second as the chances of finding a match are obviously very small especially with words longer than 7 letters. If the program takes too long to find anything just click "Stop Typing". You'll be able to see how many millions of words per second it has tried. If you're testing this please let me know how many tries per second you get. I get around 2m/s with a 6 letter word. Oh, and don't plan on doing anything CPU critical like CD burning while you run this as it will drain your CPU power (hopefully even on a dual core). You can of course always click Stop at any time, it shouldn't cause your computer to hang too much. Thanks!
Detects both cores, munches around 95% of both on mine. Using the word "letter" I get ~3.8 million tries/sec
Num processors detected: 2 Num processors available: 2 With the word "second" I have just over 4.155 million/s. My rig is in my sig. First core is always 100% while the second core is 95% of time at 100% and the other 5% of the time is wonders done to the lower 90s.
Difference between hyperthreading and two physical cores, on my P4 HT 3ghz lappy I get 1,411,835 tries/sec.
Using both cores I get 4,933,877 tries per second. Trying to set affinity to one core makes no difference... it still seems to be using both cores.
I heard AMDs dual core hasnt really grown up yet but seeing as when the prices go down ill be able to get a dual core X2 3800 for the same price i bought my 3200 venice but as i can tell from the benchmarks it improves alot but what about games? From Toms Hardware benchmarks most of the time my venice (100$) beats the X2 3800 (300$) in the gaming performance so for gaming is it more worth it to get a single core?
Interesting results! Thanks guys. It's great that the program is able to make full use of both cores but to be honest I expected you to get higher performance than that. Given that my lowley AthlonXP 1900+ is over four years old I would have thought that with an X2 4400+ which is supposedly over twice as fast and with double the number of cores you would get at least 4x faster speed than mine. The number of tries per second does depend on the length of the word you typed in so if you used a really long word you would see the difference in performance. Still this is hardly the most rigourous of benchmarks and the performance is more likely down to my coding than anything. For reference my system does SuperPI 1M in 1m33s. kenco_uk, how many processors does the program detect when you have HT enabled? That would be quite interesting to see. If it detects more than 1 then how is the performance when you disable HT (assuming that's even possible). Oh and what word did you use? Pookeyhead, it's strange that changing the affinity doesn't affect whether the program runs on both cores or not. I suppose that this is because the program only detects the number of cores available to it at the start. I should really at least update the detection before running the search.
I get 4.33million tries /sec which isn't bad I guess. obviously pookey would pwn us all with his OC'd FX60! If you have the money to go dual core, do it! As said, XP loading times is much faster and that is not just because you are actually able to use the OS on one core whilst your startup programs are loading on the other.
Though I would reccomned 2Gb of ram as my friend's single core 3700 boots quicker than me with his 2gb vs my 1gb so dual core + 2Gb and you'll be laughing Edit: that was when I had my X2 on 2ghz when his 3700 was 2.2ghz so thats not entirely fair...
Yeah 2GB was what I intended to go for. Not sure what speed or brand of memory to go for though as the prices vary massively. But that's for another thread...