-
Notifications
You must be signed in to change notification settings - Fork 364
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ignore preprocessData option #359
Comments
It doesn't do much but you are right that it still loops over the elements anyway. In any case, for such a large dataset, I would definitely use the stream API instead of the synchronous API. You are going to get much better performance and lower memory footprint. |
Do you have any tips on using the stream API in browsers? |
I'm working on a new API to use the streaming API in the browser easily. |
This was released a month ago so I'll close. Feel free to reopen if there is anything else that you think that could be done. |
Oops, I totally missed the merge comment and didn't realize you had already made changes. I'll try it out and create a new issue if necessary. |
Works well, thanks again. |
Does
preprocessData()
do anything ifopts.unwind
andopts.flatten
are not defined? As far as I can tell, it creates a single item array for each row and then concats them back together. This is very inefficient in the browser when working with 100k+ rows.I read that streams are more efficient, but I didn't see any documentation about using this in the browser. Not sure if streams make sense in the browser since everything is in memory anyways.
I was able to "fix" the issue by just overriding the preprocessData function in a very hacky way. I was hoping you'd provide an option to skip preprocessing.
Exporting ~90 fields and ~90k rows went from taking 45+ seconds (or freezing) to a more reasonable 9 seconds.
I'm using v4.3.3 in Chromium v70. Let me know if you need any other data.
The text was updated successfully, but these errors were encountered: