Revenge of the disc cache
by Vincent Sanders
The disc cache has proved problematic on some operating systems where
disc operations are slow.
After a great deal of testing and benchmarking it has been determined
the principle slowdown on many of these platforms comes from the
system overheads creating the forest of directories and small files
that hold the cached data.
This overhead when coupled with the very slow synchronous write out of
some operating systems (like RISC OS) causes the "slow writer" message
and cache disablement to occur.
In an attempt to address this I have recently reworked the handling of
small files within the cache. There are now a small number of
relatively large files into which all small objects are placed. This
has resulted in the majority of objects (>70%) being held in these blocks
rather than in separate files on disk.
The resulting cache directories have a correspondingly smaller number
of files and directories within them and should (I hope) exhibit
greatly superior performance.
Of course all this is theoretical and it may not help at all, my
previous attempts at improving this situation have not been very
successful!
There is one drawback, the new scheme has changed the cache layout in
an incompatible way. While this will not be an issue at run time and
the cache will reinitialise itself at first start of CI builds after
#2688 it will leave the entire contents of any old cache behind and
never expire data from it. Therefore I advise the removal of the
contents of the NetSurf cache before running any of these CI builds.
--
Regards Vincent
http://www.kyllikki.org/
8 years, 6 months
KEY_* to NETSURF_KEY_* change
by Witold Filipczyk
Hi,
I am an entrant programmer, in the future I want to add the ncurses backend.
The goal of this change (in the attachment) is to avoid conflicts with (n)curses.
What do you think?
8 years, 6 months
Some noobie questions
by Jesse Nicholson
Hi All,
I've been scouring the interwebs for far too long trying to find an
existing library to enable me to parse web pages (html) and then use CSS
selectors against the DOM to pick out elements and modify/remove them.
Basically, I'm looking for the functionality provided by
queryselector/queryselectorall.
I've been downloading the libs linked on the website such as libCSS/ hubbub
and so on, but as you note, there isn't an API reference (not complaining,
just saying). So I thought I'd just ask here to see if such functionality
exists. Thanks for your time.
--
-JN
8 years, 6 months
Segfault on closing preferences
by Vitaly Minko
Dear developers,
First of all, I'd like to thank you for your efforts in making really
light and fast web browser. I enjoy using it.
I'm writing you because I want to propose a fix for a segfault I faced
with.
Steps to reproduce:
1. Run `./nsgtk --ca_path=""`
2. Press 'Edit->Preferences'
3. Press 'Close'
Netsurf will segfault.
The proposed patch is attached to this email. It's for version 3.2 or
3.3. I hope you will push it to upstream.
Best regards,
Vitaly
8 years, 6 months
[RFC] Bug 2182--revised patch
by David Gee
Attached is a revised patch for bug 2182. This time with more detailed
comments. Hope this is suitable and in the correct format.
--
David Gee
Gateshead
8 years, 6 months
Re: 3.3 Release
by Chris Young
Vince
I'm never sure whether my private emails actually get through to you.
Can you confirm if you got the one with the above subject line?
(Everybody else: Sorry to post this to the list)
Chris
8 years, 6 months
Bug 2182 (revised patch--please ignore previous email)
by David Gee
Hi,
The patch attached to my previous email contained an error. Somehow I'd
inadvertently removed the 'x' from an xwimp call which I didn't intend
to change.
I've used git to revert the changes and then (once again) removed the
xwimp_create_menu(WIMP_CLOSE_MENU,0,0) call from
ro_gui_send_datasave--the change I originally intended to make. So the
patch attached here should be sufficient on its own.
Thanks to Jeremy Nicoll for pointing this out.
--
David Gee
Gateshead
8 years, 6 months
Bug 2182
by David Gee
I've looked at Bug 2182 and made appropriate modifications to
riscos/save.c. This wasn't *too* tricky since the identifier of the bug
also suggested how it might be solved.
I've tested the fix and it appears to have resolved the issue and not
caused any other problems.
Once again I've attached the patch in what I hope is the correct
format. It's the result of two separate commits since before testing
the revised version I commented out the code I was going to remove but
forgot to actually remove the commented out code before doing the first
commit.
As before, please tell me whether or not the format of the patch is
correct.
Patch attached.
--
David Gee
Gateshead
8 years, 6 months
Bug 1996
by David Gee
The Shared Unix Library was indeed still out-of-date in the current
version of !Netsurf. I have updated the file (SharedULib,ffa in
riscos/distribution/!System/310/Modules) in my workspace.
I've also created a patch using git format-patch which I've attached to
this email. Please let me know if the format is OK--if it is, I can
post as to how I did it!
--
David Gee
Gateshead
8 years, 6 months
Bug 2182
by David Gee
Having managed to get everything set up and working, including an
installation of RPCEmu/RO5.20 as well as the Netsurf build tools, I
was thinking about tackling bug 2182 over the next few days--unless
Glen is already working on it.
I have managed to reproduce the bug as follows:
1. Select text in !Netsurf
2. Do Selection|Copy to Clipboard
3. Start !StrongED and open a new text file.
4. Do Block|Clipboard|Paste To Text, clicking on Paste to Text with
Adjust.
The menu tree should stay open, but closes.
This does not happen if another clipboard-aware application is used
instead of !Netsurf.
--
David Gee
8 years, 6 months