On the incompleteness of C: Postgres is a database, but also a runtime (fully custom memory management infrastructure), a standard library (custom string builder, linked list, hash map, sorting, ...), and even language (custom longjmp-based try/catch/raise mechanisms).
-
-
Replying to @brandur
Part of that is due to C's incompleteness, yes. But a lot of that would be self implemented when implementing a mature database in just about any language.
1 reply 1 retweet 6 likes -
Replying to @AndresFreundTec @brandur
(But other languages would make that far less cumbersome)
1 reply 0 retweets 3 likes -
Replying to @AndresFreundTec
True! With or without C, I suppose there’s some implicit wisdom that any sufficiently complex system will accumulate enough custom/complex requirements that it should expect to reimplement/significantly augment large parts of its substrate.
1 reply 0 retweets 3 likes -
Replying to @brandur
Right. Databases in particular have special enough needs that generic code often isn't a great fit.
1 reply 0 retweets 2 likes -
Replying to @AndresFreundTec @brandur
E.g. while there's parts of PG that'd benefit from a GC, it'd be a bad idea to rely on it for the majority of a query's memory. Having many gigabytes of memory that need to be GCed will lead to pauses, especially when consisting out of many small allocations.
2 replies 0 retweets 4 likes
Parts that'd benefit from GC: Much easier lock-free algorithms.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.