Commit Graph

12 Commits (ec00f7f14fbf16992b71ddd54e583ba07fdfd523)

Author SHA1 Message Date
Brad Payne (Vir Linden) a04a706c1b merge 2013-05-21 16:18:48 -04:00
Monty Brandenberg 8868964b54 SH-4106 Significantly upgrade the HttpHeaders interface for SSB.
Header container moves from a vector of raw lines to a vector
of string pairs representing name/value pairs in headers.  For
incoming headers, we normalize the name to lowercase and trim
it.  Values are only left-trimmed.  Outgoing headers are left
as-is.  Simple find() method for the common case, forward and
reverse iterators for those few who need to do it themselves.
The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated
as a header to be returned to caller.  Unit tests, as usual,
were a bear but they absolutely ensured outgoing HTTP header
conformance after the change.  Grunt work paid off.

LLTextureFetch was also given a second options structure
for texture fetches.  Same as the original but with header return
to caller requested.  Baked textures should use this, the other
20,000 texture fetch requests should continue to use the original.
2013-04-15 16:55:35 +00:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Monty Brandenberg 4d65c754d6 Tweak the example program (used as a performance tester) so that it
will run with higher connection concurrencies.  I'm using this to
test the listener queue length reporting on apaches and everything
is consistent and as expected with this change (stuck at eight before).
2012-11-27 18:09:01 +00:00
Monty Brandenberg d45b2e7cae SH-3183 Use valgrind on the library.
Using http_texture_load as the test subject, library looks clean.  Did
some better shutdown in the program itself and it looks better.  Libcurl
itself is making a lot of noise.  Adapted testrunner to run valgrind as
well but the memory allocation tester in the tools themselves grossly
interferes with Valgrind operations.
2012-07-12 17:46:53 +00:00
Monty Brandenberg bc72acbfd2 SH-3244 Syscall avoidance in HttpRequest::update() method
Well, achieved that by doing work in bulk when needed.  But
turned into some additional things.  Change timebase from
mS to uS as, well, things are headed that way.  Implement
an HttpReplyQueue::fetchAll method (advertised one, hadn't
implemented it).
2012-07-10 18:50:21 -04:00
Monty Brandenberg adce38800a Example program needs to set Accept: header to talk to Caps router. 2012-07-04 23:30:58 -04:00
Monty Brandenberg 252c297bcc Add metrics gathering utils for Mac OS X. All platforms have useful numbers now. 2012-06-16 19:03:31 -04:00
Monty Brandenberg b27bb47f3a Implement metrics collection for Linux. Next: Mac OS X. 2012-06-16 21:51:02 +00:00
Monty Brandenberg 6193ee6a33 First round of basic tuning work (shorter sleeps, larger BufferArray blocks).
Beefed up the metrics gathering in http_texture_load to get memory sizes and
cpu consumption on windows (still need to implement that on Mac & linux).
Ran runs with various idle loops with sleeps from 20 ms down to pure spinning,
varied Block allocation size from 1504 to 2^20 bytes.  2ms/2ms/65540 appears
to be a good spot under the test conditions (Win7, danu grid, client in Boston).
2012-06-16 15:50:48 -04:00
Monty Brandenberg 57575339bb Fix for linux/mac builds. 2012-06-15 13:42:13 -04:00
Monty Brandenberg 888e2587e5 Ported example (freestanding) program to drive API & generate performance numbers.
This is a command-line utility to pull content down from a service through
the llcorehttp library to produce timings and resource footprints.
2012-06-15 13:05:24 -04:00