Topic: Increasing undo memory allocation size (1 of 6), Read 22 times
Conf: VEDIT Suggestions
From: Lee Jackson
Date: Monday, December 12, 2005 11:15 PM

I don't know why it took me so long to find out about this, but it did and I'm a bit surprised by what I've discovered. I got the following error message the other day when doing a major block delete in a somewhat large file (just over 1 meg):

"Cannot undo this operation! Proceed anyway? [Yes] [No]"

Now, this was in VEDIT Pro64, which claims to be able to handle files over 100 gigabytes in size, and it was on a disk that has over 150 gigs of free space. So, as you can imagine, I was quite taken aback. I found the following explanation in the help file and manual PDF:

"When deleting large blocks of text, VEDIT must save this text in memory in case you want to "undo" the deletion. VEDIT allocates at most 256K (64K for 16-bit DOS version) for deleted text."

IMHO, this limitation is a bit behind the times, considering the growing size of files used regularly today (the one in question was just a normal bookmarks.html export from Firefox). It also would seem to lag behind the increasing amount of RAM (1 GB personally) and disk space available in many of today's systems.

Is there any chance of increasing this limit for the next release, preferably by a very large amount? Thanks!

 


Topic: Re: Increasing undo memory allocation size (2 of 6), Read 20 times
Conf: VEDIT Suggestions
From: Ted Green
Date: Tuesday, December 13, 2005 11:26 AM

At 11:16 PM 12/12/2005, you wrote:
>"When deleting large blocks of text, VEDIT must save this text in memory in case you want to "undo" the deletion. VEDIT allocates at most 256K (64K for 16-bit DOS version) for deleted text."
>
>IMHO, this limitation is a bit behind the times, considering the growing size of files used regularly today (the one in question was just a normal bookmarks.html export from Firefox). It also would seem to lag behind the increasing amount of RAM (1 GB personally) and disk space available in many of today's systems.
>
>Is there any chance of increasing this limit for the next release, preferably by a very large amount? Thanks!

The code has already been changed to allow arbitrary Undo buffer sizes. I plan to address this next year and perhaps have a config value for maximum memory usage.

Ted.

 


Topic: Re: Increasing undo memory allocation size (3 of 6), Read 10 times
Conf: VEDIT Suggestions
From: Pauli Lindgren
Date: Wednesday, February 04, 2009 04:41 AM

On 12/13/2005 11:26:06 AM, Ted Green wrote:
>At 11:16 PM 12/12/2005, you
>wrote:
>>"When deleting large blocks of text, VEDIT must save this text in memory in case you want to "undo" the deletion. VEDIT allocates at most 256K (64K for 16-bit DOS version) for deleted text."
>>
>>IMHO, this limitation is a bit behind the times, considering the growing size of files used regularly today (the one in question was just a normal bookmarks.html export from Firefox). It also would seem to lag behind the increasing amount of RAM (1 GB personally) and disk space available in many of today's systems.
>>
>>Is there any chance of increasing this limit for the next release, preferably by a very large amount? Thanks!
>
>The code has already been changed to allow arbitrary
>Undo buffer sizes. I plan to address this next year and
>perhaps have a config value for maximum memory usage.
>
>Ted.

Has there been any progress in this improvement?

Now that PC's have gigabytes of memory, all limits like this could be increased.
In addition to the 256k limit for deleted text, undo has other limits:
- Max 1000 undo steps
- Max 5 deletions (for Undo Deletion)

Then there are other limits, such as max size of text register, size of edit buffer (which is a limit if you do not have a file open in that buffer), max length of search string etc.

--
Pauli

 


Topic: Re: Increasing undo memory allocation size (4 of 6), Read 11 times
Conf: VEDIT Suggestions
From: Ted Green
Date: Wednesday, February 04, 2009 06:34 PM

At 04:56 AM 2/4/2009, you wrote:
>>>IMHO, this limitation is a bit behind the times, considering the growing size of files used regularly today (the one in question was just a normal bookmarks.html export from Firefox). It also would seem to lag behind the increasing amount of RAM (1 GB personally) and disk space available in many of today's systems.
>>>
>>>Is there any chance of increasing this limit for the next release, preferably by a very large amount? Thanks!

I am not giving this a very high priority right now. I may make some of these numbers configurable in the vedit.ini file, as that is loaded before VEDIT inits memory.

BTW - Here is what I have been working on:

We (mostly Gabe) has almost finished the HTML-format version of VEDIT's on-line help and the resulting .chm file. Mostly cosmetic things now.

I have spent the past two weeks writing a regular expression (RE) interpreter in C for one of our anti-spam products. (Yes, Perl and Ruby have built-in regular expressions, but we still had need for an interpreter.) This relates to VEDIT as I want to add full group processing to VEDIT's RE, e.g. things like: (a+b+){3,4}cde

While understanding complex RE is hard enough, implementing them leads to insanity. ;-)

Ted.

 


Topic: Re: Increasing undo memory allocation size (5 of 6), Read 13 times
Conf: VEDIT Suggestions
From: Christian Ziemski
Date: Sunday, February 08, 2009 11:15 AM

On 05.02.2009 00:58 in vedit-suggest Ted Green wrote:
>
> I have spent the past two weeks writing a regular expression (RE)
> interpreter in C for one of our anti-spam products. (Yes, Perl and
> Ruby have built-in regular expressions, but we still had need for an
> interpreter.) This relates to VEDIT as I want to add full group
> processing to VEDIT's RE, e.g. things like: (a+b+){3,4}cde
>
> While understanding complex RE is hard enough, implementing them
> leads to insanity. ;-)

I'm reading Jeffrey Friedl's "Mastering Regular Expressions" right now.
Fascinating!
... and you are implementing your own regex engine. WOW!

Good luck!

Christian

 


Topic: Re: Increasing undo memory allocation size (6 of 6), Read 7 times
Conf: VEDIT Suggestions
From: Ted Green
Date: Monday, February 09, 2009 10:17 AM

At 09:45 AM 2/8/2009, you wrote:
>From: "Christian Ziemski"
>
>On 05.02.2009 00:58 in vedit-suggest Ted Green wrote:
>>
>> I have spent the past two weeks writing a regular expression (RE)
>> interpreter in C for one of our anti-spam products. (Yes, Perl and
>> Ruby have built-in regular expressions, but we still had need for an
>> interpreter.) This relates to VEDIT as I want to add full group
>> processing to VEDIT's RE, e.g. things like: (a+b+){3,4}cde
>>
>> While understanding complex RE is hard enough, implementing them
>> leads to insanity. ;-)
>
>I'm reading Jeffrey Friedl's "Mastering Regular Expressions" right now.
>Fascinating!
>... and you are implementing your own regex machine. WOW!

Full Regular Expression (RE) are usually implemented as finite-state machines; i.e. a specific RE is compiled into an optimized program which performs that specific match. There is a bit of overhead in compiling, but then the search is optimized.

The RE in VEDIT are mostly interpreted; however we prescan the RE and convert classes (e.g. [a-zA-Z]) into lookup tables.
As you know, VEDIT does not fully implement groups, e.g. you can use (...)+, (...){1,6}, etc.

The RE I implemented for our antispam product is also interpreted. Since it might run 1000 RE on a 5K buffer, it would take more CPU time to compile the RE than to interpret them.
Also, I don't need or even want full RE as they are error prone, especially in a time-pressured environment.

Ted.