# PHP vs PHP NTS benackmark (win32)

- Thread: https://externals.io/message/39043
- Original archive: https://news-web.php.net/php.internals/39043
- Started by Mario Brandt on 2008-07-17T09:36:11+00:00
- Messages: 7
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #39043 — Mario Brandt — 2008-07-17T09:36:11+00:00

URL: https://externals.io/message/39043#39043

I made a test on my console (cmd.exe)
ENV: WinXP SP 3 all updates, PHP 5.2.6  / PHP 5.2.6 non thread safe (NTS)
Intel Celeron 2.4 GHz 1 GB DDR Ram

It showed that the non thread safe is faster than the thread safe version.


NTS

Benchmark           Time          Peak Memory    Peak Memory (Real)
-------------------------------------------------------------------
./benchmarks\ackermann        1.744         428704         524288
./benchmarks\array            0.067         6583320        7340032
./benchmarks\array2           0.059         6589168        7340032
./benchmarks\array3           0.841         364848         524288
./benchmarks\fibonacci        3.622         77976          262144
./benchmarks\hash             0.150         3921712        4194304
./benchmarks\hash2            0.130         144912         262144
./benchmarks\heapsort         0.410         1639960        1835008
./benchmarks\mandel           1.445         83352          262144
./benchmarks\mandel2          1.716         80312          262144
./benchmarks\matrix           0.410         357432         524288
./benchmarks\nestedloop       0.742         80368          262144
./benchmarks\sieve            0.532         1403920        1572864
./benchmarks\simple           0.425         77768          262144
./benchmarks\simplecall       0.553         76656          262144
./benchmarks\simpleucall      0.881         77344          262144
./benchmarks\simpleudcall     1.188         77440          262144
./benchmarks\strcat           0.060         857848         1310720


TS

Benchmark           Time          Peak Memory    Peak Memory (Real)
-------------------------------------------------------------------
./benchmarks\ackermann        2.406         674272         786432
./benchmarks\array            0.078         6583664        7340032
./benchmarks\array2           0.065         6591032        7340032
./benchmarks\array3           0.861         365352         524288
./benchmarks\fibonacci        4.835         77720          262144
./benchmarks\hash             0.234         3922136        4194304
./benchmarks\hash2            0.155         145416         262144
./benchmarks\heapsort         0.476         1640912        1835008
./benchmarks\mandel           1.531         84552          262144
./benchmarks\mandel2          1.849         80840          262144
./benchmarks\matrix           0.365         357984         524288
./benchmarks\nestedloop       0.811         80624          262144
./benchmarks\sieve            0.531         1404096        1572864
./benchmarks\simple           0.454         77736          262144
./benchmarks\simplecall       0.743         76472          262144
./benchmarks\simpleucall      1.285         77160          262144
./benchmarks\simpleudcall     1.545         77256          262144
./benchmarks\strcat           0.061         858000         1310720


with PHP6 the test failed

regards
Mario

---

## #39045 — david.zuelke@bitextender.com — 2008-07-17T10:03:53+00:00

URL: https://externals.io/message/39043#39045 · In reply to: #39043

Am 17.07.2008 um 11:36 schrieb Mario Brandt:

> I made a test on my console (cmd.exe)
> ENV: WinXP SP 3 all updates, PHP 5.2.6  / PHP 5.2.6 non thread safe  
> (NTS)
> Intel Celeron 2.4 GHz 1 GB DDR Ram
>
> It showed that the non thread safe is faster than the thread safe  
> version.

And your point/question is...?



David

---

## #39046 — Runar Olsen — 2008-07-17T10:11:26+00:00

URL: https://externals.io/message/39043#39046 · In reply to: #39043

Hi,

That should be correct as there is no time spent keeping internal 
variables thread safe.

