-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prodigy slows down processes with a lot of logging output #36
Comments
That sure is a slow app! :) I have tried out three different Rails apps with Prodigy and not noticed that it is any slower.
I'm not an expert on processing, but I guess Prodigy processes will be sub-processes of the Emacs process? I don't know if requests to processes go via Emacs or directly to that process. Will have to read up a bit more on that. |
Yeah, I've been diagnosing performance problems :) (not open source unfortunately). I'll look into it when I have a chance--just wanted to open the issue to track progress/discuss (I'm also running 24.3.1 on OSX). |
Ok, great. Maybe there are others with similar issues? |
Well, I had a process that was outputting a lot of log messages - and it was terribly slow. But fixing that solved my issue. |
The issue does appear to be logging-related after all--I disabled stdout logging from the app, and the times went back to normal. However, the fact that it was slow even when disabling logging at the prodigy level makes me think it's related to the way Emacs deals with output from inferior processes, so I'm not sure if #37 or #23 will necessarily help that much (although it's worth trying, and they could still be useful). |
If you remove the |
Yeah, with |
Hmm, ok. Emacs usually have decent documentation, so I think we should start there. Then if we cannot figure it out from that, we could always ask on their mailing list. Maybe someone has an idea. |
Having worked with this for a while, I think this is best dealt with on the level of the service, rather than prodigy (e.g. by logging directly to a file from the service or wrapping in a shell script that redirects output). |
I have experienced that services running via Prodigy can be a little slower, but I cant figure out why they would other than it's limitations in Emacs, hence nothing we can do, except what you say. Who knows, if Emacs ever adds support for threads, this might work better. |
For a slow rails app with response times of ~17s when running the server from the terminal, responses went to ~50s when running the server through prodigy. I thought it might be logging-related, so I disabled logging entirely (with
(setq prodigy-process-on-output-hook nil)
), but the results were the same. I'm not sure whether this is necessarily solvable or an inherent problem with Emacs inferior processes, but it's probably worth looking into.The text was updated successfully, but these errors were encountered: