{"id":2268,"date":"2024-06-01T08:39:43","date_gmt":"2024-06-01T08:39:43","guid":{"rendered":"https:\/\/mvermeulen.org\/perf\/?page_id=2268"},"modified":"2024-06-01T08:47:34","modified_gmt":"2024-06-01T08:47:34","slug":"java-jmh","status":"publish","type":"page","link":"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/java-jmh\/","title":{"rendered":"java-jmh"},"content":{"rendered":"\n<p>java-jmh benchmark with one workload. Looks to be multi-threaded.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"960\" src=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-2.png\" alt=\"\" class=\"wp-image-2269\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-2.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-2-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-2-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>Topdown profile shows a high retirement rate with some backend stalls.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"960\" src=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-3.png\" alt=\"\" class=\"wp-image-2271\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-3.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-3-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-3-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>AMD metrics confirm a high on-cpu level, little floating point and high retirement rate.  Also a very low opcache usage.  Looks like a very small kernel.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              509.777\non_cpu               0.982          # 15.71 \/ 16 cores\nutime                8004.923\nstime                2.769\nnvcsw                49826          # 33.47%\nnivcsw               99047          # 66.53%\ninblock              0              # 0.00\/sec\nonblock              17672          # 34.67\/sec\ncpu-clock            8007785628262  # 8007.786 seconds\ntask-clock           8007827632415  # 8007.828 seconds\npage faults          223727         # 27.939\/sec\ncontext switches     151242         # 18.887\/sec\ncpu migrations       1891           # 0.236\/sec\nmajor page faults    2              # 0.000\/sec\nminor page faults    220801         # 27.573\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             15915518170708 # 166.691 branches per 1000 inst\nbranch misses        550866434      # 0.00% branch miss\nconditional          15912225312127 # 166.656 conditional branches per 1000 inst\nindirect             412422360      # 0.004 indirect branches per 1000 inst\ncpu-cycles           34408051577478 # 4.22 GHz\ninstructions         95327100287074 # 2.77 IPC\nslots                68822482829124 #\nretiring             26485908883622 # 38.5% (74.6%) high\n-- ucode             91908220       #     0.0%\n-- fastpath          26485816975402 #    38.5%\nfrontend             1207051578090  #  1.8% ( 3.4%) low\n-- latency           44136483546    #     0.1%\n-- bandwidth         1162915094544  #     1.7%\nbackend              7810861878173  # 11.3% (22.0%)\n-- cpu               3112682017722  #     4.5%\n-- memory            4698179860451  #     6.8%\nspeculation          4542122019     #  0.0% ( 0.0%) low\n-- branch mispredict 4279899695     #     0.0%\n-- pipeline restart  262222324      #     0.0%\nsmt-contention       33314049366022 # 48.4% ( 0.0%)\ncpu-cycles           34405768127111 # 4.22 GHz\ninstructions         95688511873199 # 2.78 IPC\ninstructions         31904950256337 # 0.022 l2 access per 1000 inst\nl2 hit from l1       637075301      # 17.26% l2 miss\nl2 miss from l1      94524911       #\nl2 hit from l2 pf    31443538       #\nl3 hit from l2 pf    18422012       #\nl3 miss from l2 pf   6790706        #\ninstructions         31877393059040 # 3.578 float per 1000 inst\nfloat 512            71             # 0.000 AVX-512 per 1000 inst\nfloat 256            432            # 0.000 AVX-256 per 1000 inst\nfloat 128            114069562663   # 3.578 AVX-128 per 1000 inst\nfloat MMX            0              # 0.000 MMX per 1000 inst\nfloat scalar         144            # 0.000 scalar per 1000 inst\ninstructions         95966494168686 #\nopcache              12923902638    # 0.135 opcache per 1000 inst\nopcache miss         3214263007     # 24.9% opcache miss rate\nl1 dTLB miss         88301849       # 0.001 L1 dTLB per 1000 inst\nl2 dTLB miss         10790606       # 0.000 L2 dTLB per 1000 inst\ninstructions         95522440871597 #\nicache               6652187794     # 0.070 icache per 1000 inst\nicache miss          758584524      # 11.4% icache miss rate\nl1 iTLB miss         32610896       # 0.000 L1 iTLB per 1000 inst\nl2 iTLB miss         0              # 0.000 L2 iTLB per 1000 inst\ntlb flush            66155          # 0.000 TLB flush per 1000 inst\n<\/code><\/pre>\n\n\n\n<p>Intel metrics confirm low backend stalls with some frontend latency.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              509.669\non_cpu               0.968          # 15.49 \/ 16 cores\nutime                7893.589\nstime                1.194\nnvcsw                48373          # 26.17%\nnivcsw               136483         # 73.83%\ninblock              71600          # 140.48\/sec\nonblock              4856           # 9.53\/sec\ncpu-clock            7894706340885  # 7894.706 seconds\ntask-clock           7894744831739  # 7894.745 seconds\npage faults          158268         # 20.047\/sec\ncontext switches     187215         # 23.714\/sec\ncpu migrations       2828           # 0.358\/sec\nmajor page faults    440            # 0.056\/sec\nminor page faults    154703         # 19.596\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             11777084369669 # 166.691 branches per 1000 inst\nbranch misses        129311735      # 0.00% branch miss\nconditional          11777084387301 # 166.691 conditional branches per 1000 inst\nindirect             5486078886528  # 77.649 indirect branches per 1000 inst\nslots                38473634798144 #\nretiring             31074542941047 # 80.8% (80.8%) high\n-- ucode             24133477096    #     0.1%\n-- fastpath          31050409463951 #    80.7%\nfrontend             6549944327156  # 17.0% (17.0%)\n-- latency           913607619927   #     2.4%\n-- bandwidth         5636336707229  #    14.6%\nbackend              755296190560   #  2.0% ( 2.0%) low\n-- cpu               404623396416   #     1.1%\n-- memory            350672794144   #     0.9%\nspeculation          107159789427   #  0.3% ( 0.3%) low\n-- branch mispredict 69763669829    #     0.2%\n-- pipeline restart  37396119598    #     0.1%\nsmt-contention       0              #  0.0% ( 0.0%)\ncpu-cycles           22786482414932 # 2.80 GHz\ninstructions         68032430575994 # 2.99 IPC\nl2 access            853800828      # 0.023 l2 access per 1000 inst\nl2 miss              253998974      # 29.75% l2 miss\ncpu-cycles           12438532813893 #  2.2% memory latency\nload stalls          262523874761   #  2.1% l1 bound\nl1 miss              6309303612     #  0.0% l2 bound\nl2 miss              4874266181     #  0.0% l3 bound\nl3 miss              352585857      #  0.0% dram bound\nstore_stalls         9382546580     #  0.1% store bound\n<\/code><\/pre>\n\n\n\n<p>Process summary has most itime in org.sample.MyBE<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>596 processes\n\t 80 org.sample.MyBe      127992.80    11.20\n\t 16 java                 16006.28     1.61\n\t  8 Finalizer             8003.14     0.81\n\t  6 Common-Cleaner        8003.10     0.79\n\t  6 Thread-0              8003.07     0.78\n\t  5 JMH-Shutdown-Ti       7999.56     0.71\n\t 68 clinfo                  15.81     6.65\n\t  1 Thread-15                3.47     0.08\n\t  1 Thread-16                3.47     0.08\n\t  1 Thread-17                3.47     0.08\n\t  1 Thread-12                3.41     0.08\n\t  1 Thread-13                3.41     0.08\n\t  1 Thread-14                3.41     0.08\n\t  1 Thread-10                3.38     0.07\n\t  1 Thread-11                3.38     0.07\n\t  1 Thread-9                 3.38     0.07\n\t  1 Thread-6                 3.34     0.06\n\t  1 Thread-7                 3.34     0.06\n\t  1 Thread-8                 3.34     0.06\n\t  1 Thread-3                 3.30     0.06\n\t  1 Thread-4                 3.30     0.06\n\t  1 Thread-5                 3.30     0.06\n\t  1 Thread-1                 3.18     0.03\n\t  1 Thread-2                 3.18     0.03\n\t  1 pool-1-thread-1          3.12     0.03\n\t  1 pool-1-thread-2          3.12     0.03\n\t 38 vulkaninfo               1.14     1.51\n\t  4 vulkani:disk$0           0.12     0.16\n\t  2 llvmpipe-0               0.06     0.08\n\t  2 llvmpipe-1               0.06     0.08\n\t  2 llvmpipe-10              0.06     0.08\n\t  2 llvmpipe-11              0.06     0.08\n\t  2 llvmpipe-12              0.06     0.08\n\t  2 llvmpipe-13              0.06     0.08\n\t  2 llvmpipe-14              0.06     0.08\n\t  2 llvmpipe-15              0.06     0.08\n\t  2 llvmpipe-2               0.06     0.08\n\t  2 llvmpipe-3               0.06     0.08\n\t  2 llvmpipe-4               0.06     0.08\n\t  2 llvmpipe-5               0.06     0.08\n\t  2 llvmpipe-6               0.06     0.08\n\t  2 llvmpipe-7               0.06     0.08\n\t  2 llvmpipe-8               0.06     0.08\n\t  2 llvmpipe-9               0.06     0.08\n\t  6 php                      0.06     0.07\n\t  6 clang                    0.06     0.06\n\t  3 rocminfo                 0.03     0.00\n\t 29 C1 CompilerThre          0.00 16817.43\n\t  8 C2 CompilerThre          0.00  8003.14\n\t  8 G1 Conc#0                0.00  8003.14\n\t  8 G1 Refine#0              0.00  8003.14\n\t  8 GC Thread#0              0.00  8003.14\n\t  8 Reference Handl          0.00  8003.14\n\t  8 Service Thread           0.00  8003.14\n\t  8 Signal Dispatch          0.00  8003.14\n\t  8 Sweeper thread           0.00  8003.14\n\t  8 VM Thread                0.00  8003.14\n\t  1 process reaper           0.00     3.54\n\t  1 lspci                    0.00     0.02\n\t 82 sh                       0.00     0.00\n\t 12 gcc                      0.00     0.00\n\t  9 gsettings                0.00     0.00\n\t  8 G1 Main Marker           0.00     0.00\n\t  8 G1 Young RemSet          0.00     0.00\n\t  8 VM Periodic Tas          0.00     0.00\n\t  8 stat                     0.00     0.00\n\t  8 systemd-detect-          0.00     0.00\n\t  6 llvm-link                0.00     0.00\n\t  5 glxinfo                  0.00     0.00\n\t  5 gmain                    0.00     0.00\n\t  5 phoronix-test-s          0.00     0.00\n\t  2 dconf worker             0.00     0.00\n\t  2 grep                     0.00     0.00\n\t  2 lscpu                    0.00     0.00\n\t  2 setterm                  0.00     0.00\n\t  2 uname                    0.00     0.00\n\t  2 which                    0.00     0.00\n\t  1 cc                       0.00     0.00\n\t  1 date                     0.00     0.00\n\t  1 dirname                  0.00     0.00\n\t  1 dmesg                    0.00     0.00\n\t  1 dmidecode                0.00     0.00\n\t  1 ifconfig                 0.00     0.00\n\t  1 ip                       0.00     0.00\n\t  1 java-jmh                 0.00     0.00\n\t  1 lsmod                    0.00     0.00\n\t  1 mktemp                   0.00     0.00\n\t  1 ps                       0.00     0.00\n\t  1 qdbus                    0.00     0.00\n\t  1 readlink                 0.00     0.00\n\t  1 realpath                 0.00     0.00\n\t  1 sed                      0.00     0.00\n\t  1 sort                     0.00     0.00\n\t  1 stty                     0.00     0.00\n\t  1 systemctl                0.00     0.00\n\t  1 template.sh              0.00     0.00\n\t  1 wc                       0.00     0.00\n0 processes running\n68 maximum processes\n<\/code><\/pre>\n\n\n\n<p>Computation block<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>      500343) java-jmh         cpu=13 start=5.62  finish=508.04\n        500344) java             cpu=11 start=5.63  finish=508.04\n          500345) java             cpu=15 start=5.63  finish=508.04\n            500346) GC Thread#0      cpu=-1 start=5.63  finish=508.04\n            500347) G1 Main Marker   cpu=0 start=5.63  finish=508.04\n            500348) G1 Conc#0        cpu=-1 start=5.63  finish=508.04\n            500349) G1 Refine#0      cpu=-1 start=5.64  finish=508.04\n            500350) G1 Young RemSet  cpu=0 start=5.64  finish=508.04\n            500351) VM Thread        cpu=-1 start=5.65  finish=508.04\n            500352) Reference Handl  cpu=-1 start=5.65  finish=508.04\n            500353) Finalizer        cpu=2 start=5.65  finish=508.04\n            500354) Signal Dispatch  cpu=-1 start=5.65  finish=508.04\n            500355) Service Thread   cpu=-1 start=5.65  finish=508.04\n            500356) C2 CompilerThre  cpu=-1 start=5.65  finish=508.04\n              500359) C1 CompilerThre  cpu=-1 start=5.66  finish=11.91\n              500424) C1 CompilerThre  cpu=-1 start=16.93 finish=21.94\n            500357) C1 CompilerThre  cpu=-1 start=5.65  finish=508.04\n              500595) C1 CompilerThre  cpu=-1 start=508.03 finish=508.04\n            500358) Sweeper thread   cpu=-1 start=5.65  finish=508.04\n            500360) VM Periodic Tas  cpu=0 start=5.66  finish=508.04\n            500361) Common-Cleaner   cpu=15 start=5.66  finish=508.04\n            500362) pool-1-thread-1  cpu=9 start=5.72  finish=6.72 \n            500363) pool-1-thread-2  cpu=2 start=5.72  finish=6.72 \n            500364) Thread-0         cpu=9 start=6.73  finish=508.03\n              500405) Thread-5         cpu=9 start=6.82  finish=107.05\n              500449) Thread-8         cpu=9 start=107.12 finish=207.34\n              500491) Thread-11        cpu=9 start=207.39 finish=307.56\n              500532) Thread-14        cpu=3 start=307.62 finish=407.77\n              500574) Thread-17        cpu=14 start=407.82 finish=507.99\n            500365) java             cpu=10 start=6.74  finish=6.77 \n              500366) java             cpu=3 start=6.74  finish=6.77 \n                500370) GC Thread#0      cpu=-1 start=6.75  finish=6.77 \n                500371) G1 Main Marker   cpu=0 start=6.75  finish=6.76 \n                500372) G1 Conc#0        cpu=-1 start=6.75  finish=6.77 \n                500373) G1 Refine#0      cpu=-1 start=6.75  finish=6.76 \n                500374) G1 Young RemSet  cpu=0 start=6.75  finish=6.76 \n                500375) VM Thread        cpu=-1 start=6.75  finish=6.76 \n                500376) Reference Handl  cpu=-1 start=6.75  finish=6.77 \n                500377) Finalizer        cpu=9 start=6.75  finish=6.77 \n                500378) Signal Dispatch  cpu=-1 start=6.76  finish=6.77 \n                500379) Service Thread   cpu=-1 start=6.76  finish=6.77 \n                500380) C2 CompilerThre  cpu=-1 start=6.76  finish=6.77 \n                  500383) C1 CompilerThre  cpu=-1 start=6.76  finish=6.77 \n                500381) C1 CompilerThre  cpu=-1 start=6.76  finish=6.77 \n                500382) Sweeper thread   cpu=-1 start=6.76  finish=6.77 \n                500384) VM Periodic Tas  cpu=0 start=6.76  finish=6.76 \n            500367) process reaper   cpu=-1 start=6.74  finish=508.04\n            500368) Thread-1         cpu=4 start=6.75  finish=6.77 \n            500369) Thread-2         cpu=13 start=6.75  finish=6.77 \n            500385) java             cpu=10 start=6.78  finish=107.05\n              500388) java             cpu=11 start=6.78  finish=107.05\n                500389) GC Thread#0      cpu=-1 start=6.79  finish=107.05\n                500390) G1 Main Marker   cpu=0 start=6.79  finish=107.05\n                500391) G1 Conc#0        cpu=-1 start=6.79  finish=107.05\n                500392) G1 Refine#0      cpu=-1 start=6.79  finish=107.05\n                500393) G1 Young RemSet  cpu=0 start=6.79  finish=107.05\n                500394) VM Thread        cpu=-1 start=6.79  finish=107.05\n                500395) Reference Handl  cpu=-1 start=6.80  finish=107.05\n                500396) Finalizer        cpu=9 start=6.80  finish=107.05\n                500397) Signal Dispatch  cpu=-1 start=6.80  finish=107.05\n                500398) Service Thread   cpu=-1 start=6.80  finish=107.05\n                500399) C2 CompilerThre  cpu=-1 start=6.80  finish=107.05\n                  500402) C1 CompilerThre  cpu=-1 start=6.80  finish=21.95\n                500400) C1 CompilerThre  cpu=-1 start=6.80  finish=107.05\n                  500406) C1 CompilerThre  cpu=-1 start=6.90  finish=11.93\n                  500426) C1 CompilerThre  cpu=-1 start=67.00 finish=72.00\n                500401) Sweeper thread   cpu=-1 start=6.80  finish=107.05\n                500403) VM Periodic Tas  cpu=0 start=6.80  finish=107.05\n                500404) Common-Cleaner   cpu=3 start=6.81  finish=107.05\n                500407) org.sample.MyBe  cpu=0 start=6.91  finish=107.04\n                500408) org.sample.MyBe  cpu=1 start=6.91  finish=107.04\n                500409) org.sample.MyBe  cpu=6 start=6.91  finish=107.04\n                500410) org.sample.MyBe  cpu=0 start=6.91  finish=107.04\n                500411) org.sample.MyBe  cpu=3 start=6.91  finish=107.04\n                500412) org.sample.MyBe  cpu=15 start=6.91  finish=107.04\n                500413) org.sample.MyBe  cpu=11 start=6.91  finish=107.04\n                500414) org.sample.MyBe  cpu=7 start=6.91  finish=107.04\n                500415) org.sample.MyBe  cpu=12 start=6.91  finish=107.04\n                500416) org.sample.MyBe  cpu=2 start=6.91  finish=107.04\n                500417) org.sample.MyBe  cpu=14 start=6.91  finish=107.04\n                500418) org.sample.MyBe  cpu=7 start=6.91  finish=107.04\n                500419) org.sample.MyBe  cpu=13 start=6.91  finish=107.04\n                500420) org.sample.MyBe  cpu=5 start=6.91  finish=107.04\n                500421) org.sample.MyBe  cpu=2 start=6.91  finish=107.04\n                500422) org.sample.MyBe  cpu=4 start=6.91  finish=107.04\n                500427) JMH-Shutdown-Ti  cpu=6 start=107.04 finish=107.05\n                500428) Thread-0         cpu=8 start=107.04 finish=107.05\n            500386) Thread-3         cpu=11 start=6.78  finish=107.05\n            500387) Thread-4         cpu=4 start=6.78  finish=107.05\n            500429) java             cpu=14 start=107.05 finish=207.34\n              500432) java             cpu=0 start=107.06 finish=207.34\n                500433) GC Thread#0      cpu=-1 start=107.06 finish=207.34\n                500434) G1 Main Marker   cpu=0 start=107.06 finish=207.34\n                500435) G1 Conc#0        cpu=-1 start=107.06 finish=207.34\n                500436) G1 Refine#0      cpu=-1 start=107.07 finish=207.34\n                500437) G1 Young RemSet  cpu=0 start=107.07 finish=207.34\n                500438) VM Thread        cpu=-1 start=107.08 finish=207.34\n                500439) Reference Handl  cpu=-1 start=107.08 finish=207.34\n                500440) Finalizer        cpu=4 start=107.08 finish=207.34\n                500441) Signal Dispatch  cpu=-1 start=107.08 finish=207.34\n                500442) Service Thread   cpu=-1 start=107.08 finish=207.34\n                500443) C2 CompilerThre  cpu=-1 start=107.08 finish=207.34\n                  500446) C1 CompilerThre  cpu=-1 start=107.09 finish=122.23\n                500444) C1 CompilerThre  cpu=-1 start=107.08 finish=207.34\n                  500450) C1 CompilerThre  cpu=-1 start=107.18 finish=112.22\n                  500467) C1 CompilerThre  cpu=-1 start=167.30 finish=172.31\n                  500468) C1 CompilerThre  cpu=-1 start=197.33 finish=202.34\n                500445) Sweeper thread   cpu=-1 start=107.08 finish=207.34\n                500447) VM Periodic Tas  cpu=0 start=107.10 finish=207.34\n                500448) Common-Cleaner   cpu=14 start=107.10 finish=207.34\n                500451) org.sample.MyBe  cpu=1 start=107.19 finish=207.34\n                500452) org.sample.MyBe  cpu=9 start=107.19 finish=207.34\n                500453) org.sample.MyBe  cpu=10 start=107.19 finish=207.34\n                500454) org.sample.MyBe  cpu=1 start=107.19 finish=207.34\n                500455) org.sample.MyBe  cpu=4 start=107.19 finish=207.34\n                500456) org.sample.MyBe  cpu=7 start=107.19 finish=207.34\n                500457) org.sample.MyBe  cpu=14 start=107.19 finish=207.34\n                500458) org.sample.MyBe  cpu=2 start=107.19 finish=207.34\n                500459) org.sample.MyBe  cpu=5 start=107.19 finish=207.34\n                500460) org.sample.MyBe  cpu=15 start=107.19 finish=207.34\n                500461) org.sample.MyBe  cpu=3 start=107.19 finish=207.34\n                500462) org.sample.MyBe  cpu=8 start=107.19 finish=207.34\n                500463) org.sample.MyBe  cpu=12 start=107.19 finish=207.34\n                500464) org.sample.MyBe  cpu=11 start=107.19 finish=207.34\n                500465) org.sample.MyBe  cpu=6 start=107.19 finish=207.34\n                500466) org.sample.MyBe  cpu=0 start=107.19 finish=207.34\n                500469) JMH-Shutdown-Ti  cpu=14 start=207.34 finish=207.34\n                500470) Thread-0         cpu=1 start=207.34 finish=207.34\n            500430) Thread-6         cpu=13 start=107.05 finish=207.34\n            500431) Thread-7         cpu=15 start=107.06 finish=207.34\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>java-jmh benchmark with one workload. Looks to be multi-threaded. Topdown profile shows a high retirement rate with some backend stalls. AMD metrics confirm a high on-cpu level, little floating point and high retirement rate. Also a very low opcache usage. <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/java-jmh\/\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":58,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2268","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/comments?post=2268"}],"version-history":[{"count":2,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2268\/revisions"}],"predecessor-version":[{"id":2278,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2268\/revisions\/2278"}],"up":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/58"}],"wp:attachment":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/media?parent=2268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}