git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Avoid recalculating filename string pointer.
@ 2007-11-22  0:59 André Goddard Rosa
  2007-11-22 19:54 ` Mike Hommey
  2007-11-25 21:43 ` [Resend PATCH] " André Goddard Rosa
  0 siblings, 2 replies; 4+ messages in thread
From: André Goddard Rosa @ 2007-11-22  0:59 UTC (permalink / raw)
  To: gitster; +Cc: Git Mailing List

[-- Attachment #1: Type: text/plain, Size: 1288 bytes --]

Hi, all!

    Please cc: me as I'm not subscribed. I'm sending the patch inline
only for review, probably it is mangled.
    Please use the attached patch if you agree with it. Sorry about
sending it attached.

>From b6b05d9f8d8e053df4e971cd229e03b778c4d163 Mon Sep 17 00:00:00 2001
From: Andre Goddard Rosa <andre.goddard@gmail.com>
Date: Tue, 27 Nov 2007 10:17:54 -0200
Subject: [PATCH] Avoid recalculating filename string pointer.

Signed-off-by: Andre Goddard Rosa <andre.goddard@gmail.com>
---
 fast-import.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fast-import.c b/fast-import.c
index 98c2bd5..2d262eb 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2304,11 +2304,13 @@ int main(int argc, const char **argv)
 		else if (!prefixcmp(a, "--export-marks="))
 			mark_file = a + 15;
 		else if (!prefixcmp(a, "--export-pack-edges=")) {
+			char *filename = a + 20;
+
 			if (pack_edges)
 				fclose(pack_edges);
-			pack_edges = fopen(a + 20, "a");
+			pack_edges = fopen(filename, "a");
 			if (!pack_edges)
-				die("Cannot open %s: %s", a + 20, strerror(errno));
+				die("Cannot open %s: %s", filename, strerror(errno));
 		} else if (!strcmp(a, "--force"))
 			force_update = 1;
 		else if (!strcmp(a, "--quiet"))
-- 
1.5.3.6.861.gd794-dirty

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0003-Avoid-recalculating-filename-string-pointer.patch --]
[-- Type: text/x-patch; name=0003-Avoid-recalculating-filename-string-pointer.patch, Size: 1077 bytes --]

From b6b05d9f8d8e053df4e971cd229e03b778c4d163 Mon Sep 17 00:00:00 2001
From: Andre Goddard Rosa <andre.goddard@gmail.com>
Date: Tue, 27 Nov 2007 10:17:54 -0200
Subject: [PATCH] Avoid recalculating filename string pointer.

Signed-off-by: Andre Goddard Rosa <andre.goddard@gmail.com>
---
 fast-import.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fast-import.c b/fast-import.c
index 98c2bd5..2d262eb 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2304,11 +2304,13 @@ int main(int argc, const char **argv)
 		else if (!prefixcmp(a, "--export-marks="))
 			mark_file = a + 15;
 		else if (!prefixcmp(a, "--export-pack-edges=")) {
+			char *filename = a + 20;
+
 			if (pack_edges)
 				fclose(pack_edges);
-			pack_edges = fopen(a + 20, "a");
+			pack_edges = fopen(filename, "a");
 			if (!pack_edges)
-				die("Cannot open %s: %s", a + 20, strerror(errno));
+				die("Cannot open %s: %s", filename, strerror(errno));
 		} else if (!strcmp(a, "--force"))
 			force_update = 1;
 		else if (!strcmp(a, "--quiet"))
-- 
1.5.3.6.861.gd794-dirty


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Avoid recalculating filename string pointer.
  2007-11-22  0:59 [PATCH] Avoid recalculating filename string pointer André Goddard Rosa
@ 2007-11-22 19:54 ` Mike Hommey
  2007-11-22 20:21   ` Junio C Hamano
  2007-11-25 21:43 ` [Resend PATCH] " André Goddard Rosa
  1 sibling, 1 reply; 4+ messages in thread
From: Mike Hommey @ 2007-11-22 19:54 UTC (permalink / raw)
  To: André Goddard Rosa; +Cc: gitster, Git Mailing List

On Wed, Nov 21, 2007 at 10:59:41PM -0200, André Goddard Rosa wrote:
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -2304,11 +2304,13 @@ int main(int argc, const char **argv)
>  		else if (!prefixcmp(a, "--export-marks="))
>  			mark_file = a + 15;
>  		else if (!prefixcmp(a, "--export-pack-edges=")) {
> +			char *filename = a + 20;
> +
>  			if (pack_edges)
>  				fclose(pack_edges);
> -			pack_edges = fopen(a + 20, "a");
> +			pack_edges = fopen(filename, "a");
>  			if (!pack_edges)
> -				die("Cannot open %s: %s", a + 20, strerror(errno));
> +				die("Cannot open %s: %s", filename, strerror(errno));
>  		} else if (!strcmp(a, "--force"))
>  			force_update = 1;
>  		else if (!strcmp(a, "--quiet"))

Normally, the compiler takes care of such optimizations. It actually
takes care of it much better than you can do yourself, and doing it
yourself can even sometimes generate less optimized code because it
gets in the compiler optimizations'way.

Mike

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Avoid recalculating filename string pointer.
  2007-11-22 19:54 ` Mike Hommey
