The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Since we're pointing stuff out, D's example could have been a lot faster. We knocked that around in the .NET forum as well and so on. I could theoretically install .NET, ASP and MySQL all on the same server here and run them with no other load if you guys want as that may be a better judge.

Even then it wouldn't be perfect (PHP has better optimization for MySQL than .NET does) but it would be a far better picture and closer to where we want to be, I think anyways.

We won't ever get truly perfect (different coding techniques) but it is interesting to watch

Originally posted by Jeremy W. Since we're pointing stuff out, D's example could have been a lot faster. We knocked that around in the .NET forum as well and so on. I could theoretically install .NET, ASP and MySQL all on the same server here and run them with no other load if you guys want as that may be a better judge.

Even then it wouldn't be perfect (PHP has better optimization for MySQL than .NET does) but it would be a far better picture and closer to where we want to be, I think anyways.

We won't ever get truly perfect (different coding techniques) but it is interesting to watch

Hey, please do this! If nothing else, it'd give us an interesting comparison between mySQL and MSSQL.

Well, if I'm going to do it there are a few things. First, all the code really should be optimized as much as possible. Second we need to decide on a database.

Personally I'm not convinced on MySQL because I've never seen .NET access it, and I know that ASP is piss slow at accessing it.

How's PHP's connect to SQL Server? Could we not just use that?

Let me know what you guys think. It still doesn't solve all the issues, but certainly does get us closer to a baseline, and I'm open for suggestions on better ways (concurrent connections, etc?) to have a curious look around.

It's good to see the different languages, because it's obvious what some of the strengths are just looking at the code

If we do .NET with MySQL, I'd like to do both with SQL Server as well. I dont' konw the quality of the drivers for each, so it's only fair to run the tests in both environments, at least in my opinion.

What is a problem, from where I'm standing, is PHP runs alot slower on Windows (sorry but having read the J2EE vs .NET already know about what happens when you try to beat MS on their home turf ).

Just been talking to D about it - what we need is either a machine which dual boots to Windows / Linux or two machines of the exact same spec running side by side, one Windows / .NET, the other Linux / PHP (perhaps with a trial version of Zend Accelerator installed for a second round of tests, just to see how it does).

I haven't got anything I can easily do that with (these days I do everything I can to avoid installing OSes).

Any ideas?

Otherwise, when testing how long a script takes to run, I don't think we should rely on the languages themselves to provide that info - instead use a "remote" (actually running on the same server so no network delay) HTTP client script which measures the time between sending the request for the page and receiving the end of the page.

I can't dual boot the servers, that would definitely be overstepping my bounds *L*

I'd be interested to see the Zend accelerator as well, and watch load at page access and stuff. It's too bad you can't insert breaks into webpages because it would be interesting to see how it breaks down as stuff happens

So, hardware chosen: D's computer.

D, you're gonna use win2k right, not XP? There've been a rash of problems lately with XP and .NET, most of which MS is releasing patches for but still, win2k is solid.

Thing is that on different OS's it isn't so much about the language then. I'd prefer to run a second series of tests with PHP on Linux than take it off the Windows tests entirely. After all, it is supposed to run equally well on all OS's right (dig at the guys who said IE and .NET running well together was bad )

And then do a straight up PHP speed test on .NET Server, just to see if it decreases performance? This way I could do the Windows tests this week, and it would give D a chance to setup the "Home OS" test system, thoughts?

Suse is probably the easiest to install. Somewhere on their site you can download it for free but installation isn't so nice.

As to dual booting, think the options are either install Linux first - it allows dual booting with LILO. Alternatively use partition magic to build to partitions. The problem with Windows is if you install it first with NTFS you can't later adjust the partitions without a format.

Personally I be intested in knowing if there's host that would sponsor this (for some advertising) that does .NET and PHP hosting on machines of the same spec.

Otherwise I'll be able to do something after Christmas - we get new machines at work.

Originally posted by Jeremy W. And then do a straight up PHP speed test on .NET Server, just to see if it decreases performance? This way I could do the Windows tests this week, and it would give D a chance to setup the "Home OS" test system, thoughts?

It would be interesting to do a test with php running on Win32 under IIS, Apache, and Apache 2. If you can't do that Jeremy, I could run it. Although I'm away this weekend, so it would be next week.

It's too bad you can't insert breaks into webpages because it would be interesting to see how it breaks down as stuff happens

There is a way to do that with PHP and no doubt .NET by using page caching (called output buffering in PHP's case) in "chunks" - you assign the current cache to a variable, store in on the filesystem, with a timestamp perhaps, flush the cache and do the next bit. You can then go back and examine each one later.