in reply to Perl Debugger degrades performance when reading large spreadsheet

The debugger is slow, that's a fact!

It's using callbacks from DB:: namespace for each command, so you might be able to write wrappers for Spreadsheet::Read calls and locally replace those callbacks with faster dummies.

No idea how much you'll gain.

I also remember a YAPC talk from some Booking guys about speeding up the debugger, maybe it helps looking there.

see also perldebug, perl5db, perldebguts

edit

Have also a look at DB::sub()

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re^2: Perl Debugger degrades performance when reading large spreadsheet
by boleary (Scribe) on Aug 31, 2021 at 12:01 UTC

    Thanks Rolf! With some further searching I found a module called Enbugger::perl5db
    It looks like it might be able to turn off/on the debugger
    Actually it turns on the debugger, but can't be used to turn it off..
    But that may be all I need :)

        I would do that too if I had any idea what you mean :)

        Could you give me an example of what you mean by modifying the callback?
        I like the idea of altering DB::sub
        Since I have not clue what I'm doing, I tried deleting all the spreadsheet subs using:

        map {delete $DB::sub{$_}} grep {/spreadsheet/i} keys %DB::sub
        The first time I ran after that, it saved me 10 seconds,
        but that wasn't repeatable, and I'm pretty sure it had no effect at all.
        because its way after all the subroutine calls get replaced with the call to &DB::sub(args)

        I'm going to punt on this because I think I've already wasted more time than I'll ever recover :)
        But thanks for your help!