Re: [racket-dev] Why did DrDr get much slower?

2013-07-14 Thread Matthew Flatt
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?

2013-07-13 Thread Sam Tobin-Hochstadt
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?

2013-07-13 Thread Robby Findler
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?

2013-07-13 Thread Sam Tobin-Hochstadt
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?

2013-07-13 Thread Sam Tobin-Hochstadt
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?

2013-07-13 Thread Jay McCarthy
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