<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>JSON performance</title>
    <link>http://forum.geizhals.at/feed.jsp?id=873679</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(2): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7585943.html#7585943</link>
      <description>hatte ich auch schon angedacht&lt;br/&gt;</description>
      <pubDate>Tue, 26 Jan 2016 10:47:51 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7585943.html#7585943</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-26T10:47:51Z</dc:date>
    </item>
    <item>
      <title>Re: JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7585921.html#7585921</link>
      <description>&lt;blockquote&gt;&lt;em&gt; 1) JSON decoding / encoding scheint ja relativ CPU lastig zu sein. Aktuell hab&lt;br&gt;ich ein PHP script, welches von einem API server zyklisch JSON respones per&lt;br&gt;get_file_contents abholt, decoded, mit einer gecachten Version vergleicht und&lt;br&gt;im Fall des Falles per mysqli Updates/Inserts/Deletes in meiner DB ausführt.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Wie wärs einfach einen md5 über den JSON String zu berechnen und den mit deinem Cache vergleichen?&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 26 Jan 2016 10:07:07 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7585921.html#7585921</guid>
      <dc:creator>weisnet</dc:creator>
      <dc:date>2016-01-26T10:07:07Z</dc:date>
    </item>
    <item>
      <title>Re(3): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7577804.html#7577804</link>
      <description>&lt;blockquote&gt;&lt;em&gt; C# fällt leider weg&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;C# hat jetzt volle Unterstützung auf Linux!&lt;br&gt;Wer auf asp.net steht kann es unter Linux verwenden:&lt;br&gt;&lt;a href="http://dotnet.github.io/getting-started/" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;dotnet.github.io/&lt;wbr/&gt;getting-started/&lt;wbr/&gt;&lt;/a&gt; &lt;br&gt;&lt;a href="http://blog.tonysneed.com/2015/05/25/develop-and-deploy-asp-net-5-apps-on-linux/" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;blog.tonysneed.com/&lt;wbr/&gt;2015/&lt;wbr/&gt;05/&lt;wbr/&gt;25/&lt;wbr/&gt;develop-and-deploy-asp-net-5-apps-on-linux/&lt;wbr/&gt;&lt;/a&gt; &lt;br&gt;&lt;br&gt;Ich selbst habe aber keine Erfahrung mit asp.&lt;br/&gt;</description>
      <pubDate>Tue, 12 Jan 2016 23:23:02 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7577804.html#7577804</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2016-01-12T23:23:02Z</dc:date>
    </item>
    <item>
      <title>Re(2): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7577803.html#7577803</link>
      <description>&lt;img src="dizo_up.png" width="50px"/&gt;&lt;br&gt;&lt;br&gt;Da du gerade bei der Infrastrukturoptimierung bist empfehle ich dir auch noch vollständig auf HTTP/2 &amp; https umzusteigen.&lt;br/&gt;</description>
      <pubDate>Tue, 12 Jan 2016 23:18:20 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7577803.html#7577803</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2016-01-12T23:18:20Z</dc:date>
    </item>
    <item>
      <title>Re(2): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7576701.html#7576701</link>
      <description>&lt;blockquote&gt;&lt;em&gt; &lt;br&gt;Ein sehr ähnlicher Fall dazu wird in einem Artikel in der aktuellen c't&lt;br&gt;beschrieben. Facebook hat dafür eine Bibliothek, React.js, entwickelt. Das&lt;br&gt;mixt JSON und HTML zusammen und arbeitet mit einem "virtual DOM", das nur die&lt;br&gt;Stellen im echten DOM ersetzt, die sich auch geändert haben. Das macht die&lt;br&gt;Seite am Client sehr schnell. Vielleicht ist das ja was für dich? Ausgabe&lt;br&gt;2/1026, ab A 162: "Webseiten Reaktor - Facebooks JavaScript Bibliothek React&lt;br&gt;für datenlastige Websites".&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Danke, c't Abo ist vorhanden, werd ich mir bei Gelegenheit zu Gemüte führen&lt;br/&gt;</description>
      <pubDate>Mon, 11 Jan 2016 13:40:16 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7576701.html#7576701</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-11T13:40:16Z</dc:date>
    </item>
    <item>
      <title>Re: JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7576698.html#7576698</link>
      <description>&lt;blockquote&gt;&lt;em&gt;2) Meine Seite arbeitet viel mit Tabellen / Diagrammen, wo doch einiges an Daten zusammenkommt. Wäre es ev. sinnvoll beim AJAX call nicht das gerenderte HTML Klartext sondern als JSON String zu übertragen und dann im complete event zu decoden?&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Ein sehr ähnlicher Fall dazu wird in einem Artikel in der aktuellen c't beschrieben. Facebook hat dafür eine Bibliothek, React.js, entwickelt. Das mixt JSON und HTML zusammen und arbeitet mit einem "virtual DOM", das nur die Stellen im echten DOM ersetzt, die sich auch geändert haben. Das macht die Seite am Client sehr schnell. Vielleicht ist das ja was für dich? Ausgabe 2/1026, ab A 162: "Webseiten Reaktor - Facebooks JavaScript Bibliothek React für datenlastige Websites".&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 11 Jan 2016 13:38:35 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7576698.html#7576698</guid>
      <dc:creator>Betriebsdirektor</dc:creator>
      <dc:date>2016-01-11T13:38:35Z</dc:date>
    </item>
    <item>
      <title>Re: JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7576036.html#7576036</link>
      <description>Warum nicht eine Datenbank verwenden, die mit JSON umgehen kann? Dann ersparst du dir die Verarbeitung mit PHP, sondern steckst einfach die Daten direkt in die Datenbank und bei der Abfrage der Daten bekommst du ebenfalls JSON und lieferst sie 1:1 an den Client aus.&lt;br/&gt;</description>
      <pubDate>Sat, 09 Jan 2016 14:29:23 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7576036.html#7576036</guid>
      <dc:creator>hellbringer</dc:creator>
      <dc:date>2016-01-09T14:29:23Z</dc:date>
    </item>
    <item>
      <title>Re(5): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7575989.html#7575989</link>
      <description>In dem Fall auf nem Server 2012. &lt;br&gt;&lt;br&gt;Aber habe auch Ubuntu Instanzen mit mehrere Versionen (allerdings pre 7.0) &lt;br&gt;&lt;br&gt;Aber hauptsache es läuft &lt;img src="smile.gif" width="16" height="19" align="absmiddle" alt=":-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Sat, 09 Jan 2016 12:16:13 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7575989.html#7575989</guid>
      <dc:creator>dizo</dc:creator>
      <dc:date>2016-01-09T12:16:13Z</dc:date>
    </item>
    <item>
      <title>Re(4): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7575226.html#7575226</link>
      <description>auf nem linux system?&lt;br&gt;&lt;br&gt;also soweit ich die installation mitbekommen hab werden da etliche symlinks gedreht, die php5 genauso verwendet. und ein paar plugins (xdebug, redis) haben da auch probleme (wobei's bei denen wohl noch am einfachsten zum drehen wär). davon abgesehen dass ich ohnehin eine zweite apache instanz bräuchte (was ja net das problem wär). &lt;br&gt;&lt;br&gt;Aber inzw. eh wurst, läuft seit Mittag &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 07 Jan 2016 20:18:00 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7575226.html#7575226</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-07T20:18:00Z</dc:date>
    </item>
    <item>
      <title>Re(3): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7575218.html#7575218</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Wie es scheint, können PHP5 und PHP7 allerdings nicht koexistieren, was den&lt;br&gt;Test zur Umstellung etwas aufwändiger gestaltet&lt;br&gt;__________________________&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Sicher geht das. Warum denn nicht? Hab ich selber so im Einsatz auf nem Testsystem (5.6 und 7.0RC1)&lt;br/&gt;</description>
      <pubDate>Thu, 07 Jan 2016 20:00:49 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7575218.html#7575218</guid>
      <dc:creator>dizo</dc:creator>
      <dc:date>2016-01-07T20:00:49Z</dc:date>
    </item>
    <item>
      <title>Re: JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7574894.html#7574894</link>
      <description>Nur so nebenbei für die interessierten Mitleser:&lt;br&gt;Auf Anregung von Diabolo2000 hab ich heut mit viel Bauchweh das Upgrade auf PHP7 durchgeführt. Bis jetzt läuft mal alles, aber sind erst 2h. Sowohl RAM als auch CPU Nutzung sind stark gesunken, muss jetzt aber erst mal unterschiedliche Lastzustände abwarten (mehr User am Apache etc.)&lt;br&gt;&lt;br&gt;Bis jetzt schaut der Schritt aber mal erfolgreich aus &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 07 Jan 2016 13:03:20 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7574894.html#7574894</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-07T13:03:20Z</dc:date>
    </item>
    <item>
      <title>Re(2): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7574584.html#7574584</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Deutlich bessere wäre es (wenn möglich) das du gleich nur die Änderungen&lt;br&gt;bekommst - also nen Timestamp mitgibst welche Version du hast - und nur einmal&lt;br&gt;Nachts vielleicht alles&lt;br&gt;aktualisierst.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Hab mich da ev. unglücklich ausgedrückt. Die API Server sind vom Spielestudio, da hab ich keine Chance Änderungen zu erwirken.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;C# fällt leider weg, da ich einen Linux Server hab. Phyton und Java wär ev. eine Möglichkeit. Da wie gesagt gar nicht so viel Logik in dem Script steckt, sollt ich das sogar mit viel Google hinbekommen. Auch das Upgrad auf PHP7 um mir zumindest ein wenig mehr Zeit zu verschaffen für die Umstellung bin ich am Behirnen, allerdings muss ich erst schaun ob die von mir verwendeten libs kompatibel sind. Wie es scheint, können PHP5 und PHP7 allerdings nicht koexistieren, was den Test zur Umstellung etwas aufwändiger gestaltet&lt;br/&gt;</description>
      <pubDate>Thu, 07 Jan 2016 07:27:33 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7574584.html#7574584</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-07T07:27:33Z</dc:date>
    </item>
    <item>
      <title>Re: JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7573118.html#7573118</link>
      <description>Deutlich bessere wäre es (wenn möglich) das du gleich nur die Änderungen bekommst - also nen Timestamp mitgibst welche Version du hast - und nur einmal Nachts vielleicht alles aktualisierst.&lt;br&gt;&lt;br&gt;PHP ist dafür generell langsam - du könntest das Ganze ja auch per PHP an ein serverseitiges Script (Phyton) oder Programm (Java/C#) übergeben, welches dir dann die Vergleiche macht, und die DB aktualisiert.&lt;br/&gt;</description>
      <pubDate>Mon, 04 Jan 2016 17:28:30 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7573118.html#7573118</guid>
      <dc:creator>dizo</dc:creator>
      <dc:date>2016-01-04T17:28:30Z</dc:date>
    </item>
    <item>
      <title>Re(4): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7572630.html#7572630</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Je nachdem wie viel du in deiner Datenbank speicherst könntest du auch alles&lt;br&gt;in memory erledigen anstatt die Daten in einer DB zu speichern.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Eher nicht, liegt momentan so bei einer halben Milliarde Datensätze, Tendenz steigend&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; &lt;br&gt;Schon mal nachgedacht über eine grundlegend schneller Technologie? (Java)&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;NOCH nicht&lt;br/&gt;</description>
      <pubDate>Sun, 03 Jan 2016 13:48:44 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7572630.html#7572630</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-03T13:48:44Z</dc:date>
    </item>
    <item>
      <title>Re(3): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7572627.html#7572627</link>
      <description>&lt;blockquote&gt;&lt;em&gt; 3-5 Megabyte / s&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;Das ist tatsächlich nicht ganz wenig. (Ob denen so viel Traffic überhaupt recht ist?)&lt;br&gt;Je nachdem wie viel du in deiner Datenbank speicherst könntest du auch alles in memory erledigen anstatt die Daten in einer DB zu speichern.&lt;br&gt;Falls du es noch nicht getan hast könntest du versuchen auf PHP 7 umzusteigen. Das soll signifikant schneller sein.&lt;br&gt;&lt;br&gt;&lt;br&gt;Schon mal nachgedacht über eine grundlegend schneller Technologie? (Java)&lt;br/&gt;</description>
      <pubDate>Sun, 03 Jan 2016 13:45:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7572627.html#7572627</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2016-01-03T13:45:47Z</dc:date>
    </item>
    <item>
      <title>Re(2): JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7572611.html#7572611</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Was genau meinst du mit "auf JS umsteigen"? node.js?&lt;br&gt;PHP ist langsam, vor allem verglichen mit Java oder node.js.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;zB, ja&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; Aber was genau machst du denn, bist du sicher, dass die Performance der JSON&lt;br&gt;Verarbeitung ein Problem darstellt?&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Jo, relativ. Recht viel mehr Logik steckt in genanntem Script nicht die mysqli Sachen schlagen sich wie zu erwarten auf die CPU Belastung des mysqld nieder, aber es geht eben auch rein vom php script rauf. Ein Schnelltest mit einer Loop die x* einen meiner JSON Strings encodiert bzw. rekursiv auf ein assoziatives Array decodiert (geht ja mit nochmaligem encode und drauffolgendem decode einfach) zeigt auch dass sich das ordentlich auf die CPU niederschlägt.&lt;br&gt;&lt;br&gt;An JSON Daten kommen so 3-5 Megabyte / s rein. Bin jetzt aber da noch am schaun ein paar Sachen zu optimieren. Das Blöde ist, dass deren Server stupide auf Requests / s / IP limitieren, und ich somit abhängig von meiner Hardware schneller sein kann wenn ich etliche Daten in einem Rutsch anforder und die verwerf, als wenn ich zuerst kleine Pakete zur Überprüfung anforder. &lt;br&gt;&lt;br&gt;Ich werd jetzt aber mal noch an ein paar Stellen MD5 Hashes erstellen und cachen, damit ich die vergleich und mir im Falle des Falles das decoding sparen kann wenn der Hash gleich ist. MD5 sollt ja eigentlich noch halbwegs CPU "freundlich" sein&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; Genau dorthin geht der Trend zur Zeit immer noch: Leichtgewichtige JSON APIs&lt;br&gt;(Ob und wie viel davon RESTful ist sei dahingestellt) und Rendering am Client&lt;br&gt;mit templating engine oder databinding framework. Ich würde dir dafür&lt;br&gt;handlebars.js empfehlen, das hat man nach ein paar Minuten verstanden. Denn&lt;br&gt;Clients werden immer leistungsfähiger und somit kann sich der Server&lt;br&gt;Bandbreite und Renderzeit&lt;br&gt;sparen.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Jo, handlebars ist mir in meiner Recherche mal untergekommen, da werd ich mich mal bissl drüber informieren. Danke auf jeden Fall für den Tipp&lt;br/&gt;</description>
      <pubDate>Sun, 03 Jan 2016 12:52:55 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7572611.html#7572611</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-03T12:52:55Z</dc:date>
    </item>
    <item>
      <title>Re: JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7572584.html#7572584</link>
      <description>Was genau meinst du mit "auf JS umsteigen"? node.js?&lt;br&gt;PHP ist langsam, vor allem verglichen mit Java oder node.js.&lt;br&gt;Aber was genau machst du denn, bist du sicher, dass die Performance der JSON Verarbeitung ein Problem darstellt?&lt;br&gt;Wie viele Aufrufe führst du pro Sekunde aus und wie groß sind die JSON Daten?&lt;br&gt;JSON Verarbeitung in JS ist auf jeden Fall nicht von Haus aus schneller als in anderen Sprachen, der Vorteil ist, dass man einen JSON String einfach in ein JS Objekt verwandeln kann.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; AJAX call nicht das gerenderte HTML Klartext sondern als JSON String zu&lt;br&gt;übertragen&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;Genau dorthin geht der Trend zur Zeit immer noch: Leichtgewichtige JSON APIs (Ob und wie viel davon RESTful ist sei dahingestellt) und Rendering am Client mit templating engine oder databinding framework. Ich würde dir dafür handlebars.js empfehlen, das hat man nach ein paar Minuten verstanden. Denn Clients werden immer leistungsfähiger und somit kann sich der Server Bandbreite und Renderzeit sparen.&lt;br/&gt;</description>
      <pubDate>Sun, 03 Jan 2016 11:20:05 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7572584.html#7572584</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2016-01-03T11:20:05Z</dc:date>
    </item>
    <item>
      <title>JSON performance</title>
      <link>http://forum.geizhals.at/t873679,7572432.html#7572432</link>
      <description>Servus, ich hab mal wieder 2 Fragen bezüglich meines kleinen Projektes:&lt;br&gt;&lt;br&gt;&lt;br&gt;1) JSON decoding / encoding scheint ja relativ CPU lastig zu sein. Aktuell hab ich ein PHP script, welches von einem API server zyklisch JSON respones per get_file_contents abholt, decoded, mit einer gecachten Version vergleicht und im Fall des Falles per mysqli Updates/Inserts/Deletes in meiner DB ausführt.&lt;br&gt;&lt;br&gt;Nun ist das ganze aber sobald man ein paar mal forkt doch ziemlich ressourcenfressend in Hinblick auf die CPU. Jetzt meine Frage: Nachdem JSON ja eigentlich für JS entwickelt wurde, wäre es performancetechnisch wesentlich besser das in JS abzuhandeln? Ich weiß schon, ich könnt es selber benchmarken, aber ich nehme an diese Überlegung wird schon öfter wer angestellt haben. &lt;br&gt;&lt;br&gt;&lt;br&gt;2) Meine Seite arbeitet viel mit Tabellen / Diagrammen, wo doch einiges an Daten zusammenkommt. Wäre es ev. sinnvoll beim AJAX call nicht das gerenderte HTML Klartext sondern als JSON String zu übertragen und dann im complete event zu decoden?&lt;br&gt;&lt;br&gt;&lt;br&gt;Für viele von euch klingen diese Fragen sicher noobig, kommt daher dass ich da in diese Thematik wirklich ohne Vorwissen einsteig &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Sat, 02 Jan 2016 18:41:05 GMT</pubDate>
      <guid>http://forum.geizhals.at/t873679,7572432.html#7572432</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-01-02T18:41:05Z</dc:date>
    </item>
  </channel>
</rss>
