Discussion
Loading...

Post

Log in
  • About
  • Code of conduct
  • Privacy
  • About Bonfire
Simon Repp
Simon Repp
@freebliss@post.lurk.org  ·  activity timestamp 13 hours ago

I can now tentatively say that there will be speed-ups - and possibly quite significant ones - in #faircamp 2.0.

For one, if you're using the graphical interface, faircamp will¹ "pre-preprocess" (= analyze audio and generate waveforms for) your entire catalog in the background while you're just still exploring the interface and fiddling with texts and settings. I'm planning to also expose this as a `faircamp --warmup` (or so) option in the CLI, so that you can let this pre-preprocessing run while you're still editing things in the manifests (way before building). So in both cases, when you finally request a build, a considerable portion of the required processing might already be ready and waiting in the cache.

Then, because of the graphical user interface, I needed to make all internal data shareable across threads (that's pretty much done by now), and in turn we can reap the benefits in the form of concurrent processing.

I just now naively parallelized decoding, peak generation and encoding, testing with a single album with 17 tracks, and I'm seeing a ~5.5 times faster completion, or in other words, on my machine², a build that took one hour could be done in roughly 12 minutes now, if these figures hold in the larger picture.

(¹) implementation pending but I see zero blockers to that

(²) 16 cores, average i7

  • Copy link
  • Flag this post
  • Block
Alison Wilder
Alison Wilder
@alisynthesis@io.waxandleather.com  ·  activity timestamp 1 hour ago

@freebliss wicked cool!

  • Copy link
  • Flag this comment
  • Block
Simon Repp
Simon Repp
@freebliss@post.lurk.org  ·  activity timestamp 13 hours ago

On this occasion also a shout-out to @uludev who has demonstrated already very early on that some ~3x+ speed-ups are possible (in their case with an async implementation, my current tests use multithreading/rayon for parallelization - which isn't possible in the pre-2.0 architecture). Super helpful to have seen the potential already so more informed decisions can be made about where to put the development time and focus. <3

  • Copy link
  • Flag this comment
  • Block

BT Free Social

BT Free is a non-profit organization founded by @ozoned@btfree.social . It's goal is for digital privacy rights, advocacy and consulting. This goal will be attained by hosting open platforms to allow others to seamlessly join the Fediverse on moderated instances or by helping others join the Fediverse.

BT Free Social: About · Code of conduct · Privacy ·
Bonfire social · 1.0.2-alpha.34 no JS en
Automatic federation enabled
Log in
Instance logo
  • Explore
  • About
  • Code of Conduct