From: Michael Niedermayer via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Michael Niedermayer <michael@niedermayer.cc>
Subject: Re: [FFmpeg-devel] CI
Date: Fri, 22 Aug 2025 16:51:15 +0200
Message-ID: <20250822145115.GP29660@pb2> (raw)
In-Reply-To: <1b744f83-b5f0-429a-925d-3981461cea0d@rothenpieler.org>
[-- Attachment #1.1: Type: text/plain, Size: 6161 bytes --]
On Fri, Aug 22, 2025 at 02:13:14PM +0200, Timo Rothenpieler via ffmpeg-devel wrote:
> On 22/08/2025 07:00, Kieran Kunhya via ffmpeg-devel wrote:
> > On Thu, 21 Aug 2025, 11:33 Michael Niedermayer via ffmpeg-devel, <
> > ffmpeg-devel@ffmpeg.org> wrote:
> >
> > > Hi
> > >
> > > On Thu, Aug 21, 2025 at 12:31:46AM +0200, Timo Rothenpieler via
> > > ffmpeg-devel wrote:
> > > > On 8/20/2025 9:25 PM, Michael Niedermayer via ffmpeg-devel wrote:
> > > > > Hi
> > > > >
> > > > > On Wed, Aug 20, 2025 at 05:56:27PM +0200, Timo Rothenpieler via
> > > ffmpeg-devel wrote:
> > > > > > On 8/20/2025 1:26 AM, Michael Niedermayer via ffmpeg-devel wrote:
> > > > > > > Hi
> > > > > > >
> > > > > > > It seems the forgejo CI takes about
> > > > > > > 13min to do fate on aarch64 and x86-64 and build on win64
> > > > > > >
> > > > > > > Locally i run
> > > > > > > fate + install on x86-64
> > > > > > > build on x86-32, mingw64, arm32, mips, ppc, x86-64 + shared
> > > libs
> > > > > > > testprogs alltools examples build on x86-64, x86-32 and arm32
> > > > > > > in 2min 44sec
> > > > > > >
> > > > > > > can we improve the speed vs amount of tests ratio ?
> > > > > > > (its not a problem ATM, i did in fact not even notice as i never
> > > waited on it)
> > > > > > >
> > > > > > > Iam just seeing the difference in time and i think there is
> > > potential for
> > > > > > > optimization here
> > > > > > >
> > > > > > > I dont think my box here is really special, just a
> > > > > > > AMD Ryzen 9 3950X 16-Core + Samsung SSD 970 PRO
> > > > > >
> > > > > > Well, the test runners are 4 cores and 8GB of RAM. So that'll be the
> > > primary
> > > > > > difference in speed.
> > > > > > I think they're performing pretty good for being just that.
> > > > > >
> > > > > > We could of course throw money at the problem and turn them into 16
> > > core
> > > > > > machines. That would up the hosting cost of the runners from
> > > currently
> > > > > > 3*7.5€ a month to 3*30€ a month. Just for the runners.
> > > > > >
> > > > > > imo the current CI turnaround times are fine. 15-20 minutes per job
> > > is fine,
> > > > > > as long as they can all run in parallel.
> > > > >
> > > > > Option 1: 15-20 min CI turnaround, 270 € per year
> > > > > Option 2: 4-5? min CI turnaround, 1080 € per year
> > > > >
> > > > > we have over 150k $ it seems
> > > > >
> > > > > Good use of capital can also lead to more donations
> > > > >
> > > > > I think the main question is, "would we benefit from the faster
> > > trunaround"?
> > > > > or not ?
> > > >
> > > > You have to keep in mind, 4 Core 8GB is also the swarm of runners we get
> > > for
> > > > free from Microsoft via GitHub.
> > > >
> > > > So the choice is actually "Be able to process 20+ jobs in parallel that
> > > take
> > > > 15-20 minutes each" vs. "Be able to process 3 or so at a time (roughly
> > > one
> > > > PR/push) in 5 minutes".
> > > > So realistically, unless we also pay for an actual swarm of runners
> > > > ourselves(which would cost 10k or more a year while being idle 95% of the
> > > > time) the total turnaround time including wait for a free runner is
> > > probably
> > > > still better with more of the smaller runners than less of the big ones.
> > > >
> > > > It'd also make it a lot more pressing to think about every single CI job
> > > we
> > > > add, vs. having a bit of leeway due to the over-abundance of runners.
> > >
> > > for 1-2k$ you can buy a box that runs fate once and build on 6 times in
> > > under 3minutes.
> > >
> > > if one is not enough buy 3, use the extra capcity for fuzzing or rent out
> > > to other projects
> > >
> > > I must be stupid, because to me this looks cheaper, its also one time
> > > expense
> > > these boxes can be used for 10 years
> > >
> > > also no need to be reliable expensive servers, if you have 3.
> > >
> > > thx
> > >
> >
> > In the end you're paying for hosting, 24/7 electricity and not having to
> > worry about it.
>
> Yeah, in the end someone has to put these 3 servers somewhere, monitor them
> for hardware failures, and pay for their electricity.
> Which isn't exactly cheap for 3 servers either.
>
> > I agree with both viewpoints. For "mission critical" stuff like CI we
> > should host at a proper hosting company.
>
> There's also the option of renting a dedicated server from Hetzner or some
> other company, and put a bunch of runners on there.
> Hetzner rents you an 8 core Zen4 Ryzen with 64GB of RAM for ~55€ a month.
>
> But compared to the current virtual servers we rent from Hetzner, that's a
> pretty poor "performance per money" ratio, given we get one server with 4
> cores and 8GB of RAM, which is plenty for our needs, for 7.5€ a month.
> So we can rent up to 7 of those, while still paying less than for one
> dedicated server.
> And dedicated servers are again more effort, because you do need to manually
> monitor them for any hardware faults, and then coordinate the replacement
> with Hetzner, and they do eventually die of old age.
>
> There's also the option of writing some tool that automatically scales
> runners up/down at some cloud provider that bills minutely/secondly (Hetzner
> bills Servers per Hour, making this a lot less interesting).
> That would require some serious cost calculation. But I feel like we have
> plenty of CI downtime to make it worthwhile.
>
> But then again, GitHub/MS gives us 20 parallel runners for free, and we can
> freely pick if they're running on x86_64 or aarch64, Linux, Windows or even
> OSX.
> As long as they do that, we only need to host a baseline of runners
> ourselves, and can scale out into that whenever there's a peak in usage.
I guess next time i upgrade my box, i might just keep the old one running in a
corner.
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
"Nothing to hide" only works if the folks in power share the values of
you and everyone you know entirely and always will -- Tom Scott
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-08-22 14:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-19 23:26 Michael Niedermayer via ffmpeg-devel
2025-08-20 15:56 ` Timo Rothenpieler via ffmpeg-devel
2025-08-20 19:25 ` Michael Niedermayer via ffmpeg-devel
2025-08-20 22:31 ` Timo Rothenpieler via ffmpeg-devel
2025-08-21 16:03 ` Kacper Michajlow via ffmpeg-devel
2025-08-21 21:16 ` Michael Niedermayer via ffmpeg-devel
2025-08-21 21:33 ` Michael Niedermayer via ffmpeg-devel
2025-08-22 5:00 ` Kieran Kunhya via ffmpeg-devel
2025-08-22 12:13 ` Timo Rothenpieler via ffmpeg-devel
2025-08-22 14:51 ` Michael Niedermayer via ffmpeg-devel [this message]
2025-08-22 14:54 ` Michael Niedermayer via ffmpeg-devel
2025-08-22 15:22 ` Timo Rothenpieler via ffmpeg-devel
2025-08-22 18:48 ` Martin Storsjö via ffmpeg-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250822145115.GP29660@pb2 \
--to=ffmpeg-devel@ffmpeg.org \
--cc=michael@niedermayer.cc \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git