scholarsmate opened a new issue, #714: URL: https://github.com/apache/daffodil-vscode/issues/714
Now that we can load and edit very large files, we'll need to also handle searching resulting in over 1K matches, and replacing over 1K matches. As a test I created a 1MB file with only the character 'a' in it and tried to do a search. This results in 1M matches, which took only 0.1s. Next I created a file 100M lines with 'CDE' in every line. The file is 1.6BG and the number of matches are 100M, this took XXX. Since search is having scale issues, replace is worse. So in addition to having to manage search, replace is tracking and materializing all of the changes on the fly, so 1M matches results in tracking 2M changes in 1M transactions (the delete of the original token and the insertion of the new token). This took about 3 hours to do, but could take closer to about 0.1s if we did it as a single transaction instead of tracking and materializing all of those individual changes on the fly. If we don't do the large scale replace in a single transaction, then undo really becomes effectively worthless if made some changes, then have 1M transactional changes, going back to the changes you made before running the replacements has been effectively disabled. I view doing the 1M transactions in a single transaction a much more appealing solution for the UI anyway. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
