tech@mandoc.bsd.lv
 help / color / mirror / Atom feed
From: Baptiste Daroussin <bapt@FreeBSD.org>
To: tech@mdocml.bsd.lv
Subject: Re: New db format
Date: Fri, 5 Aug 2016 22:26:37 +0200	[thread overview]
Message-ID: <20160805202637.zhscohdeupq5wguj@ivaldir.etoilebsd.net> (raw)
In-Reply-To: <20160709161251.GD6629@athene.usta.de>

[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]

On Sat, Jul 09, 2016 at 06:12:51PM +0200, Ingo Schwarze wrote:
> Hi Baptiste,
> 
> Baptiste Daroussin FreeBSD wrote on Sat, Jul 09, 2016 at 05:29:27PM +0200:
> 
> > Beside minor portability issues (that I will provide fixes for once
> > this patch is official)
> 
> You can already provide them now if you want to, and i'll include
> them in my work-in-progress version and testing.
> 
> > I can say it works fine on FreeBSD :)
> > Tested on FreeBSD 12-CURRENT:
> 
> Great to hear that.
> 
> My main worry is that i screwed alignment somewhere.  Did you test
> on any machines with unusual alignment requirements?  Or is keeping
> int32_t aligned to 4-byte boundaries guaranteed to be safe everywhere?
> 
> > The 3 main "bad" feedbacks I got about mandoc was:
> > - time to create the db was long with sqlite with the new code
> >   it is longer: does from 4s to 11s in general for the base manpages
> >   but I do not consider that as a big issue given it is not run that
> >   often and the code is quite new and there are probably room of
> >   improvements
> 
> The SQLite version was optimized with gprof(1).  I can try again
> for the new code.  But mandoc's makewhatis(8) will always remain
> much slower than traditional makewhatis(8) because it parses the
> complete manuals rather than just the NAME sections.

After some profiling of the new code, it appears that most of the time is spent
on dba_array_get and dba_array_next

The flamegraph of makewhatis

https://people.freebsd.org/~bapt/makewhatis.svg

Best regards,
Bapt

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2016-08-05 20:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <sfid-H20160709-151232-+015.17-1@spamfilter.osbf.lua>
     [not found] ` <20160709131158.GA6629@athene.usta.de>
2016-07-09 13:18   ` call for testing: mandoc-1.13.4 release candidate Thomas Klausner
2016-07-09 15:30     ` Ingo Schwarze
2016-07-09 13:39   ` Baptiste Daroussin FreeBSD
2016-07-09 14:31     ` Anthony J. Bentley
2016-07-09 15:29       ` New db format (was Re: call for testing: mandoc-1.13.4 release candidate) Baptiste Daroussin
2016-07-09 16:12         ` New db format Ingo Schwarze
2016-08-05 20:26           ` Baptiste Daroussin [this message]
2016-07-09 14:28   ` call for testing: mandoc-1.13.4 release candidate Svyatoslav Mishyn Crux
2016-07-10 14:08     ` Ingo Schwarze
2016-07-09 18:21   ` Svyatoslav Mishyn
2016-07-09 21:13     ` Ingo Schwarze
2016-07-09 18:55   ` Svyatoslav Mishyn Crux
2016-07-10 10:46     ` Svyatoslav Mishyn
2016-07-10 13:39       ` Ingo Schwarze
2016-07-10 14:27   ` Christian Neukirchen
2016-07-10 16:36     ` Ingo Schwarze
2016-07-10 16:48       ` Christian Neukirchen
2016-07-10 18:34         ` Ingo Schwarze

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160805202637.zhscohdeupq5wguj@ivaldir.etoilebsd.net \
    --to=bapt@freebsd.org \
    --cc=tech@mdocml.bsd.lv \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).