From: Dave Taht <dave.taht@gmail.com>
To: "Network Neutrality is back! Let´s make the technical aspects
heard this time!" <nnagain@lists.bufferbloat.net>,
bloat <bloat@lists.bufferbloat.net>
Cc: Simon Kelley <simon@thekelleys.org.uk>,
Nick Feamster <feamster@uchicago.edu>,
Benjamin Boyter <bboyte01@gmail.com>,
Alexis Schrubbe <schrubbe@uchicago.edu>
Subject: [Bloat] correctly calculating code complexity and cost
Date: Fri, 17 Nov 2023 09:08:29 -0500 [thread overview]
Message-ID: <CAA93jw4eHMh0pQ+7VYRFWCPS9b9X0MxPyPmE2H6E+ndbvg9Txg@mail.gmail.com> (raw)
The first tool I whip out when someone proposes replacing something
(like dnsmasq, or a custom codebase) is to apply something derived
from the cocomo model to add up what it took in terms of programmer
hours to write the existing thing in the first place. There was a fun
recent competition to see who could write the fastest tool for this a
while back, but can only find this reference to it and the excellent
ssc tool right now. I think there is a decent rust tool for this also.
https://engineering.kablamo.com.au/posts/2021/quick-comparison-between-go-file-walk-implementations/
I have not paid any attention to this area of software estimation
costs in going on 20 years! (usually successfully making the point
that reuse and extension of something pre-existing is cheapest) QA is
not handled in cocomo, porting costs neither, the model totally fails
on maintenance costs as well! I have hoped that key maintainers of
complex codebases (bob on iperf2 perhaps? ) would compare their actual
experiences against those models with scc and improve them. People
have a tendency to not measure the why of a failure like bind10,
either. lastly, code quality can be inversely proportional to size,
and yet take longer to achieve elegance and speed. This story from
apple's early days expresses it well
https://www.folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt
fq_codel for wifi was a net -200 lines of code.
the FCC BEAD database code is closed source (sigh) but I would love to
know what upenn (?)'s similar attempt looks like through models like
this?
For every new software language generation much is claimed that it
will be 5-6 times more productive, which if that were true, would mean
that all the code in the world could now be managed with a single
monkey attached to chatgpt. The Rust messaging is a perverse relief
here, as it is multi-core speed gains driving it and it is the hardest
language I have ever tried to use, and I went back to C and SQL. I
know this guy tho, that managed to pound out 25k amazing lines of rust
in a year, with a little chatgpt to handle the boilerplate better.
--
:( My old R&D campus is up for sale: https://tinyurl.com/yurtlab
Dave Täht CSO, LibreQos
next reply other threads:[~2023-11-17 14:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-17 14:08 Dave Taht [this message]
2023-11-17 16:06 ` [Bloat] [NNagain] " Dick Roy
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
List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAA93jw4eHMh0pQ+7VYRFWCPS9b9X0MxPyPmE2H6E+ndbvg9Txg@mail.gmail.com \
--to=dave.taht@gmail.com \
--cc=bboyte01@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=feamster@uchicago.edu \
--cc=nnagain@lists.bufferbloat.net \
--cc=schrubbe@uchicago.edu \
--cc=simon@thekelleys.org.uk \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox