[PATCH] Small date() optimization

php.internals

Matt W

19 years ago
Hi, Just a simple patch for 5.2 to save smart_str_appends()'s strlen() calls in date_format(). It's already done in HEAD. Seems pretty safe for 5.2.1. :-) I also noticed that if the format string contains a backslash as the last character, it is lost (should be printed right?). So I changed that too and attached the patch for HEAD. 5.2's patch: http://realplain.com/php/date_optimization_5_2.diff Matt

Ilia A.

19 years ago
Matt, The backslash removal is actually intentional. It is designed to handle instances such as "\d", in which case the format value is printed as a literal "d". On 22-Dec-06, at 12:06 AM, Matt Wilmas wrote:
> Hi, > > Just a simple patch for 5.2 to save smart_str_appends()'s strlen() > calls in > date_format(). It's already done in HEAD. Seems pretty safe for > 5.2.1. :-) > > I also noticed that if the format string contains a backslash as > the last > character, it is lost (should be printed right?). So I changed > that too and > attached the patch for HEAD. > > 5.2's patch: > http://realplain.com/php/date_optimization_5_2.diff > > > Matt > <date_backslash.diff.txt> > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php
Ilia Alshanetsky

Matt W

19 years ago
Hi Ilia, Oh I know that. :-) I'm just talking about if there's a backslash as the last character. For example, date('U\\') (U\ passed after script parsing), the backslash is gone, which doesn't seem correct... (Actually, it "appends" the '\0'.) Matt ----- Original Message ----- From: "Ilia Alshanetsky" Sent: Friday, December 22, 2006

Ilia A.

19 years ago
I think this is actually a desired behavior, I do not want to change how the existing code works in patch level release. Otherwise the patch is fine and I've already applied it to the CVS. On 22-Dec-06, at 10:20 AM, Matt Wilmas wrote:
> Hi Ilia, > > Oh I know that. :-) I'm just talking about if there's a backslash > as the > last character. For example, date('U\\') (U\ passed after script > parsing), > the backslash is gone, which doesn't seem correct... (Actually, it > "appends" the '\0'.) > > > Matt > > > ----- Original Message ----- > From: "Ilia Alshanetsky" > Sent: Friday, December 22, 2006 > >> Matt, >> >> The backslash removal is actually intentional. It is designed to >> handle instances such as "\d", in which case the format value is >> printed as a literal "d". >> >> >> On 22-Dec-06, at 12:06 AM, Matt Wilmas wrote: >> >>> Hi, >>> >>> Just a simple patch for 5.2 to save smart_str_appends()'s strlen() >>> calls in >>> date_format(). It's already done in HEAD. Seems pretty safe for >>> 5.2.1. :-) >>> >>> I also noticed that if the format string contains a backslash as >>> the last >>> character, it is lost (should be printed right?). So I changed >>> that too and >>> attached the patch for HEAD. >>> >>> 5.2's patch: >>> http://realplain.com/php/date_optimization_5_2.diff >>> >>> >>> Matt >> >> Ilia Alshanetsky > >
Ilia Alshanetsky