Re: [PATCH v2] macos: lazily initialize iconv

2012-08-10 Thread Torsten Bögershausen
On 31.07.12 20:37, Junio C Hamano wrote: In practice, the majority of paths do not have utf8 that needs the canonicalization. Lazily call iconv_open()/iconv_close() to avoid unnecessary overhead. Signed-off-by: Junio C Hamano gits...@pobox.com Helped-by: Ralf Thielow ralf.thie...@gmail.com

Re: [PATCH v2] macos: lazily initialize iconv

2012-08-10 Thread Junio C Hamano
Torsten Bögershausen tbo...@web.de writes: On 31.07.12 20:37, Junio C Hamano wrote: In practice, the majority of paths do not have utf8 that needs the canonicalization. Lazily call iconv_open()/iconv_close() to avoid unnecessary overhead. Signed-off-by: Junio C Hamano gits...@pobox.com

Re: [PATCH v2] macos: lazily initialize iconv

2012-08-10 Thread Torsten Bögershausen
On 10.08.12 20:18, Junio C Hamano wrote: Torsten Bögershausen tbo...@web.de writes: On 31.07.12 20:37, Junio C Hamano wrote: In practice, the majority of paths do not have utf8 that needs the canonicalization. Lazily call iconv_open()/iconv_close() to avoid unnecessary overhead.

Re: [PATCH v2] macos: lazily initialize iconv

2012-08-10 Thread Junio C Hamano
Torsten Bögershausen tbo...@web.de writes: After cloning, I set git config core.precomposeunicode true. git is v1.7.12.rc2, git_git/git is with your patch. git v1.7.12.rc2: tb@birne:~/projects/git/linux-2.6 for f in 1 2 3 4 5; do time git status ; done 21 | egrep ^user|^real|^sys real

[PATCH v2] macos: lazily initialize iconv

2012-07-31 Thread Junio C Hamano
In practice, the majority of paths do not have utf8 that needs the canonicalization. Lazily call iconv_open()/iconv_close() to avoid unnecessary overhead. Signed-off-by: Junio C Hamano gits...@pobox.com Helped-by: Ralf Thielow ralf.thie...@gmail.com Helped-by: Linus Torvalds

Re: [PATCH v2] macos: lazily initialize iconv

2012-07-31 Thread Ralf Thielow
On Tue, Jul 31, 2012 at 8:37 PM, Junio C Hamano gits...@pobox.com wrote: + /* Avoid iconv_open()/iconv_close() if there is nothing to convert */ + for (i = 0; i argc; i++) { + if (has_utf8(argv[i], (size_t)-1, NULL)) + break; + } +

Re: [PATCH v2] macos: lazily initialize iconv

2012-07-31 Thread Junio C Hamano
Ralf Thielow ralf.thie...@gmail.com writes: On Tue, Jul 31, 2012 at 8:37 PM, Junio C Hamano gits...@pobox.com wrote: + /* Avoid iconv_open()/iconv_close() if there is nothing to convert */ + for (i = 0; i argc; i++) { + if (has_utf8(argv[i], (size_t)-1, NULL)) +

Re: [PATCH v2] macos: lazily initialize iconv

2012-07-31 Thread Linus Torvalds
On Tue, Jul 31, 2012 at 11:37 AM, Junio C Hamano gits...@pobox.com wrote: * This is not even compile tested, so it needs testing and benchmarking, as I do not even know how costly the calls to open/close are when we do not have to call iconv() itself. Ok, so it's easily compile-tested:

Re: [PATCH v2] macos: lazily initialize iconv

2012-07-31 Thread Junio C Hamano
Linus Torvalds torva...@linux-foundation.org writes: On Tue, Jul 31, 2012 at 11:37 AM, Junio C Hamano gits...@pobox.com wrote: * This is not even compile tested, so it needs testing and benchmarking, as I do not even know how costly the calls to open/close are when we do not have to

Re: [PATCH v2] macos: lazily initialize iconv

2012-07-31 Thread Linus Torvalds
On Tue, Jul 31, 2012 at 1:16 PM, Junio C Hamano gits...@pobox.com wrote: Eek. Oh, I agree. Doing a full character set conversion both ways is quite a bit more work. Not just write_entry() codepath that creates the final paths on the filesystem, you would need to touch lstat() calls that