wesleydeng created IMPALA-10323:
-----------------------------------

             Summary: use snprintf instead of lexical_cast when casting int to 
string,  to improve multi-thread performance
                 Key: IMPALA-10323
                 URL: https://issues.apache.org/jira/browse/IMPALA-10323
             Project: IMPALA
          Issue Type: Improvement
          Components: Backend
    Affects Versions: Impala 3.4.0
         Environment: 3 nodes ( 24 core, 64 GB mem)
impala 3.4
            Reporter: wesleydeng
             Fix For: Impala 3.4.0, Impala 3.3.0, Impala 3.2.0
         Attachments: image-2020-11-12-20-36-50-082.png, 
image-2020-11-12-20-43-47-010.png

For float_type, lexical_cast is replace by snprintf (issue 
https://issues.apache.org/jira/browse/IMPALA-1738),but why not do the same 
replacement for num_type.

Test is done in 2 sql case :

1)  *group by cast int to string* : 

select cast(f1 as string) as kk,count(*) from test.my_table group by kk;

2) *group by* *int :* 

select f1 as kk,count(*) from test.my_table  group by kk;

!image-2020-11-12-20-43-47-010.png!

from the benchmark, we can see that performance decreased seriously with more 
thread.

But using snprintf, performance improved significantly with more thread .

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to