Egregoros

Signal feed

Timeline

Post

Remote status

> 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

Replies

2
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?