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  
> 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 
#include 
#include 

#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


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  wrote:
> On Sat, Jul 13, 2013 at 10:44 AM, Sam Tobin-Hochstadt  
> 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 
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93
_
  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  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 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
 wrote:
> Just as an aside, drdr rules.
>
> Robby
>
>
> On Sat, Jul 13, 2013 at 9:44 AM, Sam Tobin-Hochstadt 
> 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 Robby Findler
Just as an aside, drdr rules.

Robby


On Sat, Jul 13, 2013 at 9:44 AM, Sam Tobin-Hochstadt 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