-
Notifications
You must be signed in to change notification settings - Fork 23
Plans to update for Julia 1.0? #200
Comments
There has recently been a lot of development around https://github.com/JuliaDebug/Debugger.jl and https://github.com/JuliaDebug/JuliaInterpreter.jl |
We should archive this repo and mention clearly that the new repo is Debugger.jl. |
Hopefully, some day there will be renewed development here. Despite rapid recent progress with JuliaInterpreter and the associated stack, there's still lots of reason to be interested in interfacing with native-code call stacks. Most importantly, JuliaInterpreter is going to be slow (currently ~1000x slower than native code in hot-loop array iteration tasks). While I think we can obtain further performance improvements, directly messing with CPU instructions is probably the only solution that can avoid any kind of performance hit. That said, it's a big undertaking. For the forseeable future, JuliaInterpreter is clearly the way to go. |
I think the right approach is to gradually improve the compiler tech of |
Exactly, that's why I started down that road---get something reasonable up and running, and then get it widely used. Preserve that usability as you incrementally move forward. Sometimes that makes it a bit harder to do really big rewrites, but in the mean time you've accumulated a serious test suite and you can feel much better about being sure those rewrites aren't breaking lots of stuff. And there is a path towards improving the compiler tech in JuliaInterpreter (Debugger.jl is a pretty thin shell, the heavy lifting is in JuliaInterpreter). Two key steps:
I'll be shocked if the second of these doesn't buy us at least one order of magnitude, maybe two. It will still be well behind non-instrumented code, but only by one array-store per update to a local variable. I bet that will be at most a 10x hit for the majority of code. |
Why is it a big deal that the interpreter is fast? At least for debugging performance doesn't seem like a big issue. You are stepping through the code anyway line by line. |
Breakpoints can be set in code that is only called deep in a lot of other code. |
If you want to appreciate the importance,
|
BTW, my latest thoughts on performance are here: JuliaDebug/JuliaInterpreter.jl#204. You'll see there's a pretty clean solution, I think, but a technical problem needs to be addressed first. I suspect that strategy has a chance of quickly getting us to something that's reasonably close to normal performance for most workloads.. |
Since there's been no activity in this repo for quite some time, I was just wondering what the roadmap looks like for the project, and whether it has been superceded by another package.
Thanks!
Oliver
The text was updated successfully, but these errors were encountered: