summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Holger Hans Peter Freyther [Tue, 24 Nov 2009 16:52:05 +0000 (17:52 +0100)]
[loading] Try to make network reduction more stable
Always delete the data from within the loop and clear
lists to avoid running into memory allocation issues
Holger Hans Peter Freyther [Tue, 24 Nov 2009 15:45:01 +0000 (16:45 +0100)]
[mirror] Do not append \n in get_file.py
Use the write method and check for none to avoid
adding a newline at the end of the file.
Holger Hans Peter Freyther [Tue, 24 Nov 2009 15:40:05 +0000 (16:40 +0100)]
[mirror] Add utility to write content + url to disk
Write the URL in the first line and the content
following this.
Holger Hans Peter Freyther [Sun, 22 Nov 2009 16:40:42 +0000 (17:40 +0100)]
[mirror] Add a put_file.py to update the data
In the future this script might update the Content-Length
and such information. But this is not strictly necessary
as the current server is ignoring all such information.
Holger Hans Peter Freyther [Sun, 22 Nov 2009 16:19:41 +0000 (17:19 +0100)]
[mirror] Add a utilitiy to get the content of a given file
Be able to extract one file from the content.
Holger Hans Peter Freyther [Sun, 22 Nov 2009 15:50:30 +0000 (16:50 +0100)]
[mirror] Add list_files.py to list the content of the db
Holger Hans Peter Freyther [Sun, 22 Nov 2009 15:42:40 +0000 (16:42 +0100)]
[mirror] Fix the create_hosts script to remove a possible port from the URL
Look for a ':' and then remove everything starting from it.. This
is filtering a site like:
ads.guardian.co.uk:80
Holger Hans Peter Freyther [Sun, 22 Nov 2009 06:53:52 +0000 (07:53 +0100)]
[time] Add a reduction to compare different currentTime implementations
Currently this compares gettimeofday to clock_gettime and the
current winner is gettimeofday...
Holger Hans Peter Freyther [Thu, 12 Nov 2009 03:33:17 +0000 (04:33 +0100)]
Disable the pagecache/cache to get more stable loading results
To generate a stable result on the cycler and loading test disabling
the cache is necessary. Together with the -media 5 option of the
test case the result is quite stable.
Holger Hans Peter Freyther [Fri, 30 Oct 2009 03:49:05 +0000 (04:49 +0100)]
memusagestat.c: Merge with upstream glibc
Holger Hans Peter Freyther [Sat, 24 Oct 2009 05:50:39 +0000 (07:50 +0200)]
memusagestat: Cope with slightly broken files
Continue even when having a slightly broken file.
Holger Hans Peter Freyther [Sat, 24 Oct 2009 05:35:19 +0000 (07:35 +0200)]
memusagestat.c: Some fixes to memusagestat
- Spelling fix
- After fixing the header start to parse again otherwise
wrong values are used
- For many allocations use uint64_t
Holger Hans Peter Freyther [Thu, 15 Oct 2009 02:49:55 +0000 (04:49 +0200)]
Change cycler/loading to benchmark running through all sites
Attempt to get more stable performance numbers by running through
every site and benchmarking this. Before some tests were so fast
mostly depending on host scheduling and yielding different results
each run.
Holger Hans Peter Freyther [Wed, 14 Oct 2009 06:59:15 +0000 (08:59 +0200)]
Ignore some more generated files
Holger Hans Peter Freyther [Wed, 14 Oct 2009 06:56:54 +0000 (08:56 +0200)]
image_loading/image_cycling: Share the WebCore classes
Share the WebCore classes between the two tests. These can
be easily replaced with the WebCore original after changes
to WebCore. Currently this copy is ahead of WebCore but
this will change in a second.
Holger Hans Peter Freyther [Wed, 14 Oct 2009 06:56:44 +0000 (08:56 +0200)]
reductions: Add missing files
Holger Hans Peter Freyther [Tue, 13 Oct 2009 09:23:48 +0000 (11:23 +0200)]
ImageDecoder: Change to go through the factory
Holger Hans Peter Freyther [Tue, 13 Oct 2009 08:02:51 +0000 (10:02 +0200)]
Add two reductions for image loading
Extract webcore code to analyze the behaviour on the
loading and cycling test.
You will need to ask me for the data used for this test
as this is copyrighted material and can not be freely
published.
Holger Hans Peter Freyther [Sun, 11 Oct 2009 02:59:20 +0000 (04:59 +0200)]
Fix building after the moving of the files
Holger Hans Peter Freyther [Thu, 8 Oct 2009 07:22:09 +0000 (09:22 +0200)]
http_server: Proper fix for the socket close during header parse..
The previous fix was obviously wrong. Break the outer loop to
interrupt the parsing when the connection is gone. There is not
much use continuing but there is not really a harm anyway.
Holger Hans Peter Freyther [Thu, 8 Oct 2009 04:45:50 +0000 (06:45 +0200)]
Move tools into host-tools|reductions|tests
Split the tools in three categories:
tests For benchmarks and tests
host-tools For tools to be executed on the host
reductions Test cases extracted from WebKit/Qt
Holger Hans Peter Freyther [Thu, 8 Oct 2009 04:44:59 +0000 (06:44 +0200)]
README: Make it refer to the Wiki pages
Holger Hans Peter Freyther [Mon, 5 Oct 2009 12:23:20 +0000 (14:23 +0200)]
http_server: Stop trying to read when we are disconnected...
canReadLine returns true even if we are disconnected, check
the connection state and exit... e.g. when the network job
has been canceled..
Holger Hans Peter Freyther [Fri, 2 Oct 2009 06:56:59 +0000 (08:56 +0200)]
Add a new test called cycler...
The cycler test is close to the loading test but it will
show the webview and will do painting. This can be used
for cyclic loading of webpages with a high iteration count
and will be nice for memory usage analysis.
Holger Hans Peter Freyther [Fri, 2 Oct 2009 06:48:10 +0000 (08:48 +0200)]
common: Add additional test case with many images
The images on the site are desktop images for the mac, the
creator of the site must have been obsessed by unerotic
and plain nudity of females... This does not include porn
and I wish we would have other images... besides that it
is a great test for image decoders.
Holger Hans Peter Freyther [Wed, 30 Sep 2009 08:07:09 +0000 (10:07 +0200)]
loading_standalone: Make the code compile without a patched Qt
Disable the "faster" code path as the patch is not yet
included in Qt. Enable it once it has landed in Qt4.6
or Qt4.7.
Holger Hans Peter Freyther [Wed, 30 Sep 2009 08:00:48 +0000 (10:00 +0200)]
Install target utilities to QT_INSTALL_BINS/benchmark
with make INSTALL_ROOT=$PWD/root install the utilities can
be installed and then copied to the device.
Holger Hans Peter Freyther [Wed, 30 Sep 2009 07:22:46 +0000 (09:22 +0200)]
loading_standalone: Rename the target and pro file
Do not clash with the normal loading test case
Holger Hans Peter Freyther [Wed, 30 Sep 2009 07:08:27 +0000 (09:08 +0200)]
http_server: Using a QCoreApplication is enough in the server
Holger Hans Peter Freyther [Wed, 30 Sep 2009 07:08:00 +0000 (09:08 +0200)]
http_server: No need to test the database code anymore
Holger Hans Peter Freyther [Wed, 30 Sep 2009 07:07:19 +0000 (09:07 +0200)]
benchmarks: Remove memusagestat from the compile list
Holger Hans Peter Freyther [Wed, 30 Sep 2009 07:02:29 +0000 (09:02 +0200)]
mirror: Use optparse in create_hosts...
Allow to specify the to be used database on the command line.
Holger Hans Peter Freyther [Mon, 28 Sep 2009 05:24:29 +0000 (07:24 +0200)]
loading_standalone: Fix indenting of the code path
Holger Hans Peter Freyther [Mon, 28 Sep 2009 05:23:47 +0000 (07:23 +0200)]
Add the standalone unit test as well
Holger Hans Peter Freyther [Mon, 28 Sep 2009 05:10:53 +0000 (07:10 +0200)]
http_server: Compile fix on ARM...
Close is not known, include unistd.h to fix that.
Holger Hans Peter Freyther [Wed, 23 Sep 2009 20:42:19 +0000 (22:42 +0200)]
http_server.pro: Add missing file
Holger Hans Peter Freyther [Wed, 23 Sep 2009 19:09:46 +0000 (21:09 +0200)]
painting: Use QApplication::syncX at the end of painting..
Do not only measure how fast we can send painting instructions
but also sort of wait until it is done. The main point of this
test is to highlight areas were to improve.
Holger Hans Peter Freyther [Tue, 22 Sep 2009 10:03:45 +0000 (12:03 +0200)]
loading_standalone: Put the date parsing under trial
Test the QNetworkHeadersPrivate::fromHttpDate date parsing
code and compare it with a more direct solution. The more
direct solution is 10 times faster than the old one.
Holger Hans Peter Freyther [Tue, 22 Sep 2009 06:59:13 +0000 (08:59 +0200)]
http_server: Plug leak in the error case...
This code was not executed so no real life leak was plugged...
Holger Hans Peter Freyther [Tue, 22 Sep 2009 06:58:02 +0000 (08:58 +0200)]
loading_standalone: Have a simple benchmark for QByteArray::operator==
Compare toLower + operator== with qstricmp... on my desktop
qstricmp is winning over toLower + operator== and QNetwork
code will be changed to follow that.
Holger Hans Peter Freyther [Tue, 22 Sep 2009 06:57:02 +0000 (08:57 +0200)]
loading_standalone: Use a new QNetwork method...
Do not have a O(n^2) runtime behaviour to copy headers
from QNetworkReply to WebCore...
Holger Hans Peter Freyther [Tue, 22 Sep 2009 06:53:42 +0000 (08:53 +0200)]
loading_standalone: Add latency and download time measurement
Use clock_gettime to get a monotonic tick. Measure how long it
takes to get the didReceiveResponse and how long it takes to
finish the download.
Holger Hans Peter Freyther [Mon, 21 Sep 2009 09:41:05 +0000 (11:41 +0200)]
loading_standalone: Turn the loading into a QBENCHMARK
Holger Hans Peter Freyther [Mon, 21 Sep 2009 08:13:26 +0000 (10:13 +0200)]
loading_standalone: Mention the leaks...
These are leaked but as long as the number of iterations are
small enough it should not be a big problem...
Holger Hans Peter Freyther [Mon, 21 Sep 2009 08:12:47 +0000 (10:12 +0200)]
loading_standalone: Minor cleanup...
Holger Hans Peter Freyther [Sun, 20 Sep 2009 21:30:50 +0000 (23:30 +0200)]
loading_standalone: Isolated test for loading wikipedia
This contains the wikipedia maxwell equation article. The
page itself is inside the wikipedia_maxwell.db and can be
served using the fake http_server.
This test will purely measure the networking performance
of the QNetworkAccessManager without taking parsing, etc.
into account. This will allow to more easily look into
the networking classes.
This test contains code from QtWebKit to make the test
match Qt as closely as possible. Future extensions should
have better time keeping which should include latency
and download statistics.
Optimations should include:
- raw speed
- scheduling performance...
Holger Hans Peter Freyther [Fri, 18 Sep 2009 17:39:33 +0000 (19:39 +0200)]
mirror: Generate cookies... only works with a recent 4.6
Holger Hans Peter Freyther [Fri, 18 Sep 2009 15:25:34 +0000 (17:25 +0200)]
WIP
Holger Hans Peter Freyther [Fri, 18 Sep 2009 08:41:56 +0000 (10:41 +0200)]
mirror: Update the google news entry with a working one
Holger Hans Peter Freyther [Fri, 18 Sep 2009 08:02:25 +0000 (10:02 +0200)]
mirror: Remove some debugging warnings again
Remove some log messages...
Holger Hans Peter Freyther [Fri, 18 Sep 2009 07:55:31 +0000 (09:55 +0200)]
mirror/http_server: Generate the header in the mirror tool
Generate the header in the mirror tool, make sure it has \r\n
at the end of lines (fixes various redirect issues), make sure
to strip transfer-encoding (as we don't do chunked...), add
a fake content-length entry..
Currently strip cookies away as emitting all cookies in one
line is not legal and we need to split them up.
Holger Hans Peter Freyther [Thu, 17 Sep 2009 14:47:43 +0000 (16:47 +0200)]
mirror: Do not properly destruct objects...
Proper destruction will emit shared timers, and other bits...
e.g. in the worse case start a network job after the CookieJar
was destructed...
Holger Hans Peter Freyther [Wed, 16 Sep 2009 07:51:26 +0000 (09:51 +0200)]
memusagestat: Give the graph a grey background...
improve readability in tools like eog.
Holger Hans Peter Freyther [Tue, 15 Sep 2009 21:24:17 +0000 (23:24 +0200)]
memusagestat: make it compile
Holger Hans Peter Freyther [Tue, 15 Sep 2009 21:22:13 +0000 (23:22 +0200)]
memusagestat: Add glibc's memusagestat.c
Add cli utility to deal with memusage data. We add a copy here
as it is normally not installed by any distribution.
Holger Hans Peter Freyther [Tue, 15 Sep 2009 19:07:54 +0000 (21:07 +0200)]
scrolling: Show the QWidget to make sure paint events get generated
If the window is not visible, nothing will be painted...
Holger Hans Peter Freyther [Tue, 15 Sep 2009 18:57:31 +0000 (20:57 +0200)]
scrolling: Scroll in the backward direction as well
Holger Hans Peter Freyther [Tue, 15 Sep 2009 18:42:51 +0000 (20:42 +0200)]
scrolling: Add benchmark to scroll as fast as possible
This test is painting on the QWidget and will scroll
the content to the bottom. This requires to enter the
event loop...
Holger Hans Peter Freyther [Tue, 15 Sep 2009 17:19:45 +0000 (19:19 +0200)]
mirror: Rewrite the create_hosts script...
Change the script from shell to python to cope with
the encoded output of the url data. Use the most simple
approach to create the output file.
Holger Hans Peter Freyther [Tue, 15 Sep 2009 17:10:35 +0000 (19:10 +0200)]
benchmarks: Add common file to add benchmark data...
Holger Hans Peter Freyther [Mon, 14 Sep 2009 07:40:50 +0000 (09:40 +0200)]
mirror: Add help screen
Holger Hans Peter Freyther [Mon, 14 Sep 2009 07:35:04 +0000 (09:35 +0200)]
mirror: add option to be visible
Holger Hans Peter Freyther [Sun, 13 Sep 2009 19:55:44 +0000 (21:55 +0200)]
mirror/http: Store URL in encoded form..
Store thr URL in the network encoded form. This should fix
cases of URLs containing space and other bits..
Holger Hans Peter Freyther [Sun, 13 Sep 2009 19:48:26 +0000 (21:48 +0200)]
http_server: Search for URL without fragment and query
If the normal query failed, search for a URL without the
query and fragment and serve that.
Holger Hans Peter Freyther [Sun, 13 Sep 2009 18:42:07 +0000 (20:42 +0200)]
mirror: Strip fragments and query from the url
E.g. for the sunspider-result.html strip out the query and
fragment page to have a generic version that will work with
any data...
Holger Hans Peter Freyther [Sun, 13 Sep 2009 18:37:40 +0000 (20:37 +0200)]
mirror: Refactor storing of the data
Move the SQL code into a new static function. Pass this
function the data. This will be useful when we start to
strip the query part from the url and store the url
twice...
Holger Hans Peter Freyther [Sun, 13 Sep 2009 18:30:52 +0000 (20:30 +0200)]
mirror: Add the -k option to keep running, refactor config parsing
Holger Hans Peter Freyther [Sun, 13 Sep 2009 18:29:32 +0000 (20:29 +0200)]
mirror: Spelling fix...
Holger Hans Peter Freyther [Sun, 13 Sep 2009 18:10:35 +0000 (20:10 +0200)]
http_server: Wait for being disconnected before destroying the socket
Make sure everything is flushed and tranfered to the client before
closing the connection. This makes running the sunspider suite
possible with the cached webserver.
Holger Hans Peter Freyther [Sun, 13 Sep 2009 14:05:54 +0000 (16:05 +0200)]
mirror: Replace the "observer" with a "proxy"
For some content the observer did not work reliable. Turn
the code into a real proxy that is forwarding signals and
data from the QNetworkReply to the new front. When reading
we are able to properly access the data and store it
somewhere else.
Holger Hans Peter Freyther [Thu, 10 Sep 2009 10:59:25 +0000 (12:59 +0200)]
mirror: Fix the do_mirror.sh script to pass the arguments on to mirror
Holger Hans Peter Freyther [Thu, 10 Sep 2009 10:57:50 +0000 (12:57 +0200)]
http-server: Use QSql database prepare as well..
I have no idea how this worked before...
Holger Hans Peter Freyther [Thu, 10 Sep 2009 10:44:55 +0000 (12:44 +0200)]
mirror: DB code fixes... use QSqlQuery::prepare, only exec once
Change the URL toString for storing it in the db, change the db
code to use prepare and exec, exec only once... it seems to work
again.
Holger Hans Peter Freyther [Thu, 10 Sep 2009 10:16:22 +0000 (12:16 +0200)]
Implement a cookie jar...
This is extremly useful to use accounts with sites that remember
the user. The cookie file can be taken from arora and passed on
with the -c option.
Holger Hans Peter Freyther [Thu, 10 Sep 2009 08:01:30 +0000 (10:01 +0200)]
Pass on arguments to the mirror application
We will be able to load cookies in a second.
Holger Hans Peter Freyther [Thu, 10 Sep 2009 08:01:11 +0000 (10:01 +0200)]
Some more from the top 50 of alexa.com... and some handpicks
Holger Hans Peter Freyther [Thu, 10 Sep 2009 07:48:22 +0000 (09:48 +0200)]
mirror: Add more websites... some more from the top 50..
Holger Hans Peter Freyther [Thu, 10 Sep 2009 07:24:42 +0000 (09:24 +0200)]
Fixes for wget... wget is only http 1.0
Holger Hans Peter Freyther [Fri, 7 Aug 2009 07:12:33 +0000 (09:12 +0200)]
http_server: Replace the python webserver with a Qt one
The BasicHTTPServer loves to get stuck, probably specially
by keep-alive (it doesn't advertise to do HTTP/1.1...). Replace
it with a custom multi threaded solution...
The multithreaded solution should use a fixed number of worker
threads instead of creating as many as possible.
Holger Hans Peter Freyther [Thu, 6 Aug 2009 23:45:39 +0000 (01:45 +0200)]
http_server: Handle the response code we get
Holger Hans Peter Freyther [Thu, 6 Aug 2009 15:10:02 +0000 (17:10 +0200)]
mirror: Wait for everything to be loaded before exiting
The last chnage was not really sound, load everything...
Holger Hans Peter Freyther [Thu, 6 Aug 2009 14:57:07 +0000 (16:57 +0200)]
mirror: Update some sitrs...
Holger Hans Peter Freyther [Thu, 6 Aug 2009 14:48:55 +0000 (16:48 +0200)]
mirror: Do not use app::quit as this will make flash cause a segfault
Holger Hans Peter Freyther [Thu, 6 Aug 2009 14:48:45 +0000 (16:48 +0200)]
mirror: Fix storing the data...
Holger Hans Peter Freyther [Thu, 6 Aug 2009 14:44:20 +0000 (16:44 +0200)]
mirror: Fix compile
Holger Hans Peter Freyther [Thu, 6 Aug 2009 13:29:42 +0000 (15:29 +0200)]
Explain what these tools are for.
Holger Hans Peter Freyther [Thu, 6 Aug 2009 13:28:13 +0000 (15:28 +0200)]
benchmarks.pro: Add the launcher test to the list
Holger Hans Peter Freyther [Thu, 6 Aug 2009 13:22:41 +0000 (15:22 +0200)]
http_server: Do not advertise gzip encoding when not using it
firefox, Qt doesn't like that, libsoup handles it just fine.
Holger Hans Peter Freyther [Thu, 6 Aug 2009 13:16:55 +0000 (15:16 +0200)]
painting: Remove the scrolling for now
In general we can not tell where more text is. The test
case should be changed to automatically scroll the page
in both directions.
Holger Hans Peter Freyther [Thu, 6 Aug 2009 13:16:25 +0000 (15:16 +0200)]
mirror: Save the response as well as we need that information in the server
Holger Hans Peter Freyther [Thu, 6 Aug 2009 07:39:56 +0000 (09:39 +0200)]
launcher: Add a simple launcher app to open pages
e.g. this can be used to run the sunspider benchmark
Holger Hans Peter Freyther [Thu, 6 Aug 2009 04:08:58 +0000 (06:08 +0200)]
hosts: List entries for /etc/hosts from a database
Holger Hans Peter Freyther [Thu, 6 Aug 2009 04:08:13 +0000 (06:08 +0200)]
Add a http server to serve the static content.
based off an example using the python BasicHTTPServer.
Holger Hans Peter Freyther [Wed, 5 Aug 2009 16:20:58 +0000 (18:20 +0200)]
mirror: Add a simple mirroring application
This will mirror a webpage into a sqlite3 database. This database
can be used to serve a webpage again. This way we can create
stable pages for page loading test.
do_mirror.sh contains some frequently visited pages we should
optimize for.
Holger Hans Peter Freyther [Wed, 5 Aug 2009 14:44:53 +0000 (16:44 +0200)]
robustness: Be able to set a start page
Holger Hans Peter Freyther [Wed, 5 Aug 2009 14:30:07 +0000 (16:30 +0200)]
Add a bunch of performance/reliable tests for QtWebKit
loaing: test loading of a bunch of pages
painting: test painting of a bunch of pages
robustness: crawl the web and wait for crashes