Re: [HACKERS] regression bigtest needs very long time
От | SAKAIDA |
---|---|
Тема | Re: [HACKERS] regression bigtest needs very long time |
Дата | |
Msg-id | 3779DB6612C.E465SAKAIDA@smtp.psn.ne.jp обсуждение исходный текст |
Ответ на | Re: [HACKERS] regression bigtest needs very long time (wieck@debis.com (Jan Wieck)) |
Ответы |
Re: [HACKERS] regression bigtest needs very long time
|
Список | pgsql-hackers |
Hi, wieck@debis.com (Jan Wieck) wrote: > > Tom Lane wrote: > > If we thought that the math functions (sqrt, exp, etc) for numerics > > were really getting used for anything, it might also be fun to try > > to put in some better algorithms for them. I've got a copy of Cody > > and Waite, which has been the bible for such things for twenty years. > > But my guess is that it wouldn't be worth the trouble, except to the > > extent that it speeds up the regression tests ;-) > (snip) > > Thus, usually the precision of float8 should be more than > enough for those calculations. Making NUMERIC able to handle > these functions in it's extreme precision shouldn't really be > that time critical. > There are no problem concerning the NUMERIC test of INSERT/ SELECT and add/subtract/multiply/division. The only problem is the processing time. One solution which solves this problem is to change the argument into *float8*. If the following changes are done, the processing will become high-speed than a previous about 10 times. File :"src/regress/sql/numeric.sql" Statement:"INSERT INTO num_result SELECT id, 0, POWER('10'::numeric,LN(ABS(round(val,300)))..." Change: "LN(ABS(round(val,300))))" to: "LN(float8(ABS(round(va,300))))" # Another solution is to automatically convert the argument of the LOG function into double precision data type in the *inside*.(But, I do not know what kind of effect will be caused by this solution.) -- Regards. SAKAIDA Masaaki <sakaida@psn.co.jp> Osaka, Japan
В списке pgsql-hackers по дате отправления: