If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: web.archive.org/web/20221231212930/https://brendaneich.com/2008/08/tracemonkey-javascript-lightspeed - TraceMonkey: JavaScript Lights.

site address: web.archive.org/web/20221220091228/https://brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/ redirected to: web.archive.org/web/20221231212930/https://brendaneich.com/2008/08/tracemonkey-javascript-lightspeed

site title: TraceMonkey: JavaScript Lightspeed Brendan Eich

Our opinion (on Wednesday 30 September 2026 22:17:51 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:

Headings (most frequently used words):

tracemonkey, javascript, lightspeed, recent, it, 15, replies, to, post, navigation, posts, comments, archives, categories, meta, results, how, we, did, what, all, means, acknowledgments,

Text of the page (most frequently used words):
the (138), and (56), for (29), this (27), interpreter (24), will (22), that (21), you (20), code (20), are (19), with (19), jit (18), tracemonkey (17), 2008 (16), trace (16), says (15), loop (15), august (14), #javascript (14), can (14), not (12), firefox (12), but (12), tracing (12), guard (11), september (10), october (10), 2013 (10), from (10), all (10), function (10), web (9), 2005 (8), 2007 (8), have (8), just (8), some (8), work (8), more (8), any (8), time (8), performance (8), april (7), june (7), 2010 (7), what (7), one (7), which (7), mozilla (6), 2004 (6), november (6), may (6), 2011 (6), asm (6), webassembly (6), eich (6), how (6), has (6), been (6), process (6), means (6), results (6), even (6), brendan (6), bug (6), about (6), header (6), into (6), speedup (6), july (5), february (5), 2006 (5), 2012 (5), thanks (5), back (5), over (5), like (5), andreas (5), there (5), much (5), fatter (5), was (5), lightspeed (5), native (5), hot (5), usuallytrue (5), commonpath (5), here (5), spidermonkey (5), sunspider (5), january (4), march (4), 2017 (4), future (4), next (4), post (4), your (4), again (4), now (4), need (4), well (4), each (4), https (4), when (4), see (4), using (4), its (4), let (4), compiler (4), cases (4), call (4), bytecode (4), build (4), enabled (4), keep (4), take (4), fast (4), only (4), other (4), our (4), cache (4), number (4), exits (4), recording (4), another (4), inlined (4), point (4), without (4), machine (4), starts (4), big (4), condition (4), jump (4), string (4), org (3), comments (3), december (3), 2014 (3), game (3), posts (3), search (3), shows (3), new (3), type (3), 2009 (3), working (3), gal (3), running (3), where (3), both (3), browser (3), same (3), user (3), benchmark (3), great (3), does (3), compilation (3), handle (3), than (3), get (3), content (3), please (3), necessary (3), could (3), also (3), way (3), com (3), would (3), michael (3), through (3), traced (3), must (3), too (3), out (3), above (3), side (3), because (3), value (3), case (3), complete (3), then (3), frames (3), trees (3), calls (3), truthy (3), return (3), recorder (3), backward (3), property (3), approach (3), doing (3), speedups (3), micro (3), benchmarks (3), test (3), variables (3), wordpress (2), feed (2), uncategorized (2), categories (2), today (2), recent (2), update (2), previous (2), specifics (2), blog (2), topic (2), page (2), data (2), know (2), thank (2), good (2), love (2), such (2), speed (2), increase (2), nice (2), uses (2), provide (2), better (2), details (2), run (2), own (2), change (2), kevin (2), level (2), dynamic (2), ops (2), needed (2), common (2), optimize (2), adobe (2), bloat (2), faster (2), making (2), threaded (2), did (2), find (2), crash (2), safe (2), builds (2), marco (2), try (2), crypto (2), based (2), show (2), yet (2), ready (2), routines (2), fails (2), off (2), error (2), while (2), further (2), screencast (2), people (2), schrep (2), image (2), why (2), first (2), truly (2), launch (2), course (2), team (2), shaver (2), rest (2), irvine (2), especially (2), tamarin (2), nanojit (2), boost (2), gets (2), follows (2), paths (2), tree (2), jitted (2), memory (2), method (2), jits (2), mobile (2), dom (2), going (2), right (2), x86 (2), called (2), after (2), returns (2), different (2), control (2), including (2), under (2), runtime (2), having (2), order (2), built (2), sees (2), being (2), neurotic (2), inline (2), instruction (2), overflow (2), double (2), true (2), might (2), stay (2), representation (2), finally (2), recorded (2), cope (2), empty (2), use (2), their (2), operands (2), var (2), recursion (2), spending (2), probably (2), looping (2), straight (2), binary (2), variable (2), result (2), kind (2), threading (2), pref (2), around (2), regular (2), expression (2), methods (2), most (2), average (2), total (2), score (2), chart (2), global (2), dec (2), proudly, powered, entries, log, meta, opinion, 2015, archives, difference, between, photolens, büyük, geleceği, kodedu, js和webassembly之间有什么区别, 开发百科, 程序代码问答平台, saw, orbx, streaming, application, demain, koto, platform, webassembly系列2, 为什么我们需要webassembly, 采访brendan, java天堂, mission, rehosted, render, token, dotjs, keynote, popularity, navigation, closed, reveal, quite, decent, informations, net, superb, satisfied, effectively, grasp, bookmarked, arrive, additional, friend, observed, previously, looked, place, couldn, discover, ideal, website, faves, proven, offered, inspiration, achievement, cause, hold, fantastic, roselia, brasser, power, users, configurable, security, policies, caps, extension, holding, patterns, happy, hopefully, smoothly, rozaniyes, very, article, style, info, dody, torres, awesome, stuff, done, unbelievable, guys, able, achieve, phenomenal, short, question, isolate, problem, tabs, problematic, script, block, slows, down, interface, separating, isolating, give, slower, make, responsive, interactions, won, wide, lockdown, anymore, overall, experience, news, qooxdoo, old, sufehmi, looks, heavyweight, disappointing, generators, iterators, those, dada, interesting, muonis, java, higher, nature, richer, invokedynamic, pgo, best, assuming, rather, really, patches, set, sites, targets, colleagues, elsewhere, opera, noted, favors, opcodes, skinny, mean, high, relative, dispatch, costs, lost, optimization, opportunities, should, read, hakanson, quicker, repeatable, js_equalstrings, filed, 451873, opening, engadget, reproducible, mode, 20080822, 2008023, mclackler, still, bites, works, disabled, file, share, testcase, attach, confidential, release, mail, impressive, promising, demo, thought, cryptographic, advantage, rushed, last, nightly, turn, authentication, card, decryption, logged, decrypting, maybe, needs, investigation, getting, clipperz, fabbri, correct, link, adjustment, swf, jeria, guess, kept, saying, typing, isn, skeptical, sold, voracity, historic, event, significant, hurdle, silverlight, adoption, hope, congratulations, haufe, replies, tags, mad, props, late, night, valuable, assists, bob, clary, rob, sayre, blake, kaplan, zbarsky, vladimir, vukićević, boris, david, anderson, his, group, gregor, wagner, national, science, foundation, supporting, thesis, grateful, smith, huge, developing, mason, chang, bebenita, franz, acknowledgments, believe, browsers, follow, lead, current, barriers, beyond, projects, heralds, anticipating, moving, goal, changing, benefit, developers, advances, toward, written, safer, unfolds, driven, canvas, rendering, toolkits, scene, graphs, logic, etc, wave, crest, cold, never, avoiding, whole, incur, friendly, codebase, trusted, exploitable, keeps, write, transport, slow, accommodate, workloads, require, proprietary, plugin, arm, support, desktop, target, platforms, box, pulling, few, points, deserve, say, iterations, shown, falsy, abort, correctly, extend, allows, flow, graph, functions, itself, contains, reconstructed, opposed, less, structured, kinds, inlining, reach, outer, therefore, long, stays, thus, speculating, happen, virtual, stop, easily, record, interpreted, jsop_call, guards, invoked, makes, guarded, edge, comes, part, integer, depending, suppose, emits, special, check, matches, allowing, execution, continue, match, returning, exact, state, restored, non, completes, comment, reached, aborts, resumes, traces, once, detected, generate, low, intermediate, instructions, specialized, bytecodes, immediate, incoming, stack, hit, lookup, information, else, uncommonpath, pioneered, loops, everything, notices, keeping, cheap, count, often, particular, happened, insight, key, simply, enough, line, app, lunch, either, unlikely, allowed, precision, floating, vast, majority, spite, freedom, mutate, types, stable, stability, holds, languages, python, int, concatenation, addition, static, analysis, generally, costly, ahead, ask, integers, exactly, dynamically, typed, language, interpreters, consider, operator, neurosis, thing, expecting, reminded, adage, letting, moss, grow, feet, combination, notch, dave, mandelin, talk, shape, inference, adding, polymorphic, addressing, properties, found, prototype, scope, objects, quickly, look, object, along, chain, before, made, serious, improvements, tospidermonkey, entailed, two, major, pieces, array, currently, enable, via, willing, report, bugs, toggle, preference, adventurous, chrome, options, config, blast, started, little, sixty, days, nights, ago, yesterday, pushed, repository, inclusion, central, created, visually, demonstrates, gained, these, feel, them, start, easy, small, linear, tasks, remaining, register, allocation, spill, reduction, break, barrier, scales, move, otherwise, view, machinery, longest, tests, monsters, since, engines, compiled, predicts, bound, weighted, matter, amdahl, law, slowdown, fix, pursuit, biting, heavily, recursive, fixed, lesser, they, dwarfed, fastest, sorted, greatest, least, ratios, globals, accumulator, greater, undeclared, harder, local, select, near, term, upper, bounds, cut, charts, popular, macro, scores, plus, manipulation, sylvester, library, matrix, multiplication, extremely, pleased, announce, evolution, engine, magnitude, posted, presentations, home, menu, skip, wayback, http, archive, 20221231212930, brendaneich, timestamps, capture, fail, success, 2023, 2022, 2021, jan, nov, sep, 2026, 114, captures,


Text of the page (random words):
wn chart or they would be dwarfed by the above results any slowdown is a bug we will fix we re in hot pursuit of the one biting binary trees which is heavily recursive it will be fixed with sunspider some of the longest running tests are string and regular expression monsters and since like most js engines we use native compiled c code for most of the work there s not as much speedup amdahl s law predicts that this will bound the weighted average total sunspider score probably to around 2 no matter how fast we jit the rest of the code the total score will be 2 but this is only a start with tracing performance will keep going up we have easy small linear speedup tasks remaining better register allocation spill reduction around built in calls we will trace string and regular expression code and break through the 2 barrier we will even trace into dom methods the tracing jit approach scales as you move more code into js or otherwise into view of the tracing machinery finally schrep created a screencast that visually demonstrates the speedup gained by tracemonkey these speedups are not just for micro benchmarks you can see and feel them how we did it we ve been working with andreas gal of uc irvine on tracemonkey and it has been a blast we started a little over sixty days and nights ago and just yesterday shaver pushed the results of our work into the mozilla central hg repository for inclusion in firefox 3 1 the jit is currently pref ed off but you can enable it via about config just search for jit and if you are willing to report any bugs you find toggle the javascript options jit content preference there s a jit chrome pref too for the truly adventurous before tracemonkey for firefox 3 we made serious performance improvements tospidermonkey both to its array code and to its interpreter the interpreter speedups entailed two major pieces of work making bytecode cases in the threaded interpreter even fatter so the fast cases can stay in the interpreter function adding a polymorphic property cache for addressing properties found in prototype and scope objects quickly without having to look in each object along the chain i will talk about the property cache and the shape inference it is based on in another post by the way we are not letting moss grow under our interpreter s feet dave mandelin is working on a combination of inline threading and call threading that will take interpreter performance up another notch while doing this firefox 3 work i was reminded again of the adage neurosis is doing the same thing over and over again expecting to get a different result each time but this is exactly what dynamically typed language interpreters must do consider the operator a b c is this string concatenation or number addition without static analysis generally too costly we can t know ahead of time for spidermonkey we have to ask further if number can we keep the operands and result in machine integers of some kind any interpreter will have to cope with unlikely but allowed overflow from int to double precision binary floating point or even change of variable type from number to string but this is neurotic because for the vast majority of js code in spite of the freedom to mutate type of variable types are stable this stability holds for other dynamic languages including python another insight which is key to the tracing jit approach if you are spending much time in js you are probably looping there s simply not enough straight line code in firefox s js or in a web app to take that much runtime native code may go out to lunch of course but if you are spending time in js you re either looping or doing recursion the trace trees approach to tracing jit compilation that andreas pioneered can handle loops and recursion everything starts in the interpreter when tracemonkey notices a hot loop by keeping cheap count of how often a particular backward jump or any backward jump has happened for var i 0 i big i loop header starts here if usuallytrue commonpath else uncommonpath once a hot loop has been detected tracemonkey starts recording a trace we use the tamarin tracing nanojit to generate low level intermediate representation instructions specialized from the spidermonkey bytecodes their immediate and incoming stack operands and the property cache hit case fast lookup information the trace recorder completes when the loop header see the comment in the code above is reached by a backward jump if the trace does not complete this way the recorder aborts and the interpreter resumes without recording traces let s suppose the usuallytrue function returns true it could return any truthy e g 1 or non empty we can cope the trace recorder emits a special guard instruction to check that the truthy condition matches allowing native machine code trace execution to continue if so if the condition does not match the guard exits so called side exits the trace returning to the interpreter at the exact point in the bytecode where the guard was recorded with all the necessary interpreter state restored if the interpreter sees usuallytrue return true then the commonpath case will be traced after that function has been traced comes the loop update part i which might or might not stay in spidermonkey s integer representation depending on the value of big again we guard finally the condition i big will be recorded as a guard loop header starts here inlined usuallytrue call with guards guard on truthy return value guard that the function being invoked at this point is commonpath inlined commonpath call with any calls it makes inlined guarded i code with overflow to double guard i big condition and loop edge guard jump back to loop header thus tracing is all about speculating that what the interpreter sees is what will happen next time that the virtual machine can stop being neurotic and as you can see tracing jits can inline method calls easily just record the interpreter as it follows a jsop_call instruction into an interpreted function one point about trace trees as opposed to less structured kinds of tracing you get function inlining without having to build interpreter frames at all because the trace recording must reach the loop header in the outer function in order to complete therefore so long as the jitted code stays on trace no interpreter frames need to be built if the commonpath function itself contains a guard that side exits at runtime then and only then will one or more interpreter frames need to be reconstructed let s say after some number of iterations the loop shown above side exits at the guard for usuallytrue because that function returns a falsy value we abort correctly back to the interpreter but keep recording in case we can complete another trace back to the same loop header and extend the first into a trace tree this allows us to handle different paths through the control flow graph including inlined functions under a hot loop what it all means pulling back from the details a few points deserve to be called out we have right now x86 x86 64 and arm support in tracemonkey this means we are ready for mobile and desktop target platforms out of the box as the performance keeps going up people will write and transport code that was too slow to run in the browser as js this means the web can accommodate workloads that right now require a proprietary plugin as we trace more of the dom and our other native code we increase the memory safe codebase that must be trusted not to have an exploitable bug tracing follows only the hot paths and builds a trace tree cache cold code never gets traced or jitted avoiding the memory bloat that whole method jits incur tracing is mobile friendly js driven canvas rendering with toolkits scene graphs game logic etc all in js are one wave of the future that is about to crest tracemonkey advances us toward the mozilla 2 future where even more firefox code is written in js firefox gets faster and safer as this process unfolds i believe that other browsers will follow our lead and take js performance through current interpreter speed barriers using just in time native code compilation beyond what tracemonkey means for firefox and other mozilla projects it heralds the javascript lightspeed future we ve all been anticipating we are moving the goal posts and changing the game for the benefit of all web developers acknowledgments i would like to thank michael franz and the rest of his group at uc irvine especially michael bebenita mason chang and gregor wagner also the national science foundation for supporting andreas gal s thesis i m also grateful to ed smith and the tamarin tracing team at adobe for the tt nanojit which was a huge boost to developing tracemonkey and of course mad props and late night thanks to team tracemonkey andreas shaver david anderson with valuable assists from bob clary rob sayre blake kaplan boris zbarsky and vladimir vukićević categories mozilla uncategorized tags javascript launch tracemonkey 15 replies to tracemonkey javascript lightspeed michael haufe says august 22 2008 at 7 02 pm truly a historic event would this be a significant hurdle to silverlight adoption one could only hope congratulations voracity says august 23 2008 at 12 22 am great work i guess this is why you kept saying typing isn t needed for fast code i was skeptical at first but now i m sold jeria says august 23 2008 at 4 02 am correct link to the screencast is https people mozilla com schrep tm image adjustment swf marco fabbri says august 23 2008 at 6 50 am impressive work and promising demo as i thought cryptographic routines could take advantage of the jit and provide a nice benchmark i rushed to try the last 8 22 nightly build on https clipperz com but when i turn the jit on the authentication process fails also the card decryption process fails if yet with jit off logged in error error while decrypting data maybe it needs further investigation the jit is getting in the way of the crypto routines brendan eich says august 23 2008 at 10 34 am marco please try today s 8 23 build and if the bug still bites with the jit enabled but your crypto works with it disabled please do file a bug if you can share your code or a testcase based on it please attach we will keep confidential any code necessary to show the bug that you are not yet ready to release so mail me if necessary thanks be mclackler says august 23 2008 at 11 56 am brendan great work build is much quicker with jit enabled i did find a repeatable crash in js_equalstrings with jit enabled and filed bug 451873 for jit content enabled crash opening engadget reproducible in safe mode in both 20080822 and 2008023 builds kevin hakanson says september 5 2008 at 4 36 pm should this read faster and not fatter making bytecode cases in the threaded interpreter even fatter brendan eich says september 7 2008 at 1 59 pm kevin no fatter js is not java its higher level dynamic nature means even richer ops than invokedynamic are needed to let the c compiler with pgo do its best for the common cases this assuming an interpreter rather than a compiler v8 is really a compiler and it patches get set call sites to optimize for the common targets colleagues elsewhere opera and adobe have noted how js favors fatter interpreter opcodes skinny ops mean bytecode bloat and high relative dispatch costs as well as lost optimization opportunities be muonis says september 12 2008 at 4 44 am this will be interesting the love dada says september 29 2008 at 3 35 pm this looks great but when i run some heavyweight javascript of my own i see no change in performance at all which is disappointing i m using generators and iterators does the jit compilation handle those sufehmi says october 26 2008 at 5 34 am awesome stuff well done to all unbelievable how you guys are able to achieve such phenomenal speed increase in such a short time nice one one question will the new firefox 3 1 isolate each javascript process there s a problem where both the ui which uses javascript as well and the browser tabs are running on the same javascript process this means a problematic js script will block slows down the user interface as well separating isolating each js process may give slower benchmark results but it will make it more responsive to user interactions and there won t be browser wide lockdown anymore overall it ll provide a much better user experience more details on the topic https news qooxdoo org good old firefox thanks dody f9 torres says july 23 2009 at 7 50 pm very good article i love the style of any posts you thanks for info rozaniyes says august 23 2009 at 12 33 am happy has been working with andreas gal hopefully running smoothly i d like to know more thank you holding patterns says october 3 2009 at 8 57 am the not so power users now need a configurable security policies caps firefox extension roselia brasser says october 16 2010 at 6 46 pm with thanks for reveal quite decent informations your net is superb i am satisfied by the specifics that you have on this blog it shows how effectively you grasp this topic bookmarked this web page will arrive back again for additional you my friend i observed just the specifics i previously looked for all over the place and just couldn t discover what an ideal blog like this website your web page is 1 of my new faves i like this data proven and it has offered me some type of inspiration to have achievement for some cause so hold up the fantastic work comments are closed post navigation previous post previous popularity next post next tracemonkey update search for search recent posts my dotjs 2017 keynote the render token rehosted from asm js to webassembly the next mission recent comments webassembly系列2 为什么我们需要webassembly 采访brendan eich java天堂 on the web is the game platform orbx js le streaming d application de demain koto on today i saw the future asm js和webassembly之间有什么区别 开发百科 程序代码问答平台 on from asm js to webassembly webassembly büyük web ve javascript in geleceği kodedu on from asm js to webassembly what is the difference between asm js and webassembly photolens on from asm js to webassembly archives december 2017 september 2017 february 2017 june 2015 april 2014 march 2014 january 2014 december 2013 november 2013 october 2013 july 2013 june 2013 may 2013 april 2013 march 2013 february 2013 january 2013 october 2012 june 2012 april 2012 march 2012 february 2012 october 2011 september 2011 august 2011 june 2011 may 2011 january 2011 november 2010 october 2010 september 2010 august 2010 july 2010 september 2008 august 2008 april 2008 november 2007 october 2007 august 2007 july 2007 june 2007 april 2007 march 2007 february 2007 november 2006 october 2006 may 2006 april 2006 february 2006 december 2005 november 2005 october 2005 september 2005 august 2005 june 2005 may 2005 january 2005 november 2004 september 2004 august 2004 july 2004 june 2004 april 2004 categories mozilla opinion uncategorized meta log in entries feed comments feed wordpress org proudly...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

Verified site has: 127 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-105 106-110 111-115 116-120 121-125 126-127


The site also has references to the 2 subdomain(s)

  archive.org  Verify   help.archive.org  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 302 FOUND
Server nginx
Date Wed, 30 Sep 2026 22:17:50 GMT
Content-Type text/plain; charset=utf-8
Content-Length 0
Connection close
x-archive-redirect-reason found capture at 20221231212930
location htt???/web.archive.org/web/20221231212930/htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/
server-timing captures_list;dur=0.401287, exclusion.robots;dur=0.049675, exclusion.robots.policy;dur=0.040908, esindex;dur=0.007300, cdx.remote;dur=21.100152, LoadShardBlock;dur=198.635600, PetaboxLoader3.datanode;dur=61.799904, PetaboxLoader3.resolve;dur=48.170294
x-app-server wwwb-app253-dc8
x-ts 302
x-tr 234
server-timing TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie wb-p-SERVER=wwwb-app253; path=/
X-location All
X-AS 16276
X-RL 0
X-NA 0
X-Page-Cache MISS
Server-Timing MISS
X-NID OVH SAS
Referrer-Policy no-referrer-when-downgrade
Permissions-Policy interest-cohort=()
X-sd 0
HTTP/1.1 200 OK
Server nginx
Date Wed, 30 Sep 2026 22:17:51 GMT
Content-Type text/html; charset=UTF-8
Transfer-Encoding chunked
Connection close
x-archive-orig-server nginx
x-archive-orig-date Sat, 31 Dec 2022 21:29:30 GMT
x-archive-orig-transfer-encoding chunked
x-archive-orig-connection close
x-archive-orig-strict-transport-security max-age=31536000
x-archive-orig-vary Accept-Encoding
x-archive-orig-host-header Pressable
x-archive-orig-vary Cookie
x-archive-orig-link <htt????/brendaneich.com/wp-json/>; rel= htt????/api.w.org/
x-archive-orig-link <htt????/brendaneich.com/wp-json/wp/v2/posts/65>; rel= alternate ; type= application/json
x-archive-orig-link <htt????/brendaneich.com/?p=65>; rel=shortlink
x-archive-orig-x-ac 3.sjc _atomic_bur BYPASS
x-archive-guessed-content-type text/html
x-archive-guessed-charset utf-8
x-archive-orig-content-encoding gzip
memento-datetime Sat, 31 Dec 2022 21:29:30 GMT
link <htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/>; rel= original , <htt???/web.archive.org/web/timemap/link/htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/>; rel= timemap ; type= application/link-format , <htt???/web.archive.org/web/htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/>; rel= timegate , <htt???/web.archive.org/web/20101213080716/htt???/brendaneich.com:80/2008/08/tracemonkey-javascript-lightspeed/>; rel= first memento ; datetime= Mon, 13 Dec 2010 08:07:16 GMT , <htt???/web.archive.org/web/20221122103025/htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/>; rel= prev memento ; datetime= Tue, 22 Nov 2022 10:30:25 GMT , <htt???/web.archive.org/web/20221231212930/htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/>; rel= memento ; datetime= Sat, 31 Dec 2022 21:29:30 GMT , <htt???/web.archive.org/web/20230621072538/htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/>; rel= next memento ; datetime= Wed, 21 Jun 2023 07:25:38 GMT , <htt???/web.archive.org/web/20260926111704/htt????/brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/>; rel= last memento ; datetime= Sat, 26 Sep 2026 11:17:04 GMT
content-security-policy default-src self unsafe-eval unsafe-inline data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src SPNOUTLINKS-20221231210417-crawl901/SPNOUTLINKS-20221231211046-00632.warc.gz
server-timing captures_list;dur=0.376702, exclusion.robots;dur=0.045010, exclusion.robots.policy;dur=0.037287, esindex;dur=0.006486, cdx.remote;dur=28.406415, LoadShardBlock;dur=378.564091, PetaboxLoader3.resolve;dur=289.602731, PetaboxLoader3.datanode;dur=113.975442, load_resource;dur=118.257423, nav;dur=0.181220
x-app-server wwwb-app218-dc8
x-ts 200
x-tr 588
server-timing TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie wb-p-SERVER=wwwb-app218; path=/
X-location All
X-AS 16276
X-RL 0
X-NA 0
X-Page-Cache MISS
Server-Timing MISS
X-NID OVH SAS
Referrer-Policy no-referrer-when-downgrade
Permissions-Policy interest-cohort=()
X-sd 0
Content-Encoding gzip

Meta Tags

title="TraceMonkey: JavaScript Lightspeed Brendan Eich"
charset="UTF-8"
name="viewport" content="width=device-width, initial-scale=1"
name="robots" content="max-image-preview:large"

Load Info

page size43616
load time (s)1.714637
redirect count1
speed download25446
server IP 207.241.237.3
* all occurrences of the string "http://" have been changed to "htt???/"