programming, Advent of Code 

I'm doing <adventofcode.com/2018> this year, mostly as a way to build familiarity in .

I've spent a fair amount of time optimizing for execution speed.

Why? Partly because these are presented as puzzles, and that adds a dimension to the puzzle.

But I also think it's important to remind ourselves how fast programs *can* be.

programming, Advent of Code 

I've worked in places where there's been an attitude of "yes, this is slower than we'd like, but there are *hundreds* of elements to it, so users will just have to wait a little for it to update."

Friends, in a world where you can hold a multi-gigahertz multi-core computer in your hand that costs less than your team's ☕ budget for the day, "hundreds" is not a large number.

Our colleagues in the game industry know to measure things in _milliseconds_, not seconds.

Show thread

programming, Advent of Code 

And yes, I'm writing differently than I would production code.

There's a new puzzle every day.

The input comes consistently formatted from a single source.

These programs don't have to be maintained by a diverse team over the next few decades; probably nobody will look at them again after the end of the month.

All of which means I get to play a little looser with some things in order to focus on particular aspects of the puzzle.

Show thread
Follow

programming, Advent of Code 

My solutions, if you're in to that sort of thing, are at gitlab.com/keturn/advent2018/t

Except for when I'm feeling fancy and want to put a visualizer on it, that has a different set of build requirements and is at gitlab.com/keturn/advent2018-g

Sign in to participate in the conversation
Toot.Cat

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!