If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Javascript debugging (venkman hooks) should not be enabled at startup by default

VERIFIED WONTFIX

Status

Other Applications
Venkman JS Debugger
VERIFIED WONTFIX
15 years ago
13 years ago

People

(Reporter: Dan Dickerman, Assigned: Robert Ginda)

Tracking

Trunk
Other
Other

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

15 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021016
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021016

In troubleshooting slow allocations for bug 123668, I noticed that a
considerable fraction of the time in js_NewObject() was spent in the
objectHook(), which apparently has a notable performance slowdown when several
thousand objects have been allocated (branched-off into bug 176087).  At a
minimum, 1/4 of js_NewObject's time is in the hook, typically 1/2, and in the
problem case almost all of the allocator's time was spent here, increasing the
time for object allocations 100-fold, dramatically increasing page-load time to
the order of 10s of seconds (on a fast machine).

Pointed-out in this discussion was the fact that the objectHook is only called
when venkman, the Javascript debugger, is enabled and should otherwise be null.
 While I did have venkman installed, I had not directly enabled it: it was on at
startup by default, and needed to be turned-off to disable the hooks.

While I take the point that it is often convenient to have venkman collecting
data before the debugger window is opened when writing javascript pages, there
are far more "end users" out there than javascript programmers, or even casual
debuggers (who would install venkman by intent rather than by accident) who
spend more time surfing the pages than writing them.  In either of these cases,
it would be better to have the default behavior of leaving venkman off, and not
pay the performance penalty in the general case.  When debugging, one can then
switch-on the desired behavior with the "/startup-init" command only when needed.

Reproducible: Always

Steps to Reproduce:




The default state of venkman's /startup-init feature is governed by the line:
jsds.initAtStartup = true;
        jsds.initAtStartup = true;
in Module.registerSelf from extensions/venkman/js/venkman-service.js
(Assignee)

Comment 1

15 years ago
Casual users and non-debugger users who care about this performance hit should
not install the debugger, or should use a Netscape release.

If we don't enable init-at-startup by default, real debugger users suffer.  This
*was* off by default, and folks couldn't figure out how to use the debugger as a
result.

The real-world performance hit isn't enough to justify turning this off.  As I
recall, the page load tests saw about a 1% hit.  See also,
http://bugzilla.mozilla.org/show_bug.cgi?id=157638#c3.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → WONTFIX
verified.
Status: RESOLVED → VERIFIED
Product: Core → Other Applications
You need to log in before you can comment on or make changes to this bug.