I had a discussion with pcwalton and kmc yesterday about string interning. The concurrent cuckoo hash table is cool but maybe not the right fit for the browser workload for a couple of reasons: a) interning lookups are mostly not on the hottest paths. They will occur during parsing, and that can mostly happen off the main thread. Parsing selectors for querySelectorAll etc would happen on the main thread (or at least synchronously with it), but we cache parsed selectors in Gecko anyway (as of recently). Also, we have the option of wrapping a thread-local cache around the global intern table. b) it's important to efficiently resize the table and shrink it by removing unused atoms. That may not be easy to add to the concurrent cuckoo table.
Regarding new layout features, I think it's important to tackle some architectural issues before adding more features: -- Bidi and vertical text -- Fragmentation (page/column/overflow:fragments breaking) The former introduces abstractions that will be easier to introduce now than any time in the future, since all your layout features will build on them. The latter is a big architectural thing that will also be easier to introduce now than in the future, and also may impact your design in fundamental ways. Rob -- Jtehsauts tshaei dS,o n" Wohfy Mdaon yhoaus eanuttehrotraiitny eovni le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o Whhei csha iids teoa stiheer :p atroa lsyazye,d 'mYaonu,r "sGients uapr,e tfaokreg iyvoeunr, 'm aotr atnod sgaoy ,h o'mGee.t" uTph eann dt hwea lmka'n? gBoutt uIp waanndt wyeonut thoo mken.o w _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo