[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnucap-devel] faster queueing

From: Felix Salfelder
Subject: [Gnucap-devel] faster queueing
Date: Tue, 23 Feb 2016 10:36:36 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Hi Al.

As you had pointed out, CARD_LIST::tr_queue_eval iterates over the whole
circuit instead of over all the non-constant components.

to work around that, i have added another list to CARD_LIST holding the
pointers to the components that are not constant (during precalc_last).
using this list instead of the full list decreases tr simulation time by
a factor of almost two (eq4-9217.tran.ckt).

the changes involve one uglyness, that i think you are already aware
of... the dc sweep pointer-hacks elements and sets them non-constant, so
they are queued. this non-const setting comes after the non-const queue
has been set up (too late). my current workaround adds these elements to
the evaluation queue of the top level circuit.

i have attached a patch, it is against -uf. i think it transports the
idea, and gives some numbers on the speed impact. i will backport as
soon as i know a proper way to deal with the dc-hack.


PS: yes, i tried to do this with plugins, overload/change BASE_SUBCKT
functions only. it turned out to be a dead end (too many devices to

Attachment: fastq
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]