[1585] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[nelhage/barnowl] 590842: BarnOwl::View::Iterator: Don't use trivial accesso...

daemon@ATHENA.MIT.EDU (noreply@github.com)
Thu Oct 29 18:18:21 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@lunatique.mit.edu
Date: Sun, 26 Jul 2009 20:47:55 -0700
To: barnowl-dev@mit.edu
From: noreply@github.com

Branch: refs/heads/barnowl_perlmessages
Home:   http://github.com/nelhage/barnowl

Commit: 5908427645ec0531598ff76f8c442955a1cc6a83
    http://github.com/nelhage/barnowl/commit/5908427645ec0531598ff76f8c442955a1cc6a83
Author: Nelson Elhage <nelhage@mit.edu>
Date:   2009-07-26 (Sun, 26 Jul 2009)

Changed paths:
  M perl/lib/BarnOwl/View/Iterator.pm

Log Message:
-----------
BarnOwl::View::Iterator: Don't use trivial accessors

This code is almost all on critical paths, and the method call
overhead adds up.


Commit: 0c58d34e01433ef753fa8bc3b050838c81506387
    http://github.com/nelhage/barnowl/commit/0c58d34e01433ef753fa8bc3b050838c81506387
Author: Nelson Elhage <nelhage@mit.edu>
Date:   2009-07-26 (Sun, 26 Jul 2009)

Changed paths:
  M perl/lib/BarnOwl/View.pm
  M perl/lib/BarnOwl/View/Iterator.pm

Log Message:
-----------
BarnOwl::View: Cache the most-recently-used range.

Keep track of which range we accessed last, to speed the common case
of lots of operations around the same point.


Commit: 5899b5fda8bdbdce5b2437c98f1671fee195247c
    http://github.com/nelhage/barnowl/commit/5899b5fda8bdbdce5b2437c98f1671fee195247c
Author: Nelson Elhage <nelhage@mit.edu>
Date:   2009-07-26 (Sun, 26 Jul 2009)

Changed paths:
  M perl/lib/BarnOwl/View.pm

Log Message:
-----------
View.pm: Optimize sub message.

Access $_ directly, instead of 'shift'ing into variables. This
decreases time by 40% in one of the hottest subs we have.


Commit: a306bda22172f20198f4b01a2a19ca3c4be5fbb6
    http://github.com/nelhage/barnowl/commit/a306bda22172f20198f4b01a2a19ca3c4be5fbb6
Author: Nelson Elhage <nelhage@mit.edu>
Date:   2009-07-26 (Sun, 26 Jul 2009)

Changed paths:
  M perl/lib/BarnOwl/MessageList.pm

Log Message:
-----------
MessageList: Cache $self->{keys}.

Doing a 'sort' on every iteration is expensive.


Commit: 52b4ed86673098bcbd4b840e66317eeececd9d36
    http://github.com/nelhage/barnowl/commit/52b4ed86673098bcbd4b840e66317eeececd9d36
Author: Nelson Elhage <nelhage@mit.edu>
Date:   2009-07-26 (Sun, 26 Jul 2009)

Changed paths:
  M perlglue.xs

Log Message:
-----------
save_excursion: Fix perl API error.

We need to save a mark and SPAGAIN around call_* macros. The old
behavior caused out-of-bounds stack dereferences and segfaults.


Commit: cdec266ccbe8b6ef09f6a29f61b0637c3be599e9
    http://github.com/nelhage/barnowl/commit/cdec266ccbe8b6ef09f6a29f61b0637c3be599e9
Author: Nelson Elhage <nelhage@mit.edu>
Date:   2009-07-26 (Sun, 26 Jul 2009)

Changed paths:
  M perlglue.xs

Log Message:
-----------
save_excursion: Remove an unnecessary SPAGAIN.



home help back first fref pref prev next nref lref last post