-
declares an array of struct of arrays, where each inner struct array contains 8 elements. This would have the advantage of playing well with the streaming prefetcher if you're working with all fields of the `Point` type.
Julia's StructArrays package is also very convenient: https://github.com/JuliaArrays/StructArrays.jl
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Look for "Data oriented design" or "Structs of arrays".
Here's a talk on the former by Mike Acton: https://www.youtube.com/watch?v=rX0ItVEVjHc
On the latter, there's Jai, a new programming language for games (WIP, unpublished) by Jonathan Blow, who has been very public in documenting the process creating it, and which is centered around such concepts. There is some unofficial documentation of the ideas on SoA vs AoS and how the language can help switching between the two, e.g. here: https://pixeldroid.com/jailang/overview/Features/SOA/#/overv... and here: https://github.com/BSVino/JaiPrimer/blob/master/JaiPrimer.md...
-
I hacked up something similar (https://gitlab.com/mbryant/functiontrace/-/blob/master/src/p...) a while ago. Your variant looks much more useful!
-
Here is a Nim library inspired by the blog post that simulates array-of-structs with struct-of-arrays:
https://github.com/liquidev/datarray
-
-
cljfx
Declarative, functional and extensible wrapper of JavaFX inspired by better parts of react and re-frame
The same technique can be used with Clojure + JavaFX [0] and even at the terminal [1]!
[0] https://github.com/cljfx/cljfx
[1] https://github.com/eccentric-j/cljs-tui-template
-
cljs-tui-template
A leiningen template to generate ClojureScript Terminal-User-Interface applications built on web technologies you already know.
The same technique can be used with Clojure + JavaFX [0] and even at the terminal [1]!
[0] https://github.com/cljfx/cljfx
[1] https://github.com/eccentric-j/cljs-tui-template
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives