But I mean, this is just an insane amount of complexity for something that should be trivial.
-
-
Replying to @Jonathan_Blow @1st_C_Lord
It could be trivial, but unfortunately isn't with the current tools we have. If every symbol access went through a PLT or GOT, hot-reloading would be much easier. Or were you thinking about something else? Would love to hear your take on that.
1 reply 0 retweets 2 likes -
Replying to @molecularmusing @1st_C_Lord
Symbol lookup is just matching a name to a value. This is something we know how to make computers do very fast. Those symbols are a small amount of data, e.g. the symbol for a function is much smaller than the code in almost all cases, and requires no computation whereas the code
1 reply 1 retweet 4 likes -
took a lot of computation to generate. Yet somehow the linkers are so slow and complicated. It is just a pile of garbage. The solution is not to make the pile of garbage bigger. Someone just has to be the adults in the room and see how absurd this all is.
1 reply 1 retweet 5 likes -
I am not against making tools to help alleviate the problems of the current regime, *but* I think it is critical that these tools be explicitly aiming to elide all the current garbage complexity as an end-goal. Otherwise we are just making the pile bigger.
1 reply 1 retweet 9 likes -
So when talking about the problems of the current tools, I think it is important not to give those tools respect they don't deserve. It's not like this problem happened despite everyone's best efforts. It happened because a bunch of people fell asleep and didn't care.
1 reply 2 retweets 8 likes -
Replying to @Jonathan_Blow @1st_C_Lord
I agree, but didn't quite understand what you're referring to when you say "The solution is not to make the pile of garbage bigger". mold is a completely new linker in 10KLOC that can link Firefox, Chrome, etc. in about ~1.5 seconds, approaching SSD speeds.
3 replies 0 retweets 2 likes -
The solution he's talking about is getting rid of linkers altogether
1 reply 0 retweets 1 like -
Or if one is going to have them, making those linkers stick around as daemons with state that will inevitably f up (as mold does, for seemingly no actual good reason) is one step more pile than having them be stateless as they are now.
2 replies 0 retweets 2 likes -
I agree regarding statefulness vs. statelessness in general, but I also think that there's a limit to what you can do when computing something from scratch *each and every time*. IMO, a lot of efficiency is left on the table because we do the same things over and over again.
2 replies 0 retweets 0 likes
Yes, but if the thing being done over and over again is coalescence of large amounts of redundant data that are not needed in the first place, the obvious better solution is not to make all the redundant data.
-
-
Absolutely agree, and I get now what you mean, especially in the context of compilers & linkers.
0 replies 0 retweets 1 likeThanks. Twitter will use this to make your timeline better. UndoUndo
-
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.