openocd/src/helper
Tim Newsome 64f1f7b1c1 Add read buffer to bitbang, improving performance.
Previously for every bit scanned OpenOCD would write the bit, wait for
that bit to be scanned, and then read the result. This involves at least
2 context switches. Most of the time the next bit scanned does not
depend on the last bit we read, so with a buffer we now write a bunch of
bits to be scanned all at once, and then we wait for them all to be
scanned and have a result.

This reduces the time for one testcase where OpenOCD connects to a
simulator from 12.30s to 5.35s!

Running all our tests went from 13m13s to 3m55s.

Change-Id: Ie9fcea043ac1d7877a521125334ed47d4b3e1615
Signed-off-by: Tim Newsome <tim@sifive.com>
Reviewed-on: http://openocd.zylin.com/4312
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2018-01-25 16:44:06 +00:00
..
bin2char.sh Fix some problems with the bin2char utility 2014-08-02 09:01:32 +00:00
binarybuffer.c helper: Code cleanup for hexify() 2016-12-08 12:34:53 +00:00
binarybuffer.h helper: Code cleanup for hexify() 2016-12-08 12:34:53 +00:00
command.c Fix Jim interpreter memory leak 2018-01-17 07:52:35 +00:00
command.h Fix Jim interpreter memory leak 2018-01-17 07:52:35 +00:00
configuration.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
configuration.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
fileio.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
fileio.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
ioutil_stubs.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
ioutil.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
ioutil.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
jep106.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
jep106.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
jep106.inc helper: Update jep106 database to JEP106AT 2016-12-08 12:30:14 +00:00
jim-nvp.c jim-nvp: Make Jim_GetOpt_String const-correct 2016-02-29 20:32:31 +00:00
jim-nvp.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
list.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
log.c Fix typo in comment. 2017-10-03 11:19:26 +01:00
log.h log: Add a new debug level (4) for verbose I/O debug 2017-08-10 09:29:06 +01:00
Makefile.am helper,rtos,server: Restore missing warning flags 2017-01-15 10:16:16 +00:00
options.c helper/options: Add missing #include for MinGW and MSYS2 2017-10-03 11:18:20 +01:00
replacements.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
replacements.h Add read buffer to bitbang, improving performance. 2018-01-25 16:44:06 +00:00
startup.tcl Tcl exception codes cleanup, shutdown command amendments 2015-04-14 12:11:48 +01:00
system.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
time_support_common.c Fix usage of timeval_ms() 2016-07-19 10:45:16 +01:00
time_support.c Add timeval_compare helper function 2018-01-25 16:43:45 +00:00
time_support.h Add timeval_compare helper function 2018-01-25 16:43:45 +00:00
types.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
update_jep106.pl helper: Add converter from JEP106 ID to manufacturer name 2016-01-22 15:02:16 +00:00
util.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
util.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00