Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-7777

Improve processing speed of async engine processors which use List#get()

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • 2.7.0.Alpha1
    • 2.6.2.Final
    • embedded-engine
    • None

      Some async engine processors use List#get() method in a cycle iterating over all the records, sometimes several times, e.g. iterating also over created Future objects.
      It seems that calling this method is very slow and causes huge slowness of these processors, see attached picture from async profiler, showing that about 99.5% of time is spent in List#get(). Using List.stream() or iterating over the record via iterator is much faster and should be used in all these processors instead of calling List#get().

            [DBZ-7777] Improve processing speed of async engine processors which use List#get()

            Released

            Debezium Builder added a comment - Released

            Async profiler results are from JMH benchmark, therefore there is no delay from reading from DB etc.

            Vojtech Juranek added a comment - Async profiler results are from JMH benchmark, therefore there is no delay from reading from DB etc.

              vjuranek@redhat.com Vojtech Juranek
              vjuranek@redhat.com Vojtech Juranek
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: