Re: [racket-dev] Why did DrDr get much slower?
At Sat, 13 Jul 2013 10:55:20 -0400, Sam Tobin-Hochstadt wrote: On Sat, Jul 13, 2013 at 10:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: This slowdown seems to be real on my machine as well -- realm/chapter2/source.rkt runs more than twice as slow in rev bd09a60e as it does in v5.3.5. I'm testing the revision right before `filesystem-change-evt` now. The slowdown is indeed at the revision where `filesystem-change-evt` was introduced, at least on my Linux x64 machine. It looks like inotify() operations are slow on some installations. The program below takes little CPU time, but on some machines that I've tried, it takes many tens or even hundreds of milliseconds in real time. On those machines, Racket ends up waiting around a lot for inotify() to set up filesystem watches on collection-link files. For now, I've disabled inotify()-based `filesystem-change-evt'. #include sys/inotify.h #include stdio.h #include errno.h #define N 1 int main() { int fd, wd; int i; for (i = 0; i N; i++) { fd = inotify_init(); if (fd == -1) printf(failed %d\n, errno); wd = inotify_add_watch(fd, a.out, (IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_TO | IN_ATTRIB | IN_ONESHOT)); if (wd == -1) printf(failed %d\n, errno); close(fd); } return 0; } _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] Why did DrDr get much slower?
The DrDr running time tripled recently. This doesn't seem to be a result of any one thing getting slower, but instead of all the files taking longer. To pick two random examples, `racket/lib/collects/racket/match/parse-quasi.rkt` went from ~1 second to ~4 seconds, and `pkgs/realm/chapter2/source.rkt` went from ~1.5 seconds to ~3 seconds. You can see the charts here: http://drdr.racket-lang.org/27103/racket/lib/collects/racket/match/parse-quasi.rkt http://drdr.racket-lang.org/27103/pkgs/realm/chapter2/source.rkt The change where this happened was Matthew's addition of `filesystem-change-evt`, which was intended to make things faster. This slowdown seems to be real on my machine as well -- realm/chapter2/source.rkt runs more than twice as slow in rev bd09a60e as it does in v5.3.5. I'm testing the revision right before `filesystem-change-evt` now. Sam _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Why did DrDr get much slower?
Just as an aside, drdr rules. Robby On Sat, Jul 13, 2013 at 9:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.eduwrote: The DrDr running time tripled recently. This doesn't seem to be a result of any one thing getting slower, but instead of all the files taking longer. To pick two random examples, `racket/lib/collects/racket/match/parse-quasi.rkt` went from ~1 second to ~4 seconds, and `pkgs/realm/chapter2/source.rkt` went from ~1.5 seconds to ~3 seconds. You can see the charts here: http://drdr.racket-lang.org/27103/racket/lib/collects/racket/match/parse-quasi.rkt http://drdr.racket-lang.org/27103/pkgs/realm/chapter2/source.rkt The change where this happened was Matthew's addition of `filesystem-change-evt`, which was intended to make things faster. This slowdown seems to be real on my machine as well -- realm/chapter2/source.rkt runs more than twice as slow in rev bd09a60e as it does in v5.3.5. I'm testing the revision right before `filesystem-change-evt` now. Sam _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Why did DrDr get much slower?
Indeed -- I'd have had no idea this happened at all. On Sat, Jul 13, 2013 at 10:53 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Just as an aside, drdr rules. Robby On Sat, Jul 13, 2013 at 9:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: The DrDr running time tripled recently. This doesn't seem to be a result of any one thing getting slower, but instead of all the files taking longer. To pick two random examples, `racket/lib/collects/racket/match/parse-quasi.rkt` went from ~1 second to ~4 seconds, and `pkgs/realm/chapter2/source.rkt` went from ~1.5 seconds to ~3 seconds. You can see the charts here: http://drdr.racket-lang.org/27103/racket/lib/collects/racket/match/parse-quasi.rkt http://drdr.racket-lang.org/27103/pkgs/realm/chapter2/source.rkt The change where this happened was Matthew's addition of `filesystem-change-evt`, which was intended to make things faster. This slowdown seems to be real on my machine as well -- realm/chapter2/source.rkt runs more than twice as slow in rev bd09a60e as it does in v5.3.5. I'm testing the revision right before `filesystem-change-evt` now. Sam _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Why did DrDr get much slower?
On Sat, Jul 13, 2013 at 10:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: This slowdown seems to be real on my machine as well -- realm/chapter2/source.rkt runs more than twice as slow in rev bd09a60e as it does in v5.3.5. I'm testing the revision right before `filesystem-change-evt` now. The slowdown is indeed at the revision where `filesystem-change-evt` was introduced, at least on my Linux x64 machine. Sam _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Why did DrDr get much slower?
FWIW, as far as I know, nothing has changed on the DrDr machine. It's not a VM and it doesn't run any other services, so there's nothing taking cycles from Racket. On Sat, Jul 13, 2013 at 8:55 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: On Sat, Jul 13, 2013 at 10:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: This slowdown seems to be real on my machine as well -- realm/chapter2/source.rkt runs more than twice as slow in rev bd09a60e as it does in v5.3.5. I'm testing the revision right before `filesystem-change-evt` now. The slowdown is indeed at the revision where `filesystem-change-evt` was introduced, at least on my Linux x64 machine. Sam _ Racket Developers list: http://lists.racket-lang.org/dev -- Jay McCarthy j...@cs.byu.edu Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay The glory of God is Intelligence - DC 93 _ Racket Developers list: http://lists.racket-lang.org/dev