HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
drone
routes
Go2013–2013
drone / routes · Archived

routes

[DEPRECATED] routing API for Go web applications

2Distinct people
2Mentions
0Explicit recommenders
334GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

[DEPRECATED] routing API for Go web applications

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 6-hour interval2 dated mentions

Observed mentions: 2013-02-26 22:03:31 UTC to 2013-03-04 02:51:22 UTC.

012013-02-26 18:00:00 UTC to 2013-02-27 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 26, 18:002013-02-27 00:00:00 UTC to 2013-02-27 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-02-27 06:00:00 UTC to 2013-02-27 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-02-27 12:00:00 UTC to 2013-02-27 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-02-27 18:00:00 UTC to 2013-02-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-02-28 00:00:00 UTC to 2013-02-28 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-02-28 06:00:00 UTC to 2013-02-28 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-02-28 12:00:00 UTC to 2013-02-28 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-02-28 18:00:00 UTC to 2013-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-01 00:00:00 UTC to 2013-03-01 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-01 06:00:00 UTC to 2013-03-01 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 1, 06:002013-03-01 12:00:00 UTC to 2013-03-01 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-01 18:00:00 UTC to 2013-03-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-02 00:00:00 UTC to 2013-03-02 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-02 06:00:00 UTC to 2013-03-02 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-02 12:00:00 UTC to 2013-03-02 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-02 18:00:00 UTC to 2013-03-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-03 00:00:00 UTC to 2013-03-03 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-03 06:00:00 UTC to 2013-03-03 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-03 12:00:00 UTC to 2013-03-03 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-03 18:00:00 UTC to 2013-03-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-03-04 00:00:00 UTC to 2013-03-04 06:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMar 4, 00:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 26, 18:002013-02-26 18:00:00 UTC2013-02-27 00:00:00 UTC101
Feb 27, 00:002013-02-27 00:00:00 UTC2013-02-27 06:00:00 UTC000
Feb 27, 06:002013-02-27 06:00:00 UTC2013-02-27 12:00:00 UTC000
Feb 27, 12:002013-02-27 12:00:00 UTC2013-02-27 18:00:00 UTC000
Feb 27, 18:002013-02-27 18:00:00 UTC2013-02-28 00:00:00 UTC000
Feb 28, 00:002013-02-28 00:00:00 UTC2013-02-28 06:00:00 UTC000
Feb 28, 06:002013-02-28 06:00:00 UTC2013-02-28 12:00:00 UTC000
Feb 28, 12:002013-02-28 12:00:00 UTC2013-02-28 18:00:00 UTC000
Feb 28, 18:002013-02-28 18:00:00 UTC2013-03-01 00:00:00 UTC000
Mar 1, 00:002013-03-01 00:00:00 UTC2013-03-01 06:00:00 UTC000
Mar 1, 06:002013-03-01 06:00:00 UTC2013-03-01 12:00:00 UTC000
Mar 1, 12:002013-03-01 12:00:00 UTC2013-03-01 18:00:00 UTC000
Mar 1, 18:002013-03-01 18:00:00 UTC2013-03-02 00:00:00 UTC000
Mar 2, 00:002013-03-02 00:00:00 UTC2013-03-02 06:00:00 UTC000
Mar 2, 06:002013-03-02 06:00:00 UTC2013-03-02 12:00:00 UTC000
Mar 2, 12:002013-03-02 12:00:00 UTC2013-03-02 18:00:00 UTC000
Mar 2, 18:002013-03-02 18:00:00 UTC2013-03-03 00:00:00 UTC000
Mar 3, 00:002013-03-03 00:00:00 UTC2013-03-03 06:00:00 UTC000
Mar 3, 06:002013-03-03 06:00:00 UTC2013-03-03 12:00:00 UTC000
Mar 3, 12:002013-03-03 12:00:00 UTC2013-03-03 18:00:00 UTC000
Mar 3, 18:002013-03-03 18:00:00 UTC2013-03-04 00:00:00 UTC000
Mar 4, 00:002013-03-04 00:00:00 UTC2013-03-04 06:00:00 UTC101

What Hacker News says

2 sources
I tested it with Go v1.0.3 vs Node v0.8.21 + Express v3.1.0 I used mgo with Go to connect to mongodb. Then I filled it with 1,024 documents that was composed of 2 fields. One field with a few bytes of text and the other with a paragraph of text. Then I created a few handlers to return: 1) 1x document as json 2) 7x documents as json 3) 15x documents as json At 15x I decided this was likely going to generate a response large enough that there's no point going higher. It was about 25kb worth of json. Then I used a lib called "routes": https://github.com/drone/routes It's not really close to what express does but it's better than nothing. Then I added in my own etag generator using the same method that express does (it gens it off the body length) for responses > 1kb. Then I benchmarked each route 3 times with ab using: -n 7500 -c {50, 250, 7
Read the rest
50, 1500} I ignored the first and averaged the last 2 results. I did this on a local VM locked down to 1 CPU with 512mb of ram with a c2d 2.13ghz CPU and a 7200 rpm sata HD. Then I did the same with express using just bodyParser since neither setup had session support. Go didn't have a Redis store that was capable of working with the Gorilla session lib so I didn't use sessions on both setups. I used the native mongodb driver for node. Express was for the most part 10-15% faster where faster is more requests per second served. The latency was back and forth. I feel like the latency @ 99% was tighter with Go once the concurrency got really high but the amount was not enough to matter. For example once I got to the higher concurrencies both were taking a ridiculous amount of time (over 7 seconds) on my old crappy desktop. Loading in 5.5 seconds instead of 7 seconds is not really "better" since it's abysmal on both. Go is much better at responding with large amounts of data when the database call is eliminated. I can only assume its ability to deal with large strings is leaps and bounds superior to v8 which makes sense to me. The thing is though, that's pretty much irrelevant. If I was going to serve static content I would be using S3 or nginx. If I'm serving dynamic content then I'm likely pulling this in from a database.
In Writing Web Applications in Go

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.