[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[Cdt-launch-inbox] [Bug 196885] New: Debugger panel's CPU validation causes horrifying slowdowns when target file is on a network drive
|
https://bugs.eclipse.org/bugs/show_bug.cgi?id=196885
Product/Component: CDT / cdt-launch
Summary: Debugger panel's CPU validation causes horrifying
slowdowns when target file is on a network drive
Product: CDT
Version: 4.0
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: normal
Priority: P3
Component: cdt-launch
AssignedTo: cdt-launch-inbox@xxxxxxxxxxx
ReportedBy: dporges@xxxxxxxxxxxxxxx
Build ID: I20070621-1340
Steps To Reproduce:
(CDT 4, WinXP/Cygwin)
1. Have a project that points to files on a network file system, as opposed to
a project on a local disk, or in a local workspace.
2. Have a large target executable, specifically one with numerous sections (elf
sections, in my case)
3. ANY operations in the Debugger configuration panels -- including typing into
the Arguments box -- causes each character to be very slowly echoed. Like, 10
seconds per character.
More information:
Some trace analysis shows that any event in CArgumentsTab, for instance,
bubbles up through some LaunchConfigurations* classes and eventually into
CMainTab.isValid(), which wants to verify that the cpu and debugger match,
which eventually causes a new Elf object to be created and its header, and then
its sections table, to be read. On _every_ _single_ _character_ _typed_.
Oh, and because the underlying java.io class RandomAccessFile is unbuffered, on
Windows the elf file is being read one character at a time, at the system-call
level -- this was seen by using the "procmon" tools from Sysinternals. There
are a couple of places in ERandomAccessFile when multiple calls to
RandomAccessFile.read() (of a single byte each) seem like they could be done
with one of the multiple-byte calls available, but maybe there are platform
alignment issues to some such thing that make that a bad idea, and it's realy
the least of the trouble. Adding some buffering to ERandomAccessFile might
make this all go away.
--
Configure bugzilla e-mail: https://bugs.eclipse.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.