Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah, strace/dtrace/truss/whatever is your friend, but it seems like it is probably alien to most Ruby developers given how many obvious performance issues you can spot with it (then again, most developers in general seemingly have never bothered to look at a trace of their apps)

I don't think Bundler and Rubygems' path handling would ever have been written and released in the state they are now if someone had seriously looked at the actual system calls it generates for any app with dependencies on more than 2-3 gems....

Especially because there's a simple-ish solution: create manifests of files for each gem, load them, and check a hash of the combined set of files first, and fall back to a much trimmed down load path if the file isn't from any of the specified gems. Bundler could even easily create an aggregate manifest of all the gems the app depends on to make the check very cheap.

I keep meaning to try to hack something together, but for now I have something half-assed that cuts enough seconds of my app start times that I haven't been able to prioritise it.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: