-
-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
iget_records
leaks memory when column count 15,000+
#198
Comments
Could you experiment with |
To wrap this, I did try |
Would you like to try: https://github.com/pyexcel/pyexcel-xlsxr? |
Any fixtures for me to reproduce? |
The title is a little accusatory but this is currently the most likely cause to an issue I'm having 馃檹 馃槃
I have a client who is uploading an
.xlsx
file to a service usingpyexcel
to parse it. The client somehow managed to get a little over 16,000 columns in the latest sheet they uploaded and our hosted server died. Were usingiget_records
along withfree_resources
. Reading the docs this should allow us to iterate a single row in memory at a time - not reading the entire file at once (seen here and here)The Issue
With
.xlsx
files having columns less that 200 the memory is managed correctly. Using a profiler I can see that the block iterating theiget_records
generator increases the process' memory space by about one row, then dumps it on the next iteration. However, when parsing a file with over 15,000 columns the profiling indicates that the memory space allocated for each row yielded byiget_records
is not dumped at the end of the block. The process memory soars over 3G in around 20 seconds.Reproducability
My powers that be aren't as hip on open source as you --- my thanks and apologies to you for your hard work --- so I can't post exactly what we have. I wanted to get this posted to start the dialog and get your feedback @chfw I'm gonna start working on a small reproducible script/test.
Similar Issue
I see #131 has a similar story. However, it referes to
iget_array
- possibly this is just the same foriget_records
?The text was updated successfully, but these errors were encountered: