[Webkit-unassigned] [Bug 245797] Array.prototype.map is slower in JSC than V8 (particularly with literals)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Oct 2 00:01:52 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=245797

--- Comment #3 from Yusuke Suzuki <ysuzuki at apple.com> ---
Probably this is good enough since non-inline one is more important use case than inline case.
inline one can be improved if we introduce a bit more complicated MovHint analysis.

benchmark                  time (avg)             (min … max)       p75       p99      p995
------------------------------------------------------------- -----------------------------
Array.map x 0           24.54 ns/iter  (22.94 ns … 131.96 ns)   23.7 ns  52.89 ns  72.85 ns
Array.map x 1           29.48 ns/iter   (28.38 ns … 91.36 ns)  29.17 ns  39.09 ns  40.02 ns
Array.map x 2           27.35 ns/iter  (23.62 ns … 108.33 ns)  24.51 ns   68.3 ns  70.45 ns
Array.map x 3           39.27 ns/iter   (23.61 ns … 136.4 ns)  64.96 ns  76.57 ns   78.4 ns
Array.map x 4           24.36 ns/iter    (23.29 ns … 49.6 ns)  24.05 ns  34.45 ns  34.77 ns
Array.map x 5           24.56 ns/iter   (23.29 ns … 76.57 ns)  24.07 ns  36.74 ns  50.33 ns
Array.map x 6            24.4 ns/iter   (23.31 ns … 35.53 ns)   24.1 ns  34.31 ns  34.61 ns
Array.map x 7           24.61 ns/iter   (23.29 ns … 84.06 ns)   24.1 ns  34.63 ns  49.02 ns
Array.map x 8           24.47 ns/iter   (23.29 ns … 65.72 ns)  24.13 ns  34.63 ns  36.55 ns
Array.map x 9           24.39 ns/iter   (23.27 ns … 35.66 ns)  24.11 ns  34.44 ns  34.56 ns
Array.map x 10          24.46 ns/iter   (23.28 ns … 68.06 ns)  24.13 ns  34.26 ns  34.59 ns
Array.map x 11          24.45 ns/iter    (23.28 ns … 87.8 ns)  24.17 ns  34.46 ns  34.82 ns
Array.map x 12           24.5 ns/iter   (23.28 ns … 70.95 ns)  24.16 ns   34.5 ns  35.24 ns
Array.map x 13          24.47 ns/iter   (23.28 ns … 75.69 ns)  24.12 ns  34.26 ns  34.57 ns
Array.map x 14          24.54 ns/iter   (23.29 ns … 89.96 ns)  24.14 ns  34.45 ns  35.22 ns
Array.map x 15          24.47 ns/iter   (23.28 ns … 57.91 ns)  24.19 ns  34.42 ns  34.66 ns
Array.map x 16          24.62 ns/iter    (23.29 ns … 69.3 ns)  24.22 ns  34.65 ns     49 ns
Array.map x 17           24.6 ns/iter   (23.27 ns … 73.38 ns)  24.18 ns   34.9 ns   43.3 ns
Array.map x 18          24.65 ns/iter   (23.29 ns … 90.89 ns)   24.2 ns  35.15 ns  42.95 ns
Array.map x 19          24.58 ns/iter   (23.28 ns … 80.27 ns)  24.21 ns  34.79 ns  37.04 ns
inline Array.map x 0     19.7 ns/iter   (18.96 ns … 33.95 ns)   19.6 ns  28.68 ns   29.1 ns
inline Array.map x 1    23.67 ns/iter   (22.77 ns … 53.31 ns)  23.57 ns  33.13 ns  33.54 ns
inline Array.map x 2    24.75 ns/iter   (23.66 ns … 66.57 ns)  24.56 ns  35.31 ns  35.83 ns
inline Array.map x 3     26.4 ns/iter  (24.76 ns … 113.46 ns)  25.85 ns  50.35 ns  55.89 ns
inline Array.map x 4     26.9 ns/iter   (25.72 ns … 61.44 ns)   26.7 ns  36.27 ns  36.78 ns
inline Array.map x 5    26.71 ns/iter   (25.53 ns … 77.83 ns)  26.63 ns  36.52 ns  37.21 ns
inline Array.map x 6    28.69 ns/iter   (27.15 ns … 61.93 ns)  28.81 ns  38.05 ns  38.55 ns
inline Array.map x 7    32.51 ns/iter    (30.23 ns … 77.6 ns)     33 ns  44.39 ns  44.99 ns
inline Array.map x 8    26.38 ns/iter   (25.42 ns … 94.17 ns)   26.2 ns  35.94 ns  36.53 ns
inline Array.map x 9    26.95 ns/iter   (26.03 ns … 48.96 ns)  26.85 ns  36.67 ns  37.02 ns
inline Array.map x 10   29.16 ns/iter   (28.09 ns … 54.53 ns)  28.98 ns  38.25 ns  38.58 ns
inline Array.map x 11   30.03 ns/iter      (29 ns … 52.77 ns)  29.88 ns  38.81 ns   39.3 ns
inline Array.map x 12   31.15 ns/iter   (30.15 ns … 69.39 ns)  30.95 ns  39.96 ns  40.58 ns
inline Array.map x 13   31.98 ns/iter   (30.96 ns … 54.88 ns)  31.78 ns  41.58 ns  41.92 ns
inline Array.map x 14   33.01 ns/iter   (31.87 ns … 49.52 ns)  32.68 ns  42.47 ns  42.64 ns
inline Array.map x 15   33.81 ns/iter   (32.65 ns … 58.02 ns)  33.47 ns  43.13 ns  43.36 ns
inline Array.map x 16   35.03 ns/iter    (33.81 ns … 62.9 ns)  34.71 ns  44.63 ns  45.16 ns
inline Array.map x 17   35.81 ns/iter  (34.46 ns … 118.63 ns)  35.45 ns  45.33 ns  45.87 ns
inline Array.map x 18   36.77 ns/iter   (35.35 ns … 58.17 ns)  36.57 ns  46.85 ns  47.06 ns
inline Array.map x 19   37.95 ns/iter    (36.56 ns … 65.8 ns)  37.68 ns  48.07 ns  48.39 ns

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20221002/73542f35/attachment-0001.htm>


More information about the webkit-unassigned mailing list