Github user r-pogalz commented on the pull request:

    https://github.com/apache/flink/pull/907#issuecomment-126517321
  
    @fhueske, I ran through the classes and tried to catch all occurrences of 
`match` and replaced them by `join`. Hopefully I did not miss something :)
    
    Moreover, I set up a benchmark with JMH and did several runs on my machine 
(MacBook Air, 1.3 GHz Intel Core i5, 4 GB 1600 MHz DDR3). I pushed the code on 
another branch, so you can check it for further information (commit can be seen 
[here](https://github.com/r-pogalz/flink/commit/629c2ff5caa9775d968deecdc2ff0b965310a09e)).
 I decided to test a dedicated class for the Left Outer Join against the left 
outer join using the existing class for all types. An iteration in the 
benchmark measures the time needed to perform the outer join for the entire 
inputs. For the first couple of runs I chose a fixed cardinality of 10k entries 
for the right input. I varied the input size of the left input (20k, 50k and 
100k).
    
     Cardinality of left input | Same class (avg. time in seconds) | Dedicated 
class (avg. time in seconds)
    ------------ | ------------- | ------------
    20k | **4.264** | 4.282
    50k | **7.845** | 7.913
    100k | 14.090 | **13.907**
    
    Moreover, I did a test run with **50k entries on both inputs** and got the 
following results:
    
    Same class (avg. time in seconds) | Dedicated class (avg. time in seconds)
    -------------- | ---------------
    **10.251** | 10.571
    
    The results show that both implementations perform almost similar. So I 
guess the JIT compiler does proper optimizations concerning the if-statements 
in our current implementation. Or what do you think @fhueske and @chiwanpark ?
    
    I also pushed the results. Please look 
[here](https://github.com/r-pogalz/flink/commit/32dfabe33efc382ee2bb1c879eba507318cdbc24)
 for detailed information (e.g. min, max, std. deviation).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to