PIMF vs. Silex

27. November 2015

0 Kommentare

This performance comparison was done by TechEmpower, Inc. CA. They made the benchmark of many web application frameworks executing fundamental tasks such as JSON serialization, database access, and server-side template composition. Each framework is operating in a realistic production configuration. Results are captured on physical hardware. The test implementations are largely community-contributed and all source is available at the GitHub repository.

In the following tests, TechEmpower have measured the performance of several web application platforms, full-stack frameworks, and micro-frameworks (collectively, „frameworks“). For more information, read the introduction, motivation, and latest environment details.

Hardware

Peak: Dell R720xd dual Xeon E5-2660 v2 (40 HT cores) with 32 GB memory; database servers equipped with SSDs in RAID; switched 10-gigabit Ethernet

Platform

Current versions of: Linux, PHP-FPM, nginx on Linux, MySQL on Linux

Single query test

In this test, each request is processed by fetching a single row from a simple database table. That row is then serialized as a JSON response.

Best (bar chart)
Single query Best (bar chart)

Data table
Single query Data table

Latency
Single query Latency

Framework overhead
Single query Framework overhead

Multiple queries test

In this test, each request is processed by fetching multiple rows from a simple database table and serializing these rows as a JSON response. The test is run multiple times: testing 1, 5, 10, 15, and 20 queries per request. All tests are run at 256 concurrency.

20-queries (bar)
Multiple queries 20-queries (bar)

Data table
Multiple queries Data table

Latency
Multiple queries Latency

Framework overhead
Multiple queries Framework overhead

¬ geschrieben von gjerokrsteski in PIMF

Objekte abrufen und mehrere Instanzen vermeiden

18. November 2011

15 Kommentare

Auf Englisch würde das etwa als „Retrieve objects avoiding multiple instances” geschrieben werden. Den Artikel habe ich auf Englisch verfasst, da ich von phpclasses.org gebeten wurde paar Zeilen Dokumentation zum Projekt „Building an Identity Map in PHP” zu schreiben. Das Projekt zeigt auf wie eine Identity-Map im PHP Projekt implementiert wird und was für Vorteile das Ganze mit sich bringt. So, ab heir ist der Artikel auf Englisch verfasst: The „Building an Identity Map in PHP” package can store and retrieve objects in persistent storage containers avoiding to have multiple instances of the same object in memory. It can use a mapper class to store objects of a class in a container like for instance a database table. It can also retrieve the objects from the container assuring that only one instance of the same object is retrieved into memory. Den ganzen Beitrag lesen.

¬ geschrieben von gjerokrsteski in PHP Tricks und Tipps

MySQL-Functions vs. PDO vs. Doctrine2

26. September 2011

7 Kommentare

Neulich bin ich in ein komplett neues Projekt eingestiegen. Das Team diskutierte über ein mögliches ORM Framework. Die Anforderungen an da ORM-Framework waren: „Wir möchten keine SQL-Statement mehr schreiben“, „Wir möchten nur mit Objekten arbeiten“, „Ein Scaffolding oder ein Reverse-Engineering wäre super, ist aber kein muss“ und „Wir möchten Vor- und Nachteile von Doctrine2 gegenüber MySQL-Functions und PDO haben“. Zuletzt auch noch diese: „Wenn möglich, dann soll es mit nicht relationalen Datenbanken sowie mit relationalen Datenbanken zusammen arbeiten können“. Den ganzen Beitrag lesen.

¬ geschrieben von gjerokrsteski in PHP Tricks und Tipps

cURL vs. Fopen vs. ZF

27. Januar 2011

10 Kommentare

In Moment ist ein sehr gefährlicher Infekt in der PHP-Szene namens “ PhpBenchmarkItis” in Umlauf. Wenn es erwischt hat, derjenige ist gezwungen Dinge in PHP miteinander auf Leistung und Schnelligkeit gegeneinander zu prüfen. Mich hat die “ PhpBenchmarkItis” nun auch erwischt. Ich musste unbedingt erfahren welche Methode von PHP und ZF eine schnellere Verbindung zu einem Server aufbaut und dessen Antwort bzw. Ergebnis ausliefert. Hintergrund des Ganzen ist, eine Klasse zu erstellen die auf dem schnellsten Wege verschiedene RSS-Feeds auslesen und ausliefern kann. Den ganzen Beitrag lesen.

¬ geschrieben von gjerokrsteski in PHP Tricks und Tipps

Powered by Wordpress • Abonniere den RSS Feed