What scary lies? Microsoft would probably make more money out of an Android laptop than a Windows one... There are a ton of OEMs paying patents on Android, and they cost zero to Microsoft.
With Android, you'd still pay the Microsoft Tax - and probably they have a higher profit margin on it (because, you know, patents dont require developments and lots of other stuff that costs money).
Well, at least Russia invades territory just outside of their borders, not on the other half of the planet. And they DO suffer from it (terrorist threat in Russia is real, not the bullshit you see in the US).
No business cares about which database performs how well per unit of clock cycle. They care about how well does it perform per dollar.
They do, because time is money. If a given daily task that takes 30m can be done in 10m, it is a matter of cost. Also, throwing hardware at it increases operational costs - increased complexity to maintain, electricity/ HAVAC, etc.
As for your example, it is flawed - if you truely believe that you can replace SQL Server Enterprise Edition with MySQL (when you actually need the enterprise features - or actual SQL features), well... go ahead - it would be fun to watch. Since most MSSQL users don't need the enterprise edition (even if they DO need a proper RDMS with advanced features and not MySQL), we're talking about ~$8500 for your server and ~$210 per user.
A few years back, AMD did have better processors... better in both performance/price and performance/watt.
They were better on specific tasks, not consistently better. And those "cheaper" AMD cpus tend to forget to shutdown due to overheat, so it was quite easy to kill one on a 24/7 desktop operation. Besides proper 64 bit support (back when no one was using it:D), those cpus had nothing to offer except a cheaper price and a non-refundable policy. Try to return a fried processor to the supplier, and see how lucky you are.
Then, add to that the fact that most chipsets made for AMD cpus were absolute crappy. I'd go any day with an Intel mobo, instead of an AMD roulette even if it means I need to fork more money for it. Its not about loyalism, its about consistency. I use computers to make money, they're a tool. I don't care if - to buy something more reliable (even if it performs worse) I need to pay more.
But when it comes to general performance improvement it's rather disappointing.
If you run benchmarks compiled for previous architectures, it is expected for them to suck - or at least, have the same baseline performance.
To some extent it looks like we have hit a ceiling in increased performance with the current overall computer architecture and that new approaches are needed
He have. To go beyond that, we'll need a completely new technology stack. However, latest trends are short pipelines, specialized instructions, decreasing gate size, and smarter software. They do work quite well, up to a point. If you need beyond that point, you probably can still squeeze some performance by trimming/optimizing the software layer.
The clock frequency is basically the same as for the decade old P4
As it would be expected. However, a single-core - pick your favourite cpu - will run leaps around a P4 at the same speed. One of the biggest differences is the pipeline size, and the stall penalty for cache misses. In many ways, modern Intel CPUs are way more simpler than the P4 line.
(...) at least compared to other architectures
What other architectures? Cores and threads are different things. Some RISC architectures do have simpler implementations, but not with the performance results you want - only more cores per die, and not all tasks are easily paralelizable.
One interesting path for improving performance that may be useful is what Xilinx has done with their Zynq-7000 which combines ARM cores with FPGA
I'd see that as in going the opposite way. FPGA are dead slow for real-life applications, and ARM cores aren't the general purpose computing platform the media has been promising for years. For me, it looks like a prototyping platform to design and test your ASICs, not a consumer-grade platform.
Unfortunately, it's only available on a handful of models.
Somehow, I'm not surprised (like the vt/vtx support on core processors). But this is a real improvement for top of the line processors, such as any upcoming xeon products. I'd expect it to be slow in adoption initially, but - in time - to gain traction.
That is, in summary, what HLE does. But RTM requires you to use explicit instructions to signal transactions. Using this approach, you do need code modification and lose backwards compatibility, but gain in granularity and simplicity of implementation.
And 100% of Belgium beer is as good or better than German;
Belgium beers usually have the problem of being too sweet (at least the ones I tried). The high alchohol level makes them more like a poor-tasting wine (without the full palate experience) than a complete flavoured beer. I'm not a beer expert (well, I'm an expert consumer of beer:D) and I love german beers, specially weissbier. I'd take almost any german beer (specially local brands) over a belgium beer any day of the week.
But if everything changes (base chipset, processor and all), you have to re-install.
I've done this more than once without the need to reinstall (With both Vista and W7). You just re-activate. I do believe I was kinda lucky, but the "technical problem" that usually causes a BSOD (the disk driver or the graphics driver barfing up on initialization) is mostly solved on the latest versions of Windows. And it has everything to do with drivers. The new driver model allows for core drivers to die without bringing down the whole system. I'm not saying it will work everytime, but its not the dreadful experience it was with XP.
When the hardware of a system fails (does happen), stick the hard disk or an imaged backup into an upgraded hardware (original chipset/processor etc. are unlikely to be available any more, and even if it is available, 5 times faster hardware at half the price is a better deal), and boot from it. No re-install. Linux? Piece of cake, did it lots of times.
This is actually a good point. Upto Vista, this was a big issue. With Windows Vista (mostly due to hybrid/userland drivers), this started to be possible, or at least with greater success rates. But yes, it is usually way easier in Linux, even when some incompatibility arises.
E.g. going from one mainline trunk to another (e.g. Ubuntu 8 to Ubuntu 13). That's not a fair comparison.
Well, either the system is designed with a long-term maintenance cycle or isn't. Most Linux distros aren't, period. Most userland apps from 10 years ago won't even run on a modern system without recompiling. I'm actually a huge fan of FreeBSD and OpenBSD - I can pick a 10 year old FreeBSD system and upgrade it to the most stable version without (mostly) no issues. I'll probably have problems doing the same on a 2 year old OpenBSD system. That is also ok, some operating systems require a reinstall to truely work properly. And a ton of software changes - the configuration files change, the syntax changes, shared libraries are different, etc. There is nothing wrong with that - its just the way it is.
Try taking your Win XP box to Win 8 and see how that works out for you unless you've got bog standard gear, in which case your Ubuntu upgrade probably worked too.
Did you tried it? Windows 8 actually runs better than XP on not-so-old hardware. I have a 6 year old laptop with it, and works quite well. And I can run 10 or 15 year old apps without a problem. If I really need XP, thats fine - I can even run a virtualized version of it. The release cycle for Windows is different than for Linux. Microsoft needs to make shure it doesn't break compatibility with most of the huge application catalog available. Linux has a different development pace, different priorities, and it is used on an ecosystem where most of the important stuff can be recompiled, and/or are provided by the companies that drive the change in kernel (Oracle, IBM, Redhat, etc). Long-term compatibility isn't a priority - at all. But there are a lot of users for which long-term compatibility is important. Denying it is just stupid.
Driver developers target Windows. Period. Windows does not develop the ATI driver, the Nvidia driver, provides just a stack for developing the thousands of wireless drivers out there.
Actually, they do. Some of the system drivers are developed with the hardware manufacturer, but others are basically developed by Microsoft. I'm talking about system drivers, the ones that work out-of-the-box, not the ones you install yourself. For those, ATI and Nvidia _also_ write them for Linux, and most of the time they still are a big pile of stinking poo.
If you had a clue about what you are talking about, you would see that driver interfaces in linux are good, are working, are really good to develop with. They are documented, they do change at a pace that's much less insane than Windows'.
No, they're not. I'm not a driver programmer, but you have tons of examples. Have a look at multiple non-compatible USB stacks in 2.4 kernel. Have a look in syscall changes between 2.4 and 2.6. Have a look at some sort of sound support API. Or 3D acceleration. Or true userland drivers. Or can just assign privileges to devices to a random list of people. The list goes on and on. Every OS out there has its quirks.
The binary blobs you are probably referring to are made by them, not by anyone in the kernel develoment team.
The binary blobs are there because the kernel developers allows them to be. There is no pressure over the manufacturers to release actual stable working drivers. And guess what? Those blobs also exist in Windows. And the hardware works.
You are. PC-BSD's pbi format does exactly the same (http://www.pcbsd.org/en/package-management/), it is not a novel idea - at all. And as many other comments point out, other platforms do it too.
so for me, I see Acrobat and Indesign as tools for people who don't know how to program
Good for you. The same could be said about any software tool, really. But in the real world, some companies have hundreds-of-pages catalogues that need to be produced in multiple languages, often with different product sets, but with the same layout. And with correct color accuraccy (eg. converting RGB -> CMYK and having a proper preview on a calibrated setup). And InDesign does all that, and reading from your XML. Or from the ERP solution that has product images and is able to generate both end-user catalogs and technical catalogs from the product datasheet on the database. I'd say if you spend more than 10h tweaking any other system to do the same, you are starting to lose money - it is cheaper to just do it in InDesign - and (usually) easier to maintain and upgrade.
Thus, for all of my complex graphical layout work, I use Photoshop. This is why Photoshop has no easy replacement for me. Unlike text placement on a page, getting pixel-perfect renderings of complex, layered art is hard.
Try Corel PhotoPaint. Photoshop CS6 is awesome, but CS5/5.5 was a big pile of unstable poo (at least in Windows). And many of the features Photoshop users rave about were already existing in PhotoPaint for years - eg. vector layers, vector masks, smart objects, etc. And color workflow is actually sane. For simpler RGB works, you can do sane image editing with Paint Shop Pro (and actually work with big-ass images like panoramas) at a fraction of the price.
Pixelmator has gotten a lot closer, though, particularly now that they do CMYK.
Never heard of it, googled it and seems to be Mac-only. My previous Corel suggestion is probably useless to you:)
When the creative suite came out InDesign was essentially free
Depends on the type of work you did. I know a lot of users (myself included) for whom InDesign and Acrobat was essential and having Photoshop there is just an added bonus. InDesign is probably the most difficult to replace piece of Adobe software (and Quark is a big pile of unstable poo and has been since forever - at least on Windows). The traditional Quark's alternative, PageMaker, was also bought by Adobe. That leaves Serif PagePlus (so many years since it was useful, now a wizard-based crap too similar to publisher), and CorelDraw - which is not really a DTP Program.
Also, there is a "headless" version of InDesign (InDesign Server) to be run as a document server - eg. automatic document conversion, catalogue generation, etc - the dynamic, database-driven templates you create on your desktop can be used to generate automatic documents based on the data you feed into it.
we use joins very heavily (sometimes with up to 7-8 tables)
This is light join usage:) We actually had one MySQL application giving problems because of MySQL JOIN limit (63 or something like that).
some pages have more than 10-15 queries
That is not much - at all, assuming you are caching the output. As an example, the full rendering of the homepage of a specific store done in Magento (cache disabled) was around 140 queries. I have done CMS systems that perform 30-50 queries for high-traffic pages (cache disabled, PostgreSQL), and most OSS CMS platforms will usually generate between 10 and 40 queries just to render the homepage.
we have 150+ million page views per month, the website has public pages and millions of pages (in different modules: groups, profiles, jobs, classifieds, message box, online shops, Q&A, website wide search, ledger based credit accounting for specific activities,... ) receive new users from search results.
That is impressive. Are you handling search with MySQL or using an external system?
I have used a single instance of MySQL (on a dual quad server) for a 1.5 million members social network
Is your total dataset size bigger than memory? Do you rely on JOINs? How many queries/s do you get from MySQL? Are queries scattered across your dataset, or focused on a single set of data (ie. recently used data)?
Based on our tests, on the same hardware it could handle considerably lower number of users.
You may be using MySQL on a specific application it excels at. Or you may just be benchmarking the wrong stuff - it is not clear if you are benchmarking application users or simultaneous connections. If the latter, I usually need 200-400 simultaneous connections (max) to handle the same reqs/s as a similar 3000-5000 connection MySQL database.
I have worked professionally with both PostgreSQL and MySQL (and unfortunely all my current projects are MySQL-based) and I routinely have peformance issues with MySQL in stuff any half-decent RDBMS handles without hiccups.
(...) Oh, wait, no he didn't, he dropped out as a sophmore (...)
If a guy had to go the university to learn algorithmics (or how the O(n) notation works), I'd be pretty f*****.
What scary lies? Microsoft would probably make more money out of an Android laptop than a Windows one... There are a ton of OEMs paying patents on Android, and they cost zero to Microsoft.
With Android, you'd still pay the Microsoft Tax - and probably they have a higher profit margin on it (because, you know, patents dont require developments and lots of other stuff that costs money).
terrorism in the usa isn't real?
No, not really.
Well, at least Russia invades territory just outside of their borders, not on the other half of the planet. And they DO suffer from it (terrorist threat in Russia is real, not the bullshit you see in the US).
No business cares about which database performs how well per unit of clock cycle. They care about how well does it perform per dollar.
They do, because time is money. If a given daily task that takes 30m can be done in 10m, it is a matter of cost. Also, throwing hardware at it increases operational costs - increased complexity to maintain, electricity/ HAVAC, etc.
As for your example, it is flawed - if you truely believe that you can replace SQL Server Enterprise Edition with MySQL (when you actually need the enterprise features - or actual SQL features), well... go ahead - it would be fun to watch. Since most MSSQL users don't need the enterprise edition (even if they DO need a proper RDMS with advanced features and not MySQL), we're talking about ~$8500 for your server and ~$210 per user.
Posted to undo mod
As a fulltime employee or as a freelancer/contractor?
In big cities most of the interesting stuff you can do is also eat, fuck and do drugs. But you can do it with lots of different people.
A few years back, AMD did have better processors... better in both performance/price and performance/watt.
They were better on specific tasks, not consistently better. And those "cheaper" AMD cpus tend to forget to shutdown due to overheat, so it was quite easy to kill one on a 24/7 desktop operation. Besides proper 64 bit support (back when no one was using it :D), those cpus had nothing to offer except a cheaper price and a non-refundable policy. Try to return a fried processor to the supplier, and see how lucky you are.
Then, add to that the fact that most chipsets made for AMD cpus were absolute crappy. I'd go any day with an Intel mobo, instead of an AMD roulette even if it means I need to fork more money for it. Its not about loyalism, its about consistency. I use computers to make money, they're a tool. I don't care if - to buy something more reliable (even if it performs worse) I need to pay more.
But when it comes to general performance improvement it's rather disappointing.
If you run benchmarks compiled for previous architectures, it is expected for them to suck - or at least, have the same baseline performance.
To some extent it looks like we have hit a ceiling in increased performance with the current overall computer architecture and that new approaches are needed
He have. To go beyond that, we'll need a completely new technology stack. However, latest trends are short pipelines, specialized instructions, decreasing gate size, and smarter software. They do work quite well, up to a point. If you need beyond that point, you probably can still squeeze some performance by trimming/optimizing the software layer.
The clock frequency is basically the same as for the decade old P4
As it would be expected. However, a single-core - pick your favourite cpu - will run leaps around a P4 at the same speed. One of the biggest differences is the pipeline size, and the stall penalty for cache misses. In many ways, modern Intel CPUs are way more simpler than the P4 line.
(...) at least compared to other architectures
What other architectures? Cores and threads are different things. Some RISC architectures do have simpler implementations, but not with the performance results you want - only more cores per die, and not all tasks are easily paralelizable.
One interesting path for improving performance that may be useful is what Xilinx has done with their Zynq-7000 which combines ARM cores with FPGA
I'd see that as in going the opposite way. FPGA are dead slow for real-life applications, and ARM cores aren't the general purpose computing platform the media has been promising for years. For me, it looks like a prototyping platform to design and test your ASICs, not a consumer-grade platform.
Unfortunately, it's only available on a handful of models.
Somehow, I'm not surprised (like the vt/vtx support on core processors). But this is a real improvement for top of the line processors, such as any upcoming xeon products. I'd expect it to be slow in adoption initially, but - in time - to gain traction.
That is, in summary, what HLE does. But RTM requires you to use explicit instructions to signal transactions. Using this approach, you do need code modification and lose backwards compatibility, but gain in granularity and simplicity of implementation.
For me, this is by far the biggest architectural improvement I see in these line of processors (check http://en.wikipedia.org/wiki/Transactional_Synchronization_Extensions and http://software.intel.com/sites/default/files/m/9/2/3/41604 for more information). If it sticks, it will help solving a lot of multi-core shared memory software development issues.
And 100% of Belgium beer is as good or better than German;
Belgium beers usually have the problem of being too sweet (at least the ones I tried). The high alchohol level makes them more like a poor-tasting wine (without the full palate experience) than a complete flavoured beer. I'm not a beer expert (well, I'm an expert consumer of beer :D) and I love german beers, specially weissbier. I'd take almost any german beer (specially local brands) over a belgium beer any day of the week.
But if everything changes (base chipset, processor and all), you have to re-install.
I've done this more than once without the need to reinstall (With both Vista and W7). You just re-activate. I do believe I was kinda lucky, but the "technical problem" that usually causes a BSOD (the disk driver or the graphics driver barfing up on initialization) is mostly solved on the latest versions of Windows. And it has everything to do with drivers. The new driver model allows for core drivers to die without bringing down the whole system. I'm not saying it will work everytime, but its not the dreadful experience it was with XP.
When the hardware of a system fails (does happen), stick the hard disk or an imaged backup into an upgraded hardware (original chipset/processor etc. are unlikely to be available any more, and even if it is available, 5 times faster hardware at half the price is a better deal), and boot from it. No re-install. Linux? Piece of cake, did it lots of times.
This is actually a good point. Upto Vista, this was a big issue. With Windows Vista (mostly due to hybrid/userland drivers), this started to be possible, or at least with greater success rates. But yes, it is usually way easier in Linux, even when some incompatibility arises.
Pick a distro with LTS and you'll be fine for at least 5 years.
So how much more is 9 than 5? 80%?
Android still uses linux.. it's the exact same driver system.
So, ICS should work without a problem in my 2.2 system? Because it doesn't. And my 2.2 is not even 4 years old.
E.g. going from one mainline trunk to another (e.g. Ubuntu 8 to Ubuntu 13). That's not a fair comparison.
Well, either the system is designed with a long-term maintenance cycle or isn't. Most Linux distros aren't, period. Most userland apps from 10 years ago won't even run on a modern system without recompiling. I'm actually a huge fan of FreeBSD and OpenBSD - I can pick a 10 year old FreeBSD system and upgrade it to the most stable version without (mostly) no issues. I'll probably have problems doing the same on a 2 year old OpenBSD system. That is also ok, some operating systems require a reinstall to truely work properly. And a ton of software changes - the configuration files change, the syntax changes, shared libraries are different, etc. There is nothing wrong with that - its just the way it is.
Try taking your Win XP box to Win 8 and see how that works out for you unless you've got bog standard gear, in which case your Ubuntu upgrade probably worked too.
Did you tried it? Windows 8 actually runs better than XP on not-so-old hardware. I have a 6 year old laptop with it, and works quite well. And I can run 10 or 15 year old apps without a problem. If I really need XP, thats fine - I can even run a virtualized version of it. The release cycle for Windows is different than for Linux. Microsoft needs to make shure it doesn't break compatibility with most of the huge application catalog available. Linux has a different development pace, different priorities, and it is used on an ecosystem where most of the important stuff can be recompiled, and/or are provided by the companies that drive the change in kernel (Oracle, IBM, Redhat, etc). Long-term compatibility isn't a priority - at all. But there are a lot of users for which long-term compatibility is important. Denying it is just stupid.
Driver developers target Windows. Period. Windows does not develop the ATI driver, the Nvidia driver, provides just a stack for developing the thousands of wireless drivers out there.
Actually, they do. Some of the system drivers are developed with the hardware manufacturer, but others are basically developed by Microsoft. I'm talking about system drivers, the ones that work out-of-the-box, not the ones you install yourself. For those, ATI and Nvidia _also_ write them for Linux, and most of the time they still are a big pile of stinking poo.
If you had a clue about what you are talking about, you would see that driver interfaces in linux are good, are working, are really good to develop with. They are documented, they do change at a pace that's much less insane than Windows'.
No, they're not. I'm not a driver programmer, but you have tons of examples. Have a look at multiple non-compatible USB stacks in 2.4 kernel. Have a look in syscall changes between 2.4 and 2.6. Have a look at some sort of sound support API. Or 3D acceleration. Or true userland drivers. Or can just assign privileges to devices to a random list of people. The list goes on and on. Every OS out there has its quirks.
The binary blobs you are probably referring to are made by them, not by anyone in the kernel develoment team.
The binary blobs are there because the kernel developers allows them to be. There is no pressure over the manufacturers to release actual stable working drivers. And guess what? Those blobs also exist in Windows. And the hardware works.
I could be wrong, but...
You are. PC-BSD's pbi format does exactly the same (http://www.pcbsd.org/en/package-management/), it is not a novel idea - at all. And as many other comments point out, other platforms do it too.
so for me, I see Acrobat and Indesign as tools for people who don't know how to program
Good for you. The same could be said about any software tool, really. But in the real world, some companies have hundreds-of-pages catalogues that need to be produced in multiple languages, often with different product sets, but with the same layout. And with correct color accuraccy (eg. converting RGB -> CMYK and having a proper preview on a calibrated setup). And InDesign does all that, and reading from your XML. Or from the ERP solution that has product images and is able to generate both end-user catalogs and technical catalogs from the product datasheet on the database. I'd say if you spend more than 10h tweaking any other system to do the same, you are starting to lose money - it is cheaper to just do it in InDesign - and (usually) easier to maintain and upgrade.
Thus, for all of my complex graphical layout work, I use Photoshop. This is why Photoshop has no easy replacement for me. Unlike text placement on a page, getting pixel-perfect renderings of complex, layered art is hard.
Try Corel PhotoPaint. Photoshop CS6 is awesome, but CS5/5.5 was a big pile of unstable poo (at least in Windows). And many of the features Photoshop users rave about were already existing in PhotoPaint for years - eg. vector layers, vector masks, smart objects, etc. And color workflow is actually sane. For simpler RGB works, you can do sane image editing with Paint Shop Pro (and actually work with big-ass images like panoramas) at a fraction of the price.
Pixelmator has gotten a lot closer, though, particularly now that they do CMYK.
Never heard of it, googled it and seems to be Mac-only. My previous Corel suggestion is probably useless to you :)
When the creative suite came out InDesign was essentially free
Depends on the type of work you did. I know a lot of users (myself included) for whom InDesign and Acrobat was essential and having Photoshop there is just an added bonus. InDesign is probably the most difficult to replace piece of Adobe software (and Quark is a big pile of unstable poo and has been since forever - at least on Windows). The traditional Quark's alternative, PageMaker, was also bought by Adobe. That leaves Serif PagePlus (so many years since it was useful, now a wizard-based crap too similar to publisher), and CorelDraw - which is not really a DTP Program.
Also, there is a "headless" version of InDesign (InDesign Server) to be run as a document server - eg. automatic document conversion, catalogue generation, etc - the dynamic, database-driven templates you create on your desktop can be used to generate automatic documents based on the data you feed into it.
we use joins very heavily (sometimes with up to 7-8 tables)
This is light join usage :) We actually had one MySQL application giving problems because of MySQL JOIN limit (63 or something like that).
some pages have more than 10-15 queries
That is not much - at all, assuming you are caching the output. As an example, the full rendering of the homepage of a specific store done in Magento (cache disabled) was around 140 queries. I have done CMS systems that perform 30-50 queries for high-traffic pages (cache disabled, PostgreSQL), and most OSS CMS platforms will usually generate between 10 and 40 queries just to render the homepage.
we have 150+ million page views per month, the website has public pages and millions of pages (in different modules: groups, profiles, jobs, classifieds, message box, online shops, Q&A, website wide search, ledger based credit accounting for specific activities,... ) receive new users from search results.
That is impressive. Are you handling search with MySQL or using an external system?
I have used a single instance of MySQL (on a dual quad server) for a 1.5 million members social network
Is your total dataset size bigger than memory? Do you rely on JOINs? How many queries/s do you get from MySQL? Are queries scattered across your dataset, or focused on a single set of data (ie. recently used data)?
Based on our tests, on the same hardware it could handle considerably lower number of users.
You may be using MySQL on a specific application it excels at. Or you may just be benchmarking the wrong stuff - it is not clear if you are benchmarking application users or simultaneous connections. If the latter, I usually need 200-400 simultaneous connections (max) to handle the same reqs/s as a similar 3000-5000 connection MySQL database.
I have worked professionally with both PostgreSQL and MySQL (and unfortunely all my current projects are MySQL-based) and I routinely have peformance issues with MySQL in stuff any half-decent RDBMS handles without hiccups.