Am 26.03.20 um 16:17 schrieb Dirk Zimoch via Core-talk:
> It seems what really eats up time is db_create_read_log(), not
> running the empty list of filters. Skipping it gives 200-400 ns
> instead of 800-1200 (sometimes 120000) ns when only skipping the
> filters. Running or not running empty filter lists makes almost no
> difference.
I am not surprised. Running two empty for-loops amounts to testing the
loop condition twice. That should have a negligable impact.
> My guess is on the free list mutex. Maybe a new,
> lock-free implementation of the freeList would help.
That sounds plausible. I wasn't aware that allocating from a freeList
needs to take a mutex lock but of course it makes sense that it has to.
Still, before spending time on a new freeList implementation I would try
to verify this with a profiler.
This isn't directly related, but I have been wondering about some of the
uses of freeLists for filters, particularly the array filter. The global
freeList for the filter parameters is okay, but we also use a separate
freeList for each filter to store the actual array data. This doesn't
make much sense to me: the filter is invoked post-queue, so the theread
that invokes it is also the one that consumes the result. So we could as
well re-use the same space for all requests during the lifetime of the
filter.
________________________________
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
Aufsichtsrat: Vorsitzender Dr. Volkmar Dietz, stv. Vorsitzende Dr. Jutta Koch-Unterseher
Geschäftsführung: Prof. Dr. Bernd Rech (Sprecher), Prof. Dr. Jan Lüning, Thomas Frederking
Sitz Berlin, AG Charlottenburg, 89 HRB 5583
Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin
--
https://code.launchpad.net/~dirk.zimoch/epics-base/+git/epics-base/+merge/378968
Your team EPICS Core Developers is subscribed to branch epics-base:7.0.
- References:
- Re: [Merge] ~dirk.zimoch/epics-base:dbChannelForDBLinks into epics-base:7.0 Dirk Zimoch via Core-talk
- Navigate by Date:
- Prev:
Re: [Merge] ~dirk.zimoch/epics-base:dbChannelForDBLinks into epics-base:7.0 Ben Franksen via Core-talk
- Next:
[Merge] ~bfrk/epics-base:write-filters-rebased into epics-base:7.0 Ben Franksen via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: [Merge] ~dirk.zimoch/epics-base:dbChannelForDBLinks into epics-base:7.0 Dirk Zimoch via Core-talk
- Next:
Re: [Merge] ~dirk.zimoch/epics-base:dbChannelForDBLinks into epics-base:7.0 Dirk Zimoch via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
|