Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Ryan Collins

    medium.com/@rymcol · Personal blog · on HN since 2016

    Ryan Collins publishes benchmarks comparing server-side Swift frameworks with Node.js on Medium.

    Visit blogHN submissions
    Systems & PerformanceWeb DevelopmentMobile & Apple
    What HN says

    HN commenters cite it as evidence Swift outperforms Node, though one notes the 2016 results are dated because Swift has gotten much faster.

    Stats for nerds
    17HN people shared it
    13linked in comments
    39story points
    Jan 2018last shared
    2016people per year2018

    Top posts on HN

    1. 1
      Benchmarks for the Top Server-Side Swift Frameworks vs. Node.js
      9 people · 29 points · first shared 2016 · 1 comments on HN
    2. 2
      Benchmarks for Node.js vs. Swift Server-Side Frameworks (Ubuntu)
      6 people · 10 points · first shared 2016 · Discussion on HN
    3. 3
      Updated benchmarks for the top server side swift frameworks vs node js 9da4a0491eca
      1 person · first shared 2018
    4. 4
      Current features benefits of the top server side swift frameworks b15b4f2d7bc3
      1 person · first shared 2017

    What HN people wrote when they linked it

    • josephgSep 2017

      Just to add to this, probably the biggest, most important reason to have language-level concurrency primitives is the 3rd party package ecosystem.

      In Go, Erlang and Nodejs packages don't need to make any decisions about what kind of concurrency to use. The postgres driver in go will expose a blocking API, and the postgres driver in node will expose a continuation-passing-style API, or use promises. Everyone who uses those languages already knows how to consume those APIs. In these languages its very hard for an experienced developer to make concurrency mistakes - you can instead spend all your time thinking about the actual problem you're trying to solve.

      In C, Swift and Rust this isn't true (yet). Despite all three of these languages having lots of tools for concurrency, the lack of standardisation means you can't just grab any postgres library. You also have to look at how that library does threading and figure out how to correctly integrate it with the threading model you're using in your own code. (Does it depend on tokio? Does it use posix threads? GCD? Green threads? Async?). This turns the 3rd party package ecosystem in these languages into a fragmented minefield.

      As far as I know there are 4 main swift-based http server libraries[1] at the moment. Each one works slightly differently. Because they all roll their own concurrency tools, they're all mutually incompatible. Each one has implemented its own static file server, its own hsts header middleware, its own json…

    • briandearJan 2018

      This is from 2016 -- Swift and the toolchain has gotten dramatically faster since then, but this is a comparison of server-side swift frameworks with Rails/Laravel/Spring/Nancy/etc: https://medium.com/@qutheory/server-side-swift-vs-the-other-guys-1-input-ec48d7be37b7

      ...and part 2 here: https://medium.com/@qutheory/server-side-swift-vs-the-other-guys-2-speed-ca65b2f79505

      And here's summer 2017 benchmarking/comparing server side Swift frameworks vs. Node: https://medium.com/@rymcol/updated-benchmarks-for-the-top-server-side-swift-frameworks-vs-node-js-9da4a0491eca

      Swift is a great language.

      Hello World in Java:

      public class HelloWorld {

      public static void main(String[] args) {
      // Prints "Hello, World" to the terminal window.
      System.out.println("Hello, World");
      }

      }

      Hello World in Swift:

      print("Hello World")

      Obviously Hello World is trivial, however that comparison is indicative of the elegance -- it has power similar to C with ease of use similar to scripting languages.

    • tommymachineAug 2017

      I just wrote a swift api that I'm running on Ubuntu 16.04. I wasn't hesitant to use swift because first, it substantially outperforms node on many benchmarks [1] [2] and second, the community of people who are excited about swift seem to have made up for its young age. You can find workable tutorials and help online for server side Swift. And there are multiple backend frameworks to choose from. Having type safety on the server is as great as it is on the client. It's also great to be able to write the server in the same language as the client. Makes for a VERY smooth dev process. Why wouldn't you use swift on the server? (my guess is fear of new tech -- which can be healthy many times but, IMHO, at least in the case of server side swift, it may be a bit irrational!)

      1. https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=swift&lang2=node
      2. https://medium.com/@rymcol/linux-ubuntu-benchmarks-for-server-side-swift-vs-node-js-db52b9f8270b

    • lassofreakDec 2016

      But it is true? https://medium.com/@rymcol/benchmarks-for-the-top-server-side-swift-frameworks-vs-node-js-24460cfe0beb#.jrxb0nqcr

      Perfect (Swift) kills Node.js - which means it kills other stuff (like Ruby) without question. Python would be hard tho...

    Related

    Deno: The Complete Referencemedium.com/deno-the-complete-reference17 people

    Is Bun much faster than Node.js?

    Deno: The Complete Reference
    Publication · last shared 2025
    DailyJSdailyjs.com112 people

    Backbone.js: Hacker's Guide

    DailyJS
    Publication · last shared 2017
    V8 Blogv8.dev272 people

    The cost of parsing JSON

    V8 Blog
    Company · last shared 2026
    Stressgrid Blogstressgrid.com28 people

    Achieving 100k connections per second with Elixir

    Stressgrid Blog
    Company · last shared 2025
    Nolan Lawsonnolanlawson.com133 people

    Safari is the new IE

    Nolan Lawson
    Personal · last shared 2026
    Node.js Blogblog.nodejs.org97 people

    Node.js v0.8.0 [stable] is out

    Node.js Blog
    Company · last shared 2015
    Swift Blogswift.org307 people

    Swift is Open Source

    Swift Blog
    Company · last shared 2026
    Josh Collins-Worthjoshcollinsworth.com42 people

    The blissful Zen of a good side project

    Josh Collins-Worth
    Personal · last shared 2026