@ 2007-11-22 20:21   ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2007-11-22 20:21 UTC (permalink / raw)
  To: Mike Hommey; +Cc: André Goddard Rosa, Git Mailing List

Mike Hommey <mh@glandium.org> writes:

> On Wed, Nov 21, 2007 at 10:59:41PM -0200, André Goddard Rosa wrote:
>> --- a/fast-import.c
>> +++ b/fast-import.c
>> @@ -2304,11 +2304,13 @@ int main(int argc, const char **argv)
>>  		else if (!prefixcmp(a, "--export-marks="))
>>  			mark_file = a + 15;
>>  		else if (!prefixcmp(a, "--export-pack-edges=")) {
>> +			char *filename = a + 20;
>> +
>>  			if (pack_edges)
>>  				fclose(pack_edges);
>> -			pack_edges = fopen(a + 20, "a");
>> +			pack_edges = fopen(filename, "a");
>>  			if (!pack_edges)
>> -				die("Cannot open %s: %s", a + 20, strerror(errno));
>> +				die("Cannot open %s: %s", filename, strerror(errno));
>>  		} else if (!strcmp(a, "--force"))
>>  			force_update = 1;
>>  		else if (!strcmp(a, "--quiet"))
>
> Normally, the compiler takes care of such optimizations. It actually
> takes care of it much better than you can do yourself, and doing it
> yourself can even sometimes generate less optimized code because it
> gets in the compiler optimizations'way.

True, but I think another point of the patch is to address the
risk of two instances of "+ 20" going out of sync if/when the
option parsing is updated.

Not that I think André meant the patch as defensive coding (the
subject suggests it was meant to be a micro-optimization), nor
this is the good way to address that risk factor (parse-options
may be a better match for it).

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Resend PATCH] Avoid recalculating filename string pointer.
  2007-11-22  0:59 [PATCH] Avoid recalculating filename string pointer André Goddard Rosa
  2007-11-22 19:54 ` Mike Hommey
@ 2007-11-25 21:43 ` André Goddard Rosa
  1 sibling, 0 replies; 4+ messages in thread
From: André Goddard Rosa @ 2007-11-25 21:43 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git Mailing List

[-- Attachment #1: Type: text/plain, Size: 1446 bytes --]

Hi, all!

   Avoid calculating string position in 2 different places.

From b6b05d9f8d8e053df4e971cd229e03b778c4d163 Mon Sep 17 00:00:00 2001
From: Andre Goddard Rosa <andre.goddard@gmail.com>
Date: Tue, 27 Nov 2007 10:17:54 -0200
Subject: [PATCH] Avoid recalculating filename string pointer.

Signed-off-by: Andre Goddard Rosa <andre.goddard@gmail.com>
---
 fast-import.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fast-import.c b/fast-import.c
index 98c2bd5..2d262eb 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2304,11 +2304,13 @@ int main(int argc, const char **argv)
                else if (!prefixcmp(a, "--export-marks="))
                        mark_file = a + 15;
                else if (!prefixcmp(a, "--export-pack-edges=")) {
+                       char *filename = a + 20;
+
                        if (pack_edges)
                                fclose(pack_edges);
-                       pack_edges = fopen(a + 20, "a");
+                       pack_edges = fopen(filename, "a");
                        if (!pack_edges)
-                               die("Cannot open %s: %s", a + 20,
strerror(errno));
+                               die("Cannot open %s: %s", filename,
strerror(errno));
                } else if (!strcmp(a, "--force"))
                        force_update = 1;
                else if (!strcmp(a, "--quiet"))
--
1.5.3.6.861.gd794-dirty



-- 
[]s,
André Goddard

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0003-Avoid-recalculating-filename-string-pointer.patch --]
[-- Type: text/x-patch; name=0003-Avoid-recalculating-filename-string-pointer.patch, Size: 1077 bytes --]

From b6b05d9f8d8e053df4e971cd229e03b778c4d163 Mon Sep 17 00:00:00 2001
From: Andre Goddard Rosa <andre.goddard@gmail.com>
Date: Tue, 27 Nov 2007 10:17:54 -0200
Subject: [PATCH] Avoid recalculating filename string pointer.

Signed-off-by: Andre Goddard Rosa <andre.goddard@gmail.com>
---
 fast-import.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fast-import.c b/fast-import.c
index 98c2bd5..2d262eb 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2304,11 +2304,13 @@ int main(int argc, const char **argv)
 		else if (!prefixcmp(a, "--export-marks="))
 			mark_file = a + 15;
 		else if (!prefixcmp(a, "--export-pack-edges=")) {
+			char *filename = a + 20;
+
 			if (pack_edges)
 				fclose(pack_edges);
-			pack_edges = fopen(a + 20, "a");
+			pack_edges = fopen(filename, "a");
 			if (!pack_edges)
-				die("Cannot open %s: %s", a + 20, strerror(errno));
+				die("Cannot open %s: %s", filename, strerror(errno));
 		} else if (!strcmp(a, "--force"))
 			force_update = 1;
 		else if (!strcmp(a, "--quiet"))
-- 
1.5.3.6.861.gd794-dirty


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-25 21:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-22  0:59 [PATCH] Avoid recalculating filename string pointer André Goddard Rosa
2007-11-22 19:54 ` Mike Hommey
2007-11-22 20:21   ` Junio C Hamano
2007-11-25 21:43 ` [Resend PATCH] " André Goddard Rosa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).