bugvile, a vi-compatible text editor - Bugs: bug #49259, Delete line(s) slow in WinVile on...


bug #49259: Delete line(s) slow in WinVile on Windows 10 x64

Submitter:  None
Submitted:  Mon 03 Oct 2016 08:33:09 PM UTC
Category:  None Severity:  3 - Normal
Item Group:  None Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup

Tue 04 Oct 2016 12:15:40 AM UTC, comment #1: 

This sounds like a known problem: poor performance due to
syntax highlighting on large files.  The workaround is to
turn highlighting off before making large changes:

:set nohl

Thomas Dickey <dickey>
Group administrator
Mon 03 Oct 2016 08:33:09 PM UTC, original submission:  

I'm not sure when this became a problem.  However, I noticed it shortly after my PC rebooted from the most recent updates to Windows 10.  Previously this issue did not exist (although I'm remembering something similar from years ago).  I use WinVile daily.  I expect I would have noticed if this problem existed prior to the most recent Windows 10 update.  If it matters, there would have been at least one WinVile window open when Windows 10 forced a restart in order to apply updates.  I have made changes such that Windows 10 will no longer force restarts for updates (forcing Windows 10 to restart to apply updates without confirmation from the user is a terrible choice on the part of Microsoft).  I made no changes to WinVile between when this was not a problem and observing the problem.

One of the things I did after the update was to edit a .reg file where I had stored modifications I had previously made to Windows.  Those modifications were overwritten in the most recent update.

The file I edited was approximately 2MB.

Background, and more information about steps that I took than is probably desired :-).
When editing that file, the first thing I noticed was that deleting a single line was taking a user-noticeable amount of time.  I then decided to try deleting a large number of lines and did "dG" with the cursor a few lines into the file (32,552 total lines in the file).  Performing the delete maxed out one CPU core for an extended period of time.  After waiting an extended time, I just killed the WinVile-wide-ole.exe process.  Later testing shows that doing this would take about 5 minutes to delete 32,531 lines in a single "dG" operation.

Somewhere in the process of getting to where I am now, the Windows Explorer shell extension failed with an error (I did not record the text of the error).  In addition, for a while the sendTo target was in a state where it would fail quietly (process would start, but no window would be shown).  Directly executing WinVile-wide-ole.exe would exhibit the same behavior (no window, but process running). However, the Windows Explorer extension did execute and show a window with the selected file.  These latter issues may have been the result of an error in the files contained within the macros directory as a result of me mistakenly only partially returning them to a known working set of changes.  However, having the directly executed WinVile-wide-ole.exe process silently start (and remain executing), but not display a window, was strange.

In an attempt to fix the slow delete problem, I downloaded and installed WinVile (Unicode) version 9.8r. Previously, I had version 9.8q installed. After re-applying changes to the macros directory, I was left with WinVile functional (both the Explorer extension and SendTo), but still with the long times to accomplish deletes.

Duplicating the long delete time issue (I have restarted the PC between installing 9.8r and trying to duplicate the problem):
I was able to duplicate the long delete times by taking another file (a .js file this time) and doing "yQ" and then inserting, "P", multiple times to make it larger.  The inserts also took longer than expected.  I did not record how long, but they were not as noticeable in length.

After getting the file to about 8MB, I wrote out the file and exited WinVile.

I then restarted WinVile with the 8MB file.  I tried deleting most of the lines in the file using "dG" with the cursor several lines into the file.  Deleting a bit over 71,500 lines took a bit more than 1.5 minutes.  Udoing that delete was instantaneous. Performing "dG" again immediately thereafter took about 1 minute 40 seconds.

With the .reg file it takes approximately 5 minutes to delete 32,531 lines with a single "dG".

Obviously, these times make WinVile unusable for any operation where this is an issue.



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by dickey (Posted a comment)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-b921.
    Corresponding source code