Mario Brandt skrev:
> I made a test on my console (cmd.exe)
> ENV: WinXP SP 3 all updates, PHP 5.2.6  / PHP 5.2.6 non thread safe (NTS)
> Intel Celeron 2.4 GHz 1 GB DDR Ram
>
> It showed that the non thread safe is faster than the thread safe version.
>
>
> NTS
>
> Benchmark           Time          Peak Memory    Peak Memory (Real)
> -------------------------------------------------------------------
> ./benchmarks\ackermann        1.744         428704         524288
> ./benchmarks\array            0.067         6583320        7340032
> ./benchmarks\array2           0.059         6589168        7340032
> ./benchmarks\array3           0.841         364848         524288
> ./benchmarks\fibonacci        3.622         77976          262144
> ./benchmarks\hash             0.150         3921712        4194304
> ./benchmarks\hash2            0.130         144912         262144
> ./benchmarks\heapsort         0.410         1639960        1835008
> ./benchmarks\mandel           1.445         83352          262144
> ./benchmarks\mandel2          1.716         80312          262144
> ./benchmarks\matrix           0.410         357432         524288
> ./benchmarks\nestedloop       0.742         80368          262144
> ./benchmarks\sieve            0.532         1403920        1572864
> ./benchmarks\simple           0.425         77768          262144
> ./benchmarks\simplecall       0.553         76656          262144
> ./benchmarks\simpleucall      0.881         77344          262144
> ./benchmarks\simpleudcall     1.188         77440          262144
> ./benchmarks\strcat           0.060         857848         1310720
>
>
> TS
>
> Benchmark           Time          Peak Memory    Peak Memory (Real)
> -------------------------------------------------------------------
> ./benchmarks\ackermann        2.406         674272         786432
> ./benchmarks\array            0.078         6583664        7340032
> ./benchmarks\array2           0.065         6591032        7340032
> ./benchmarks\array3           0.861         365352         524288
> ./benchmarks\fibonacci        4.835         77720          262144
> ./benchmarks\hash             0.234         3922136        4194304
> ./benchmarks\hash2            0.155         145416         262144
> ./benchmarks\heapsort         0.476         1640912        1835008
> ./benchmarks\mandel           1.531         84552          262144
> ./benchmarks\mandel2          1.849         80840          262144
> ./benchmarks\matrix           0.365         357984         524288
> ./benchmarks\nestedloop       0.811         80624          262144
> ./benchmarks\sieve            0.531         1404096        1572864
> ./benchmarks\simple           0.454         77736          262144
> ./benchmarks\simplecall       0.743         76472          262144
> ./benchmarks\simpleucall      1.285         77160          262144
> ./benchmarks\simpleudcall     1.545         77256          262144
> ./benchmarks\strcat           0.061         858000         1310720
>
>
> with PHP6 the test failed
>
> regards
> Mario

---

## #39047 — Pierre Joye — 2008-07-17T10:24:31+00:00

URL: https://externals.io/message/39043#39047 · In reply to: #39043

hi,


> I made a test on my console (cmd.exe)
> ENV: WinXP SP 3 all updates, PHP 5.2.6  / PHP 5.2.6 non thread safe (NTS)
> Intel Celeron 2.4 GHz 1 GB DDR Ram
>
> It showed that the non thread safe is faster than the thread safe version.

It is expected and it is also why we provide TS and non TS builds for
windows (fcgi usage).

Cheers,
-- 
Pierre

http://blog.thepimp.net | http://www.libgd.org

---

## #39057 — Stanislav Malyshev — 2008-07-17T15:42:11+00:00

URL: https://externals.io/message/39043#39057

Hi!

> a, what are the ramifications of having to run php without threading
> when we live in a world that's increasingly moving towards
> multi-core/multi- CPU systems?

I'd say next to none, since multi-CPU systems are perfectly capable of 
running multiple processes and PHP lives in the context of the web 
server where multiple processes are just fine.

> b, Is php not missing out here big time?

Not really, even though some cool stuff may be done, but that's probably 
outside standard threading model.

> d, Will threads ever become recommended in/for php?

Unless some serious change happens, I don't see it likely. "Shared 
nothing" works not too bad.

> e, If threads become the norm, will php code have to be written
> differently to account for threads?

too hypothetical for me :)

> f, are there things I can/should be doing to my [production]
> systems/software-stacks to leverage extra performance for my php
> code from CPUs with multiple cores (and/or machines with multiple
> CPUs)?

Have Apache with bigger MaxClients? ;)
-- 
Stanislav Malyshev, Zend Software Architect
stas@zend.com   http://www.zend.com/
(408)253-8829   MSN: stas@zend.com

---

## #39058 — Andi Gutmans — 2008-07-17T15:48:40+00:00

URL: https://externals.io/message/39043#39058 · In reply to: #39057

There are some things I mention in this blog entry re: why I think
multi-process architecture is not a bad thing even with where CPUs are
going:
http://tinyurl.com/3eyfth

This was obviously a heated discussion and I'd appreciate if you have
flames/comments to send them to me directly and/or on the blog and not
to this list. Just sending it though as it answers some of these
concerns.

Andi

> -----Original Message-----
> From: Stanislav Malyshev [mailto:stas@zend.com]
> Sent: Thursday, July 17, 2008 8:42 AM
> To: Jochem Maas
> Cc: 'internals@lists.php.net'
> Subject: Re: [PHP-DEV] PHP vs PHP NTS benackmark (win32)
> 
> Hi!
> 
> > […]
> 
> I'd say next to none, since multi-CPU systems are perfectly capable of
> running multiple processes and PHP lives in the context of the web
> server where multiple processes are just fine.
> 
> > […]
> 
> Not really, even though some cool stuff may be done, but that's
> probably
> outside standard threading model.
> 
> > […]
> 
> Unless some serious change happens, I don't see it likely. "Shared
> nothing" works not too bad.
> 
> > […]
> 
> too hypothetical for me :)
> 
> > […]
> 
> Have Apache with bigger MaxClients? ;)
> --
> Stanislav Malyshev, Zend Software Architect
> stas@zend.com   http://www.zend.com/
> (408)253-8829   MSN: stas@zend.com

---

## #39061 — Jochem Maas — 2008-07-17T17:41:34+00:00

URL: https://externals.io/message/39043#39061 · In reply to: #39058

Thank you everyone for you replies, apparently I know a little
more than I thought in general and also a little more than this
morning. :-)

rgds,
Jochem

Andi Gutmans schreef:
> There are some things I mention in this blog entry re: why I think
...
