Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Reducing the memory usage of Spreadsheet::ParseExcel

by dragonchild (Archbishop)
on Aug 03, 2004 at 17:29 UTC ( #379753=note: print w/replies, xml ) Need Help??


in reply to Reducing the memory usage of Spreadsheet::ParseExcel

Would it be possible to convert the data structures used to ones that are less memory-consuming? For example, I know you use hashrefs. What about using arrayrefs and constants for the indices? That should reduce memory usage by about 15%. Also, you could move to an inside-out objects type of structure, which would help even more here because you have lots of little structures.

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested

  • Comment on Re: Reducing the memory usage of Spreadsheet::ParseExcel

Replies are listed 'Best First'.
Re^2: Reducing the memory usage of Spreadsheet::ParseExcel
by jmcnamara (Monsignor) on Aug 09, 2004 at 13:17 UTC

    Valid points but just to clarify, Takanori Kawai wrote and maintains Spreadsheet::ParseExcel. I am the positron to his electron. :-)

    --
    John.

      *blushes* I saw one module and responded about another. :-)

      ------
      We are the carpenters and bricklayers of the Information Age.

      Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      I shouldn't have to say this, but any code, unless otherwise stated, is untested

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://379753]
help
Chatterbox?
[ambrus]: Corion: as for that, I talked with schmorp, and looked a bit more at Prima
[ambrus]: Corion: from the docs, it definitely looks like it would be possible to write an AnyEvent driver for it using Prima::File and Prima::Timer.
[ambrus]: (I haven't found an idle event.)
[ambrus]: However, I also looked at the internals, and found two interesting things:
[marto]: stupid xpath question, I have a xpath copied from the browser, is the * wildcard supposed to work for IDs? e.g. '//*[@id="*"]/ div/div/header/p/a '?
[ambrus]: The main loop for unixish systems is in https://metacpan. org/source/ KARASIK/Prima-1. 49/unix/apc_app.c. It is a hand-rolled select loop, but also always spins at least once every 0.2 seconds for some reason.
[ambrus]: marto: no, not that way. if you just want to test for an existing id attribute, then write *[@id] , or you can match a regexp to the value of that attribute like *[@id=~/something/ ]
[marto]: ambrus, thanks I ended up going with '//*[starts- with(@id, "thread_")]...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2016-12-08 10:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (140 votes). Check out past polls.