maildev@lists.thunderbird.net

Thunderbird email developers

View all threads

Fwd: New changes for File APIs in the Firefox Front-end

PK
Philipp Kewisch
Sat, Aug 29, 2020 5:51 AM

Begin forwarded message:

From: David Teller dteller@mozilla.com
Date: 28. August 2020 at 4:50:39 PM CEST
To: Keefer Rourke krourke@mozilla.com, firefox-dev@mozilla.org
Subject: Re:  New changes for File APIs in the Firefox Front-end

Ten years already? Gasp, OS.File was one of my first serious
contributions to Firefox :)

But yeah, it now needs to go. The replacement looks much better, thanks
a lot for taking care of that!

Cheers,
David

On 28/08/2020 15:59, Keefer Rourke wrote:
Hi folks,

I'm Keefer — this summer I had the amazing opportunity to intern with the Firefox Performance Engineering team. To finish off my internship, I'm happy to announce some new changes with file I/O in the Firefox front-end.

Up until this point, most file I/O in chrome code has been done using the OS.File API 1. This API has suited our needs for many years (10!), but the implementation raises some concerns about start-up performance, cache-contention, and memory usage (see bug 1231711 for more info).

This summer, a significant amount of work has been done to implement a new file API written in C++ which is not subject to these concerns. The new API, called IOUtils, is now available in the latest nightlies, and it is slated to replace OS.File. Work is ongoing to replace OS.File usages with analogous calls to IOUtils (see bug 986145), and new usages of OS.File should not be introduced. The new API is very similar to OS.File, but has some important ergonomic and performance improvements. You can find a migration guide here 2.

TL;DR if you need to read, write, or otherwise manipulate files from privileged JavaScript, please do so using methods on the new IOUtils global.

Questions? Check out the FAQ in the migration guide, or head over to the #perf channel on Matrix and we'll be happy to help out :)

Cheers,
Keefer


firefox-dev mailing list
firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/firefox-dev

Begin forwarded message: > From: David Teller <dteller@mozilla.com> > Date: 28. August 2020 at 4:50:39 PM CEST > To: Keefer Rourke <krourke@mozilla.com>, firefox-dev@mozilla.org > Subject: Re: New changes for File APIs in the Firefox Front-end > > Ten years already? Gasp, OS.File was one of my first serious > contributions to Firefox :) > > But yeah, it now needs to go. The replacement looks much better, thanks > a lot for taking care of that! > > Cheers, > David > >> On 28/08/2020 15:59, Keefer Rourke wrote: >> Hi folks, >> >> I'm Keefer — this summer I had the amazing opportunity to intern with the Firefox Performance Engineering team. To finish off my internship, I'm happy to announce some new changes with file I/O in the Firefox front-end. >> >> Up until this point, most file I/O in chrome code has been done using the `OS.File` API [1]. This API has suited our needs for many years (10!), but the implementation raises some concerns about start-up performance, cache-contention, and memory usage (see bug 1231711 for more info). >> >> This summer, a significant amount of work has been done to implement a new file API written in C++ which is not subject to these concerns. The new API, called `IOUtils`, is now available in the latest nightlies, and it is slated to replace `OS.File`. Work is ongoing to replace `OS.File` usages with analogous calls to `IOUtils` (see bug 986145), and new usages of `OS.File` should not be introduced. The new API is very similar to `OS.File`, but has some important ergonomic and performance improvements. You can find a migration guide here [2]. >> >> TL;DR if you need to read, write, or otherwise manipulate files from privileged JavaScript, please do so using methods on the new `IOUtils` global. >> >> Questions? Check out the FAQ in the migration guide, or head over to the #perf channel on Matrix and we'll be happy to help out :) >> >> Cheers, >> Keefer >> >> [1]: https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/OSFile.jsm >> [2]: https://docs.google.com/document/d/10_3dg0azLREP76esG5yWX4O8z4MJ0VUsplfPaTqhPxc/view >> >> _______________________________________________ >> firefox-dev mailing list >> firefox-dev@mozilla.org >> https://mail.mozilla.org/listinfo/firefox-dev >> > _______________________________________________ > firefox-dev mailing list > firefox-dev@mozilla.org > https://mail.mozilla.org/listinfo/firefox-dev
N
neandr
Sat, Aug 29, 2020 5:05 PM

Thanks for forwarding and informing the TB community.

There have been discussions recently about accessing the file system to
r/w data (eg. preferences and/or addon relevant data sets).
What is the 'new' perspective for that using the IOUtilswith TB ...
and if available with TB what are the implementation and release plans
for using it with addons also?

Am 29.08.20 um 07:51 schrieb Philipp Kewisch:

Begin forwarded message:

