Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1088

Avro-C - Add performance tests for schema resolution and arrays.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7.0
    • 1.7.0
    • c
    • None
    • Ubuntu Linux 11.10

    • Measure performance of reading and writing arrays. Measure performance of schema resolution.

    Description

      The current performance test in Avro-C measures the performance while
      reading and writing of Avro values using a complex record schema,
      which does not contain any arrays.

      We add tests to measure the performance for simple and nested
      arrays. We also replicate all tests to measure the performance of the
      schema resolution using a resolved reader and a resolved writer.

      Specifically we add the following performance tests:

      Nested Record
      1. Replicating the test "nested record value by index", using a helper
      function. Using helper functions adds a little overhead, but it
      allows us to test various schemas, as well as different modes of
      schema resolution much more easily.
      2. Using a resolved writer to resolve between (identical) reader and
      writer schemas, while reading a complex record.
      3. Using a resolved reader to resolve between (identical) reader and
      writer schemas, while writing a complex record.

      Simple Array
      4. Test the performance for reading and writing a simple array.
      5. Using a resolved writer to resolve between (identical) reader and
      writer schemas, while reading a simple array.
      6. Using a resolved reader to resolve between (identical) reader and
      writer schemas, while writing a simple array.

      Nested Array
      7. Test the performance for reading and writing a nested array.
      8. Using a resolved writer to resolve between (identical) reader and
      writer schemas, while reading a nested array.
      9. Using a resolved reader to resolve between (identical) reader and
      writer schemas, while writing a nested array.

      Additionally we fix a minor bug:
      1. The return value of avro_value_equal_fast() was not being
      tested. Test this return value, and fail if it is FALSE.

      Attachments

        1. AVRO-1088.patch.2
          1 kB
          Pugachev Maxim
        2. AVRO-1088.patch
          16 kB
          Vivek Nadkarni

        Activity

          People

            Unassigned Unassigned
            vnadkarni Vivek Nadkarni
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified