AdventOfCode2022
My solutions for AoC 2022 (by narimiran)
clj-fast
Unpredictably faster Clojure (by bsless)
AdventOfCode2022 | clj-fast | |
---|---|---|
7 | 5 | |
12 | 230 | |
- | - | |
3.9 | 0.0 | |
6 months ago | about 2 years ago | |
Clojure | Clojure | |
MIT License | Eclipse Public License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
AdventOfCode2022
Posts with mentions or reviews of AdventOfCode2022.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-12.
-
Advent of Clojure - looking for feedback
Here are all my solutions.
-
-🎄- 2022 Day 15 Solutions -🎄-
The same approach as my Python solution — for each row, it tracks the left-most and right-most seen point for each sensor. Then it searches if there has been a gap between two sensors.
-
-🎄- 2022 Day 11 Solutions -🎄-
In the end, my solution, especially in the game logic part, is heavily based on the stuff you did.
-
First time Clojure user - critique my Advent of Code solutions
Here is my repo.
- -🎄- 2022 Day 8 Solutions -🎄-
-
-🎄- 2022 Day 4 Solutions -🎄-
Repo: Python and Clojure solutions
-
-🎄- 2022 Day 3 Solutions -🎄-
But to be honest, I like my Clojure solution even more.
clj-fast
Posts with mentions or reviews of clj-fast.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-12.
-
Advent of Clojure - looking for feedback
IIRC clojure.core/merge is another needlessly slow implementation that gets used a lot. If you are leveraging that on hot paths you will probably see some benefit in writing your own variant or copying one (or adding a dep) from a lib that is faster. There are some explorations of these ideas in clj-fast with some early results and trends and plenty of interesting discussions in the issues.
- Notes on Optimizing Clojure Code: Overview
-
How (and When) Clojure Compiles Your Code (2016)
Noticed that code compiled in a defn as opposed to raw evaluation of the body at the repl produces different bytecode (and impacts inlining / jit) in some cases https://github.com/bsless/clj-fast/issues/16 . Kind of a cousin to the original issue you raised.
-
Making the LinkedIn experimentation engine 20x faster
Some interesting exploration in the clj-fast library and discussions in the issues there.
-
Advent of Code 2020 Day 23 Crab Cups in Clojure (optimizing runtime from 10,000 years to 30 minutes)
The only other weird performance regression with array looping code is if you test it at the repl vs inside a defined function that's called. Different bytecode emitted in each case for some reason, with the function wrapper version being substantially faster.
What are some alternatives?
When comparing AdventOfCode2022 and clj-fast you can also consider the following projects:
a2tools - Stuff I write for my Apple //c
aoc-2021perfcomp - a fork of https://gitlab.com/slotThe/aoc-2021.git for a reddit exploration
aoc2022 - My Advent of Code 2022 solutions!
criterium - Benchmarking library for clojure
adventofcode - Advent of code solutions
ultrarand - a demo of random number generation in java, and clojure via performance optimization
icfpc2019
performancepaper - A reproducible, open examination of the paper "A performance comparison of Clojure and Java" by Gustav Krantz
AdventOfCode
ham-fisted - High performance HAMT
clojure - The Clojure programming language
AdventOfCode2022 vs a2tools
clj-fast vs aoc-2021perfcomp
AdventOfCode2022 vs aoc2022
clj-fast vs criterium
AdventOfCode2022 vs adventofcode
clj-fast vs ultrarand
AdventOfCode2022 vs icfpc2019
clj-fast vs performancepaper
AdventOfCode2022 vs AdventOfCode
clj-fast vs ham-fisted
clj-fast vs icfpc2019
clj-fast vs clojure