From: David Teller dteller@mozilla.com
Date: 28. August 2020 at 4:50:39 PM CEST
To: Keefer Rourke krourke@mozilla.com, firefox-dev@mozilla.org
Subject: Re:  New changes for File APIs in the Firefox Front-end

Ten years already? Gasp, OS.File was one of my first serious
contributions to Firefox :)

But yeah, it now needs to go. The replacement looks much better, thanks
a lot for taking care of that!

Cheers,
David

On 28/08/2020 15:59, Keefer Rourke wrote:

Hi folks,

I'm Keefer — this summer I had the amazing opportunity to intern
with the Firefox Performance Engineering team. To finish off my
internship, I'm happy to announce some new changes with file I/O in
the Firefox front-end.

Up until this point, most file I/O in chrome code has been done
using the OS.File API 1. This API has suited our needs for many
years (10!), but the implementation raises some concerns about
start-up performance, cache-contention, and memory usage (see bug
1231711 for more info).

This summer, a significant amount of work has been done to implement
a new file API written in C++ which is not subject to these
concerns. The new API, called IOUtils, is now available in the
latest nightlies, and it is slated to replace OS.File. Work is
ongoing to replace OS.File usages with analogous calls to
IOUtils (see bug 986145), and new usages of OS.File should not
be introduced. The new API is very similar to OS.File, but has
some important ergonomic and performance improvements. You can find
a migration guide here 2.

TL;DR if you need to read, write, or otherwise manipulate files from
privileged JavaScript, please do so using methods on the new
IOUtils global.

Questions? Check out the FAQ in the migration guide, or head over to
the #perf channel on Matrix and we'll be happy to help out :)

Cheers,
Keefer


firefox-dev mailing list
firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/firefox-dev

Thanks for forwarding and informing the TB community. There have been discussions recently about accessing the file system to r/w data (eg. preferences and/or addon relevant data sets). What is the 'new' perspective for that using the `IOUtils`with TB ... and if available with TB what are the implementation and release plans for using it with addons also? Am 29.08.20 um 07:51 schrieb Philipp Kewisch: > > Begin forwarded message: > >> *From:* David Teller <dteller@mozilla.com> >> *Date:* 28. August 2020 at 4:50:39 PM CEST >> *To:* Keefer Rourke <krourke@mozilla.com>, firefox-dev@mozilla.org >> *Subject:* *Re:  New changes for File APIs in the Firefox Front-end* >> >> Ten years already? Gasp, OS.File was one of my first serious >> contributions to Firefox :) >> >> But yeah, it now needs to go. The replacement looks much better, thanks >> a lot for taking care of that! >> >> Cheers, >> David >> >> On 28/08/2020 15:59, Keefer Rourke wrote: >>> Hi folks, >>> >>> I'm Keefer — this summer I had the amazing opportunity to intern >>> with the Firefox Performance Engineering team. To finish off my >>> internship, I'm happy to announce some new changes with file I/O in >>> the Firefox front-end. >>> >>> Up until this point, most file I/O in chrome code has been done >>> using the `OS.File` API [1]. This API has suited our needs for many >>> years (10!), but the implementation raises some concerns about >>> start-up performance, cache-contention, and memory usage (see bug >>> 1231711 for more info). >>> >>> This summer, a significant amount of work has been done to implement >>> a new file API written in C++ which is not subject to these >>> concerns. The new API, called `IOUtils`, is now available in the >>> latest nightlies, and it is slated to replace `OS.File`. Work is >>> ongoing to replace `OS.File` usages with analogous calls to >>> `IOUtils` (see bug 986145), and new usages of `OS.File` should not >>> be introduced. The new API is very similar to `OS.File`, but has >>> some important ergonomic and performance improvements. You can find >>> a migration guide here [2]. >>> >>> TL;DR if you need to read, write, or otherwise manipulate files from >>> privileged JavaScript, please do so using methods on the new >>> `IOUtils` global. >>> >>> Questions? Check out the FAQ in the migration guide, or head over to >>> the #perf channel on Matrix and we'll be happy to help out :) >>> >>> Cheers, >>> Keefer >>> >>> [1]: >>> https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/OSFile.jsm >>> [2]: >>> https://docs.google.com/document/d/10_3dg0azLREP76esG5yWX4O8z4MJ0VUsplfPaTqhPxc/view >>> >>> _______________________________________________ >>> firefox-dev mailing list >>> firefox-dev@mozilla.org >>> https://mail.mozilla.org/listinfo/firefox-dev >>> >> _______________________________________________ >> firefox-dev mailing list >> firefox-dev@mozilla.org >> https://mail.mozilla.org/listinfo/firefox-dev > > _______________________________________________ > Maildev mailing list > Maildev@lists.thunderbird.net > http://lists.thunderbird.net/mailman/listinfo/maildev_lists.thunderbird.net