<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Dart vs Go performance (http)	</title>
	<atom:link href="https://blog.icod.de/2019/10/17/dart-vs-go-performance-http/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.icod.de/2019/10/17/dart-vs-go-performance-http/</link>
	<description>Webentwicklung und sonstiger Unsinn :) Web development and other nonsense :)</description>
	<lastBuildDate>Sun, 26 Jul 2020 10:43:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: Darko Luketic		</title>
		<link>https://blog.icod.de/2019/10/17/dart-vs-go-performance-http/#comment-46132</link>

		<dc:creator><![CDATA[Darko Luketic]]></dc:creator>
		<pubDate>Sun, 26 Jul 2020 10:16:58 +0000</pubDate>
		<guid isPermaLink="false">https://blog.icod.de/?p=1173#comment-46132</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.icod.de/2019/10/17/dart-vs-go-performance-http/#comment-46121&quot;&gt;Luca&lt;/a&gt;.

Thank you for your insights, Luca. I have added new results with a GOMAXPROCS=1 in Go&#039;s case.]]></description>
			<content:encoded><![CDATA[<p>Thank you for your insights, Luca. I have added new results with a GOMAXPROCS=1 in Go&#8217;s case.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Luca		</title>
		<link>https://blog.icod.de/2019/10/17/dart-vs-go-performance-http/#comment-46121</link>

		<dc:creator><![CDATA[Luca]]></dc:creator>
		<pubDate>Thu, 23 Jul 2020 21:52:39 +0000</pubDate>
		<guid isPermaLink="false">https://blog.icod.de/?p=1173#comment-46121</guid>

					<description><![CDATA[I think this is an unfair comparison because the go code is multi-threaded but the dart code isn&#039;t, as the HTTP server is a very basic implementation.

I found a framework that is supposed to be multi-threaded (https://aqueduct.io/) and did a simple test with it and it is a bit better (my results with the same test as in here were ~200k req/s for go and ~10k req/s for the implementation here, and ~35k req/s for aqueduct with 4 threads too). Another catch is dart can be compiled to native code or run a VM, but not all packages work compiled as native code, and this aqueduct framework uses one of them so I had to do the test in the VM.

Because of this I tried (very hard) to do a simple implementation using a pool of Isolates (threads) with plain dart but failed, mainly because isolate can only communicate via messages that can only be of primitive types (int, String, etc.), so I can&#039;t really reply to requests in other threads.

I was really interested in knowing how dart performance compares to go, and this was an interesting example. It&#039;s a bit sad to realize that dart isn&#039;t even capable to offer a multi-threading flexible enough to implement a decent web server...]]></description>
			<content:encoded><![CDATA[<p>I think this is an unfair comparison because the go code is multi-threaded but the dart code isn&#8217;t, as the HTTP server is a very basic implementation.</p>
<p>I found a framework that is supposed to be multi-threaded (<a href="https://aqueduct.io/" rel="nofollow ugc">https://aqueduct.io/</a>) and did a simple test with it and it is a bit better (my results with the same test as in here were ~200k req/s for go and ~10k req/s for the implementation here, and ~35k req/s for aqueduct with 4 threads too). Another catch is dart can be compiled to native code or run a VM, but not all packages work compiled as native code, and this aqueduct framework uses one of them so I had to do the test in the VM.</p>
<p>Because of this I tried (very hard) to do a simple implementation using a pool of Isolates (threads) with plain dart but failed, mainly because isolate can only communicate via messages that can only be of primitive types (int, String, etc.), so I can&#8217;t really reply to requests in other threads.</p>
<p>I was really interested in knowing how dart performance compares to go, and this was an interesting example. It&#8217;s a bit sad to realize that dart isn&#8217;t even capable to offer a multi-threading flexible enough to implement a decent web server&#8230;</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sonic		</title>
		<link>https://blog.icod.de/2019/10/17/dart-vs-go-performance-http/#comment-44925</link>

		<dc:creator><![CDATA[Sonic]]></dc:creator>
		<pubDate>Sat, 21 Mar 2020 07:59:50 +0000</pubDate>
		<guid isPermaLink="false">https://blog.icod.de/?p=1173#comment-44925</guid>

					<description><![CDATA[This was the best Go vs Dart comparison. Good job mate!]]></description>
			<content:encoded><![CDATA[<p>This was the best Go vs Dart comparison. Good job mate!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: LeaKitty		</title>
		<link>https://blog.icod.de/2019/10/17/dart-vs-go-performance-http/#comment-44805</link>

		<dc:creator><![CDATA[LeaKitty]]></dc:creator>
		<pubDate>Wed, 11 Mar 2020 14:30:30 +0000</pubDate>
		<guid isPermaLink="false">https://blog.icod.de/?p=1173#comment-44805</guid>

					<description><![CDATA[Great, thanks for this little comparison ;)]]></description>
			<content:encoded><![CDATA[<p>Great, thanks for this little comparison 😉</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
