in reply to Re: Re: Profiling a forking program
in thread Profiling a forking program

If your web front-end is triggering writes to the DBM file, and if the quantity of additions/updates is significant, then the problem may be in the DBM module. You could try benchmarking just that part of the application, with or without multiple threads but making sure to simulate a reasonably heavy load of data to be absorbed. (E.g. I know that GDBM really crawls once you start adding data beyond a certain threshold, I think because it has to re-write its entire index at intervals.)

But on the other hand, maybe moving to an RDBMS needn't be so far off as you seem to think -- MySql won't be that hard to install, and getting it working within your current perl/web framework might be easier than you expect. That's worth looking at, seriously.

  • Comment on Re: Re: Re: Profiling a forking program

Replies are listed 'Best First'.
Re^4: Profiling a forking program
by Aristotle (Chancellor) on Oct 17, 2002 at 13:31 UTC
    And you don't even need to install mySQL to begin with. DBD::SQLite uses the brillant SQLite embeddable SQL engine. And Tie::DBI lets you work with much the same code you already have working with a DBM library. I'm seriously considering forgoing DBM entirely whenever I want to use one in favour of these modules (minus Tie::DBI possibly ie writing my own SQL, depending on mood).

    Makeshifts last the longest.