advent-of-code-2021

module
v0.0.20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2021 License: Apache-2.0

README

advent-of-code-2021

Here are my solutions for Advent of Code 2021.

This year, I chose to write my solutions using Go 1.18 with generics (by building the Go compiler from the latest master branch):

$ go version
go version devel go1.18-deb988a286 Fri Dec 3 18:09:19 2021 +0000 linux/amd64

Benchmarks

Benchmarks were run on an Intel i7 laptop running Linux Mint 19.3.

Puzzle Benchmark Iters ns/op
day01/part1 BenchmarkInput-4 8048 144071 ns/op
day01/part2 BenchmarkInput-4 6345 160099 ns/op
------------- -------------------- --------- ------------------
day02/part1 BenchmarkInput-4 7518 142567 ns/op
day02/part2 BenchmarkInput-4 7508 140629 ns/op
------------- -------------------- --------- ------------------
day03/part1 BenchmarkInput-4 24511 43900 ns/op
day03/part2 BenchmarkInput-4 5559 191525 ns/op
------------- -------------------- --------- ------------------
day04/part1 BenchmarkInput-4 270 3782730 ns/op
day04/part2 BenchmarkInput-4 310 3772155 ns/op
------------- -------------------- --------- ------------------
day05/part1 BenchmarkInput-4 26 44208473 ns/op
day05/part2 BenchmarkInput-4 13 88025595 ns/op
------------- -------------------- --------- ------------------
day06/part1 BenchmarkInput-4 14320 77127 ns/op
day06/part2 BenchmarkInput-4 5192 212946 ns/op
------------- -------------------- --------- ------------------
day07/part1 BenchmarkInput-4 340 3504080 ns/op
day07/part2 BenchmarkInput-4 288 4131633 ns/op
------------- -------------------- --------- ------------------
day08/part1 BenchmarkInput-4 11214 107337 ns/op
day08/part2 BenchmarkInput-4 630 1870067 ns/op
------------- -------------------- --------- ------------------
day09/part1 BenchmarkInput-4 595 2000520 ns/op
day09/part2 BenchmarkInput-4 297 4048426 ns/op
------------- -------------------- --------- ------------------
day10/part1 BenchmarkInput-4 8643 119493 ns/op
day10/part2 BenchmarkInput-4 8388 127750 ns/op
------------- -------------------- --------- ------------------
day11/part1 BenchmarkInput-4 874 1359490 ns/op
day11/part2 BenchmarkInput-4 324 3681322 ns/op
------------- -------------------- --------- ------------------
day12/part1 BenchmarkInput-4 27 39919589 ns/op
day12/part2 BenchmarkInput-4 1 1396313129 ns/op
------------- -------------------- --------- ------------------
day13/part1 BenchmarkInput-4 3220 344567 ns/op
day13/part2 BenchmarkInput-4 1161 865072 ns/op
------------- -------------------- --------- ------------------
day14/part1 BenchmarkInput-4 376 3065596 ns/op
day14/part2 BenchmarkInput-4 1483 740865 ns/op
------------- -------------------- --------- ------------------
day15/part1 BenchmarkInput-4 32 37535837 ns/op
day15/part2 BenchmarkInput-4 1 1414612059 ns/op
------------- -------------------- --------- ------------------
day16/part1 BenchmarkInput-4 8124 134785 ns/op
day16/part2 BenchmarkInput-4 7513 136187 ns/op
------------- -------------------- --------- ------------------
day17/part1 BenchmarkInput-4 1644 723567 ns/op
day17/part2 BenchmarkInput-4 1454 816308 ns/op
------------- -------------------- --------- ------------------
day18/part1 BenchmarkInput-4 390 3518750 ns/op
day18/part2 BenchmarkInput-4 81 13735733 ns/op
------------- -------------------- --------- ------------------
day19/part1 BenchmarkInput-4 8 139914205 ns/op
day19/part2 BenchmarkInput-4 8 141170683 ns/op
------------- -------------------- --------- ------------------
day20/part1 BenchmarkInput-4 146 8597374 ns/op
day20/part2 BenchmarkInput-4 3 435822786 ns/op
------------- -------------------- --------- ------------------

License

Copyright 2021 Glenn M. Lewis. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
cmd
get-puzzle
get-puzzle gets the puzzle for the given day (e.g.
get-puzzle gets the puzzle for the given day (e.g.
day01
day02
day03
day05
day06
day07
day08
day09
day10
day11
day12
day13
day14
day15
day16
day17
day18
day19
day20
Package must simplifies writing advent-of-code scripts by providing methods that cause fatal errors instead of returning them.
Package must simplifies writing advent-of-code scripts by providing methods that cause fatal errors instead of returning them.
Package strfn provides curried functional versions of the functions provided by the "strings" package so they can be more easily used within "enum" and "maps" functions.
Package strfn provides curried functional versions of the functions provided by the "strings" package so they can be more easily used within "enum" and "maps" functions.
Package test provides some handy testing utilities.
Package test provides some handy testing utilities.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL