Thanks Ralph!  Unfortunately the test you attached doesn't attempt any
log statements against thread thread context.  The only test performed on
this implementation loops through the keys that are present, and provides
identical results for CopyOnWriteSortedArrayThreadContextMap.  Note that I
had to strip the file down to work against 2.24.0, which doesn't contain
some of the other implementations you tested.
  So, I believe "null" is the correct result from the test, and I've
confirmed that result is provided by both an existing implementation and
the new string array implementation.  The key-scanning test also passes.
     John

On Wed, Aug 14, 2024 at 6:52 PM Ralph Goers <ralph.go...@dslextreme.com>
wrote:

> Note that this uses a custom appender that saves only the last log event
> written. At the end of the test that record is written via System.println.
> As I recall, for the StringArrayThreadContextMap it prints “null”.
>
> Ralph
>
> > On Aug 14, 2024, at 4:45 PM, Ralph Goers <ralph.go...@dslextreme.com>
> wrote:
> >
> > Try this one
> https://github.com/apache/logging-log4j2/blob/2.25.x/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextVsScopedContextBenchmark.java
> >
> > Ralph
> >
> >> On Aug 14, 2024, at 7:23 AM, John Engebretson <jengebr...@gmail.com>
> wrote:
> >>
> >> Ralph, I get a 404 on that link to your code, could you please verify
> the
> >> link is good?
> >>
> >> FWIW:
> >> - the unit test on StringArrayThreadContextMap thoroughly tests puts
> >> (verified by gets).  I won't rule out a missed case, of course.
> >> - the JMH test on the underlying datastructure
> (UnmodifiableArrayBackedMap)
> >> is attached at https://github.com/apache/logging-log4j2/issues/2319, as
> >> well as a description of the performance characteristics.
> >>
> >> I'd love to hear more about any conflicting findings, and will dive in
> >> once I get your code.
> >> Thanks!  :)
> >>   John
> >>
> >>
> >>
> >> On Tue, Aug 13, 2024 at 5:07 PM Ralph Goers <ralph.go...@dslextreme.com
> >
> >> wrote:
> >>
> >>> The benchmark code I used was
> >>>
> https://github.com/apache/logging-log4j2/blob/feature/move-thread-context/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextVsScopedContextBenchmark.java
> >>>
> >>> Ralph
> >>>
> >>>> On Aug 13, 2024, at 3:00 PM, Ralph Goers <ralph.go...@dslextreme.com>
> >>> wrote:
> >>>>
> >>>> Piotr, I am still concerned that you never looked into the issues I
> had
> >>> with StringArrayThreadContextMap. My performance tests were showing
> that it
> >>> was fast because it wasn’t actually setting values.
> >>>>
> >>>> Ralph
> >>>>
> >>>>> On Aug 13, 2024, at 12:43 PM, Piotr P. Karwasz <
> piotr.karw...@gmail.com>
> >>> wrote:
> >>>>>
> >>>>> Hi John,
> >>>>>
> >>>>> On Tue, 13 Aug 2024 at 21:10, John Engebretson <jengebr...@gmail.com
> >
> >>> wrote:
> >>>>>> HI - just curious when the updated ThreadContextMap will be
> available?
> >>>>>> The latest release is 2.23.1, over five months ago.
> >>>>>
> >>>>> We just finished a long series of documentation tasks that kept us
> >>>>> occupied for the past since May[1].
> >>>>>
> >>>>> I will be able to concentrate on cutting this almost mythical 2.24.0
> >>>>> release in the next few weeks.
> >>>>>
> >>>>> Piotr
> >>>>>
> >>>>> [1] https://github.com/apache/logging-log4j2/issues/2542
> >>>>
> >>>
> >>>
> >
>
>

Reply via email to