Re: Updates of SE-PostgreSQL 8.4devel patches (r1403)
От | Bruce Momjian |
---|---|
Тема | Re: Updates of SE-PostgreSQL 8.4devel patches (r1403) |
Дата | |
Msg-id | 200901141446.n0EEkJc26930@momjian.us обсуждение исходный текст |
Ответ на | Re: Updates of SE-PostgreSQL 8.4devel patches (r1403) (KaiGai Kohei <kaigai@ak.jp.nec.com>) |
Ответы |
Re: Updates of SE-PostgreSQL 8.4devel patches (r1403)
|
Список | pgsql-hackers |
KaiGai Kohei wrote: > Martijn van Oosterhout wrote: > > On Tue, Jan 13, 2009 at 10:05:45AM -0300, Alvaro Herrera wrote: > >> pgace.h: you have a bunch of "static inline" functions in here. As far > >> as I know this doesn't work in compilers other than GCC :-( See > >> pg_list.h (list_head) for an example. I think we can tolerate this for > >> the three functions in pg_list.h because they are so few and so tiny, > >> but I'm not sure about PGACE because they are a large lot. On the other > >> hand, turning them to real functions would be a performance hit. > > > > Really? C99 requires it and MSVC does support it. At least the other > > compilers whose name I remembered (HP, Sun) support it also. I'd be > > surprised if a compiler didn't since it's the form of inline that most > > matches what people expect to happen. > > > > Do you have an example? > > I have no preference either of them, because it is not an essence of > my patches whether its security hooks are implemented as inline, or not. > > IIRC, indeed, some of compiler also supported "static inline". > However, it also seems to me that PostgreSQL implementation tend to > avoid to use inline functions actively. > For example, heap_getattr() and fastgetattr() are implemented as > macros, even if they have a bit complex conditional branches, which > can be rewritten more simple with inline functions. I thought one advantage of using macros is that we force the inlining, while I think inline compiler directives are more of a hint, but maybe the compiler knows better than we do in some cases. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-hackers по дате отправления: