Egregoros

Signal feed

Timeline

Post

Remote status

Context

1
> there's a Rust rewrite of dnstracer, dnstracer-rs

>> it appears to be actively developed. But this is kind of a solved problem, so why so many releases?

>>> "lock file maintenance" and bumping dependencies


MEANWHILE the C version has been frozen in time for decades because it has no external dependencies or compiler updates it needs to chase all the time
let's analyze this futher!

The Rust version:

> du -sh `which dnstracer`
1.1M /usr/local/bin/dnstracer

> ldd `which dnstracer`
/usr/local/bin/dnstracer:
libthr.so.3 => /lib/libthr.so.3 (0x3df3fbeeb000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x3df3fe3a1000)
libc.so.7 => /lib/libc.so.7 (0x3df3ff0a8000)
libm.so.5 => /lib/libm.so.5 (0x3df3ff9d8000)
libsys.so.7 => /lib/libsys.so.7 (0x3df3fdc84000)
[vdso] (0x3df3fb325000)


The C version:

> du -sh `which dnstracer`
21K /usr/local/bin/dnstracer

> ldd `which dnstracer`
/usr/local/bin/dnstracer:
libc.so.7 => /lib/libc.so.7 (0x269ec858a000)
libsys.so.7 => /lib/libsys.so.7 (0x269ec6fb5000)
[vdso] (0x269ec69fa000)



Why is this considered progress? Why do we keep doing this to ourselves?

Replies

2