Open Bug 1492611 Opened 6 years ago Updated 3 months ago

Regexes are very slow typing in web.whatsapp.com with many images.

Categories

(Core :: JavaScript Engine, enhancement, P3)

enhancement

Tracking

()

Performance Impact low

People

(Reporter: emilio, Unassigned)

References

Details

Attachments

(2 files)

The profiles in bug 1492605 show a lot of sadness on layout / networking stuff, but RegExpBuiltinExec also takes ~40% of the total time, which is a lot.
See Also: → 1492605
Bug 1367105 might help here.

If someone has time to look into this, I'd suggest logging the regular expressions and strings we're executing and then we can try to create a micro-benchmark out of that etc.
Whiteboard: [qf]
Whiteboard: [qf] → [qf:p3:f67]
(In reply to Jan de Mooij [:jandem] from comment #1)
> I'd suggest logging the regular
> expressions and strings we're executing

Thanks -- I'd be willing to try that, but I'm not sure how. :)  What would I do to log those?  (What's a good function to break in, or add/enable logging in?)
Flags: needinfo?(jdemooij)
(In reply to Daniel Holbert [:dholbert] from comment #2)
> Thanks -- I'd be willing to try that, but I'm not sure how. :)  What would I
> do to log those?  (What's a good function to break in, or add/enable logging
> in?)

So here:

  https://searchfox.org/mozilla-central/rev/ffe6eaf2f032e58ec3b0650a87df2c62ae4ca441/js/src/builtin/RegExp.js#1017

You could try to add something like:

  DumpMessage("RegExp: " + R);
  DumpMessage("Input: " + S);

And remove the #ifdef/#endif here to enable in non-debug builds:

  https://searchfox.org/mozilla-central/rev/ffe6eaf2f032e58ec3b0650a87df2c62ae4ca441/js/src/vm/SelfHosting.cpp#446-458

Let me know if that doesn't work for some reason.
Flags: needinfo?(jdemooij)
That gives me many copies of output like the following, when I'm loading whatsapp with a thread that has my mega-emoji message in its backscroll:

"RegExp: /(\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udff4\udb40\udc75\udb40\udc73\udb40\udc74\udb40\udc78\udb40\udc7f|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66-\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66-\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66-\udc67]|\ud83d\udc68\u200d\u2764\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\u200d\ud83d\udc8b\u200d\ud83d[\udc68-\udc69]|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66-\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66-\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66-\udc67]|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66-\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66-\udc67]|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\ud83c\udffb\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc68\ud83c\udffb\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc68\ud83c\udffc\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc68\ud83c\udffc\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc68\ud83c\udffd\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc68\ud83c\udffd\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc68\ud83c\udffe\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc68\ud83c\udffe\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc68\ud83c\udfff\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc68\ud83c\udfff\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc68\u200d\u2764\u200d\ud83d\udc68|\ud83d\udc69\ud83c\udffb\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc69\ud83c\udffb\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc69\ud83c\udffc\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc69\ud83c\udffc\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc69\ud83c\udffd\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc69\ud83c\udffd\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc69\ud83c\udffe\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc69\ud83c\udffe\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc69\ud83c\udfff\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc69\ud83c\udfff\u200d\ud83d[\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc69\u200d\u2764\u200d\ud83d[\udc68-\udc69]|\ud83c\udfc3\ud83c\udffb\u200d[\u2640\u2642]|\ud83c\udfc3\ud83c\udffc\u200d[\u2640\u2642]|\ud83c\udfc3\ud83c\udffd\u200d[\u2640\u2642]|\ud83c\udfc3\ud83c\udffe\u200d[\u2640\u2642]|\ud83c\udfc3\ud83c\udfff\u200d[\u2640\u2642]|\ud83c\udfc4\ud83c\udffb\u200d[\u2640\u2642]|\ud83c\udfc4\ud83c\udffc\u200d[\u2640\u2642]|\ud83c\udfc4\ud83c\udffd\u200d[\u2640\u2642]|\ud83c\udfc4\ud83c\udffe\u200d[\u2640\u2642]|\ud83c\udfc4\ud83c\udfff\u200d[\u2640\u2642]|\ud83c\udfca\ud83c\udffb\u200d[\u2640\u2642]|\ud83c\udfca\ud83c\udffc\u200d[\u2640\u2642]|\ud83c\udfca\ud83c\udffd\u200d[\u2640\u2642]|\ud83c\udfca\ud83c\udffe\u200d[\u2640\u2642]|\ud83c\udfca\ud83c\udfff\u200d[\u2640\u2642]|\ud83c\udfcb\ud83c\udffb\u200d[\u2640\u2642]|\ud83c\udfcb\ud83c\udffc\u200d[\u2640\u2642]|\ud83c\udfcb\ud83c\udffd\u200d[\u2640\u2642]|\ud83c\udfcb\ud83c\udffe\u200d[\u2640\u2642]|\ud83c\udfcb\ud83c\udfff\u200d[\u2640\u2642]|\ud83c\udfcc\ud83c\udffb\u200d[\u2640\u2642]|\ud83c\udfcc\ud83c\udffc\u200d[\u2640\u2642]|\ud83c\udfcc\ud83c\udffd\u200d[\u2640\u2642]|\ud83c\udfcc\ud83c\udffe\u200d[\u2640\u2642]|\ud83c\udfcc\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc68\ud83c\udffb\u200d[\u2695-\u2696\u2708]|\ud83d\udc68\ud83c\udffc\u200d[\u2695-\u2696\u2708]|\ud83d\udc68\ud83c\udffd\u200d[\u2695-\u2696\u2708]|\ud83d\udc68\ud83c\udffe\u200d[\u2695-\u2696\u2708]|\ud83d\udc68\ud83c\udfff\u200d[\u2695-\u2696\u2708]|\ud83d\udc69\ud83c\udffb\u200d[\u2695-\u2696\u2708]|\ud83d\udc69\ud83c\udffc\u200d[\u2695-\u2696\u2708]|\ud83d\udc69\ud83c\udffd\u200d[\u2695-\u2696\u2708]|\ud83d\udc69\ud83c\udffe\u200d[\u2695-\u2696\u2708]|\ud83d\udc69\ud83c\udfff\u200d[\u2695-\u2696\u2708]|\ud83d\udc6e\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc6e\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc6e\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc6e\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc6e\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc6f\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc6f\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc6f\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc6f\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc6f\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc71\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc71\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc71\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc71\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc71\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc73\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc73\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc73\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc73\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc73\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc77\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc77\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc77\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc77\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc77\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc81\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc81\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc81\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc81\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc81\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc82\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc82\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc82\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc82\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc82\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc86\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc86\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc86\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc86\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc86\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udc87\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udc87\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udc87\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udc87\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udc87\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udd75\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udd75\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udd75\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udd75\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udd75\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\ude45\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\ude45\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\ude45\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\ude45\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\ude45\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\ude46\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\ude46\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\ude46\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\ude46\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\ude46\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\ude47\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\ude47\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\ude47\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\ude47\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\ude47\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\ude4b\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\ude4b\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\ude4b\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\ude4b\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\ude4b\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\ude4d\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\ude4d\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\ude4d\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\ude4d\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\ude4d\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\ude4e\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\ude4e\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\ude4e\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\ude4e\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\ude4e\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udea3\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udea3\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udea3\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udea3\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udea3\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udeb4\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udeb4\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udeb4\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udeb4\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udeb4\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udeb5\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udeb5\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udeb5\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udeb5\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udeb5\ud83c\udfff\u200d[\u2640\u2642]|\ud83d\udeb6\ud83c\udffb\u200d[\u2640\u2642]|\ud83d\udeb6\ud83c\udffc\u200d[\u2640\u2642]|\ud83d\udeb6\ud83c\udffd\u200d[\u2640\u2642]|\ud83d\udeb6\ud83c\udffe\u200d[\u2640\u2642]|\ud83d\udeb6\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udd26\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udd26\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udd26\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udd26\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udd26\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udd37\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udd37\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udd37\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udd37\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udd37\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udd38\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udd38\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udd38\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udd38\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udd38\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udd39\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udd39\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udd39\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udd39\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udd39\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udd3d\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udd3d\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udd3d\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udd3d\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udd3d\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udd3e\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udd3e\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udd3e\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udd3e\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udd3e\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\uddd6\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\uddd6\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\uddd6\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\uddd6\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\uddd6\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\uddd7\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\uddd7\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\uddd7\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\uddd7\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\uddd7\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\uddd8\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\uddd8\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\uddd8\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\uddd8\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\uddd8\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\uddd9\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\uddd9\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\uddd9\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\uddd9\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\uddd9\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\uddda\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\uddda\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\uddda\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\uddda\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\uddda\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udddb\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udddb\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udddb\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udddb\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udddb\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udddc\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udddc\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udddc\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udddc\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udddc\ud83c\udfff\u200d[\u2640\u2642]|\ud83e\udddd\ud83c\udffb\u200d[\u2640\u2642]|\ud83e\udddd\ud83c\udffc\u200d[\u2640\u2642]|\ud83e\udddd\ud83c\udffd\u200d[\u2640\u2642]|\ud83e\udddd\ud83c\udffe\u200d[\u2640\u2642]|\ud83e\udddd\ud83c\udfff\u200d[\u2640\u2642]|\ud83c\udff3\u200d\ud83c\udf08|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc68\u200d\ud83d[\udc66-\udc67\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\ud83d\udc69\u200d\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d\udc69\u200d\ud83d[\udc66-\udc67\udcbb-\udcbc\udd27\udd2c\ude80\ude92]|\u26f9\ud83c\udffb\u200d[\u2640\u2642]|\u26f9\ud83c\udffc\u200d[\u2640\u2642]|\u26f9\ud83c\udffd\u200d[\u2640\u2642]|\u26f9\ud83c\udffe\u200d[\u2640\u2642]|\u26f9\ud83c\udfff\u200d[\u2640\u2642]|\ud83c\uddfd\ud83c[\uddea\uddf0\uddf8-\uddf9\uddfc]|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1-\uddf2\uddf4\uddf6-\uddfa\uddfc-\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6-\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb-\uddfc\uddfe-\uddff]|\ud83c\udde8\ud83c[\udde6\udde8-\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef-\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec-\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6-\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2-\uddf3\uddf7\uddf9-\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4-\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2-\uddf3\uddf5\uddf7\uddfc\uddfe-\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4-\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8-\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb-\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2-\uddf3\uddf8\uddfe-\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c\udf85\ud83c[\udffb-\udfff]|\ud83c\udfc3\ud83c[\udffb-\udfff]|\ud83c\udfc3\u200d[\u2640\u2642]|\ud83c\udfc4\ud83c[\udffb-\udfff]|\ud83c\udfc4\u200d[\u2640\u2642]|\ud83c\udfc7\ud83c[\udffb-\udfff]|\ud83c\udfca\ud83c[\udffb-\udfff]|\ud83c\udfca\u200d[\u2640\u2642]|\ud83c\udfcb\ud83c[\udffb-\udfff]|\ud83c\udfcb\u200d[\u2640\u2642]|\ud83c\udfcc\ud83c[\udffb-\udfff]|\ud83c\udfcc\u200d[\u2640\u2642]|\ud83d\udc42\ud83c[\udffb-\udfff]|\ud83d\udc43\ud83c[\udffb-\udfff]|\ud83d\udc46\ud83c[\udffb-\udfff]|\ud83d\udc47\ud83c[\udffb-\udfff]|\ud83d\udc48\ud83c[\udffb-\udfff]|\ud83d\udc49\ud83c[\udffb-\udfff]|\ud83d\udc4a\ud83c[\udffb-\udfff]|\ud83d\udc4b\ud83c[\udffb-\udfff]|\ud83d\udc4c\ud83c[\udffb-\udfff]|\ud83d\udc4d\ud83c[\udffb-\udfff]|\ud83d\udc4e\ud83c[\udffb-\udfff]|\ud83d\udc4f\ud83c[\udffb-\udfff]|\ud83d\udc50\ud83c[\udffb-\udfff]|\ud83d\udc66\ud83c[\udffb-\udfff]|\ud83d\udc67\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\u200d[\u2695-\u2696\u2708]|\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\u200d[\u2695-\u2696\u2708]|\ud83d\udc6e\ud83c[\udffb-\udfff]|\ud83d\udc6e\u200d[\u2640\u2642]|\ud83d\udc6f\ud83c[\udffb-\udfff]|\ud83d\udc6f\u200d[\u2640\u2642]|\ud83d\udc70\ud83c[\udffb-\udfff]|\ud83d\udc71\ud83c[\udffb-\udfff]|\ud83d\udc71\u200d[\u2640\u2642]|\ud83d\udc72\ud83c[\udffb-\udfff]|\ud83d\udc73\ud83c[\udffb-\udfff]|\ud83d\udc73\u200d[\u2640\u2642]|\ud83d\udc74\ud83c[\udffb-\udfff]|\ud83d\udc75\ud83c[\udffb-\udfff]|\ud83d\udc76\ud83c[\udffb-\udfff]|\ud83d\udc77\ud83c[\udffb-\udfff]|\ud83d\udc77\u200d[\u2640\u2642]|\ud83d\udc78\ud83c[\udffb-\udfff]|\ud83d\udc7c\ud83c[\udffb-\udfff]|\ud83d\udc81\ud83c[\udffb-\udfff]|\ud83d\udc81\u200d[\u2640\u2642]|\ud83d\udc82\ud83c[\udffb-\udfff]|\ud83d\udc82\u200d[\u2640\u2642]|\ud83d\udc83\ud83c[\udffb-\udfff]|\ud83d\udc85\ud83c[\udffb-\udfff]|\ud83d\udc86\ud83c[\udffb-\udfff]|\ud83d\udc86\u200d[\u2640\u2642]|\ud83d\udc87\ud83c[\udffb-\udfff]|\ud83d\udc87\u200d[\u2640\u2642]|\ud83d\udcaa\ud83c[\udffb-\udfff]|\ud83d\udd74\ud83c[\udffb-\udfff]|\ud83d\udd75\ud83c[\udffb-\udfff]|\ud83d\udd75\u200d[\u2640\u2642]|\ud83d\udd7a\ud83c[\udffb-\udfff]|\ud83d\udd90\ud83c[\udffb-\udfff]|\ud83d\udd95\ud83c[\udffb-\udfff]|\ud83d\udd96\ud83c[\udffb-\udfff]|\ud83d\ude45\ud83c[\udffb-\udfff]|\ud83d\ude45\u200d[\u2640\u2642]|\ud83d\ude46\ud83c[\udffb-\udfff]|\ud83d\ude46\u200d[\u2640\u2642]|\ud83d\ude47\ud83c[\udffb-\udfff]|\ud83d\ude47\u200d[\u2640\u2642]|\ud83d\ude4b\ud83c[\udffb-\udfff]|\ud83d\ude4b\u200d[\u2640\u2642]|\ud83d\ude4c\ud83c[\udffb-\udfff]|\ud83d\ude4d\ud83c[\udffb-\udfff]|\ud83d\ude4d\u200d[\u2640\u2642]|\ud83d\ude4e\ud83c[\udffb-\udfff]|\ud83d\ude4e\u200d[\u2640\u2642]|\ud83d\ude4f\ud83c[\udffb-\udfff]|\ud83d\udea3\ud83c[\udffb-\udfff]|\ud83d\udea3\u200d[\u2640\u2642]|\ud83d\udeb4\ud83c[\udffb-\udfff]|\ud83d\udeb4\u200d[\u2640\u2642]|\ud83d\udeb5\ud83c[\udffb-\udfff]|\ud83d\udeb5\u200d[\u2640\u2642]|\ud83d\udeb6\ud83c[\udffb-\udfff]|\ud83d\udeb6\u200d[\u2640\u2642]|\ud83d\udec0\ud83c[\udffb-\udfff]|\ud83d\udecc\ud83c[\udffb-\udfff]|\ud83e\udd18\ud83c[\udffb-\udfff]|\ud83e\udd19\ud83c[\udffb-\udfff]|\ud83e\udd1a\ud83c[\udffb-\udfff]|\ud83e\udd1b\ud83c[\udffb-\udfff]|\ud83e\udd1c\ud83c[\udffb-\udfff]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83e\udd1e\ud83c[\udffb-\udfff]|\ud83e\udd1f\ud83c[\udffb-\udfff]|\ud83e\udd26\ud83c[\udffb-\udfff]|\ud83e\udd26\u200d[\u2640\u2642]|\ud83e\udd30\ud83c[\udffb-\udfff]|\ud83e\udd31\ud83c[\udffb-\udfff]|\ud83e\udd32\ud83c[\udffb-\udfff]|\ud83e\udd33\ud83c[\udffb-\udfff]|\ud83e\udd34\ud83c[\udffb-\udfff]|\ud83e\udd35\ud83c[\udffb-\udfff]|\ud83e\udd36\ud83c[\udffb-\udfff]|\ud83e\udd37\ud83c[\udffb-\udfff]|\ud83e\udd37\u200d[\u2640\u2642]|\ud83e\udd38\ud83c[\udffb-\udfff]|\ud83e\udd38\u200d[\u2640\u2642]|\ud83e\udd39\ud83c[\udffb-\udfff]|\ud83e\udd39\u200d[\u2640\u2642]|\ud83e\udd3c\u200d[\u2640\u2642]|\ud83e\udd3d\ud83c[\udffb-\udfff]|\ud83e\udd3d\u200d[\u2640\u2642]|\ud83e\udd3e\ud83c[\udffb-\udfff]|\ud83e\udd3e\u200d[\u2640\u2642]|\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd2\ud83c[\udffb-\udfff]|\ud83e\uddd3\ud83c[\udffb-\udfff]|\ud83e\uddd4\ud83c[\udffb-\udfff]|\ud83e\uddd5\ud83c[\udffb-\udfff]|\ud83e\uddd6\ud83c[\udffb-\udfff]|\ud83e\uddd6\u200d[\u2640\u2642]|\ud83e\uddd7\ud83c[\udffb-\udfff]|\ud83e\uddd7\u200d[\u2640\u2642]|\ud83e\uddd8\ud83c[\udffb-\udfff]|\ud83e\uddd8\u200d[\u2640\u2642]|\ud83e\uddd9\ud83c[\udffb-\udfff]|\ud83e\uddd9\u200d[\u2640\u2642]|\ud83e\uddda\ud83c[\udffb-\udfff]|\ud83e\uddda\u200d[\u2640\u2642]|\ud83e\udddb\ud83c[\udffb-\udfff]|\ud83e\udddb\u200d[\u2640\u2642]|\ud83e\udddc\ud83c[\udffb-\udfff]|\ud83e\udddc\u200d[\u2640\u2642]|\ud83e\udddd\ud83c[\udffb-\udfff]|\ud83e\udddd\u200d[\u2640\u2642]|\ud83e\udddf\u200d[\u2640\u2642]|\ud83e\uddde\u200d[\u2640\u2642]|#\ufe0f\u20e3|\*\ufe0f\u20e3|0\ufe0f\u20e3|1\ufe0f\u20e3|2\ufe0f\u20e3|3\ufe0f\u20e3|4\ufe0f\u20e3|5\ufe0f\u20e3|6\ufe0f\u20e3|7\ufe0f\u20e3|8\ufe0f\u20e3|9\ufe0f\u20e3|\u261d\ud83c[\udffb-\udfff]|\u26f9\ud83c[\udffb-\udfff]|\u26f9\u200d[\u2640\u2642]|\u270a\ud83c[\udffb-\udfff]|\u270b\ud83c[\udffb-\udfff]|\u270c\ud83c[\udffb-\udfff]|\u270d\ud83c[\udffb-\udfff]|0\u20e3|1\u20e3|2\u20e3|3\u20e3|4\u20e3|5\u20e3|6\u20e3|7\u20e3|8\u20e3|9\u20e3|#\u20e3|\*\u20e3|\ud83c[\udc04\udccf\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\udf00-\udf21\udf24-\udf93\udf96-\udf97\udf99-\udf9b\udf9e-\udff0\udff3-\udff5\udff7-\udfff]|\ud83d[\udc00-\udcfd\udcff-\udd3d\udd49-\udd4e\udd50-\udd67\udd6f-\udd70\udd73-\udd7a\udd87\udd8a-\udd8d\udd90\udd95-\udd96\udda4-\udda5\udda8\uddb1-\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa-\ude4f\ude80-\udec5\udecb-\uded2\udee0-\udee5\udee9\udeeb-\udeec\udef0\udef3-\udef8]|\ud83e[\udd10-\udd3a\udd3c-\udd3e\udd40-\udd45\udd47-\udd4c\udd50-\udd6b\udd80-\udd97\uddc0\uddd0-\udde6]|[\xa9\xae\u203c\u2049\u2122\u2139\u2194-\u2199\u21a9-\u21aa\u231a-\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\u24c2\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614-\u2615\u2618\u261d\u2620\u2622-\u2623\u2626\u262a\u262e-\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665-\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b-\u269c\u26a0-\u26a1\u26aa-\u26ab\u26b0-\u26b1\u26bd-\u26be\u26c4-\u26c5\u26c8\u26ce-\u26cf\u26d1\u26d3-\u26d4\u26e9-\u26ea\u26f0-\u26f5\u26f7-\u26fa\u26fd\u2702\u2705\u2708-\u270d\u270f\u2712\u2714\u2716\u271d\u2721\u2728\u2733-\u2734\u2744\u2747\u274c\u274e\u2753-\u2755\u2757\u2763-\u2764\u2795-\u2797\u27a1\u27b0\u27bf\u2934-\u2935\u2b05-\u2b07\u2b1b-\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299\ue001-\ue05a\ue101-\ue15a\ue201-\ue253\ue301-\ue34d\ue401-\ue44c\ue501-\ue509\ue50b-\ue537\ufe00-\ufe0f])/g"



"Input: \ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude01\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04\ud83d\ude04a adfadsfadf asdfasdf asdf"
(I think "a adfadsfadf asdfasdf asdf" at the end there is gibberish that I was typing after all of the emoji in an earlier message.)
Here are a few lines of logging (I think they're the same two lines repeated over and over, but I haven't double-checked that).
It might be interesting to create a micro-benchmark out of this so we can see if the time matches what you see in the profile, and so we can check how we compare to Chrome/Safari.
Here's an attempt at a microbenchmark.

This does 100,000 attempts of running exec() on the regexp + string from comment 4. (with both the regexp and the string being local variables inside the loop, in case that helps make it more expensive in a relevant way)

This eats up time, but it looks pretty good for us vs. Chrome here.  So if there's something pathological that we're running into, then I don't think this benchmark is hitting it.

Chrome: 270ms
Firefox Nightly: 98ms

Version info:
Google Chrome	71.0.3554.4 (Official Build) dev (64-bit)
Firefox Nightly 64.0a1 (2018-09-26) (64-bit)
Ubuntu 18.04
Priority: -- → P3
Whiteboard: [qf:p3:f67] → [qf:p3]
Performance Impact: --- → P3
Whiteboard: [qf:p3]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: