למה TraceMonkey הולך לפוצץ את דעתך לגלישה באינטרנט


יש הרבה על האיטרציה הבאה של דפדפן פיירפוקס בקוד פתוח שכדאי להתעמק בו. מִןמצבי גלישה פרטייםאֶללוחות תצוגה מקדימה של כרטיסיות, מצבעים פנצ'רים יותראֶלשחזור הפעלה חכם באמת, הושקעה מחשבה רבה באיך אנשים רוצים להשתמש באינטרנט. אבל אולי ההבטחה הגדולה ביותר בפיירפוקס 3.1 היא ההבטחה שרוב המשתמשים כלל לא יראו - שיפוץ רציני של מנוע ה-JavaScript של הדפדפן, שהוטבל לאחרונה בשם TraceMonkey. אם אתה לא עוקב באובססיביות אחרי הבלוגים של מפתח מוזילה או קורא חדשות טכנולוגיות פנימיות, אולי יש לך כמה שאלות על TraceMonkey - כמו, למשל, מה שונה בו, כמה מהר זה, למה זה חשוב ואיך אתה יכול לנסות זה יצא עכשיו. ריכזנו פריימר על התכונות והשימושים של TraceMonkey, כמו גם איך לחוות אותו. המשך לקרוא כדי לראות מה חדש מתחת למכסה המנוע ב-Firefox הקרוב.גרף באמצעותעדכוני מפת הדרכים של ברנדן.

מה זה TraceMonkey?

התשובה לשאלה הזו שכולם יכולים להבין היא, "זהו מנוע ה-JavaScript החדש בפיירפוקס 3.1, והוא הרבה יותר מהיר." התשובה המעט חנונית היא ש-TraceMonkey הוא צאצא שלSpiderMonkey, מנוע JavaScript הראשון שנכתב עבור דפדפן האינטרנט Ye Olde Netscape. TraceMonkey משתמש בשיטות "בדיוק בזמן" כדי להבין ולבצע פקודות שניתנו לו על ידיאייאקס-אתרים כבדים כמו Gmail, Facebook ויישומי אינטרנט אחרים שיכולים לתמרן נתונים מבלי לדרוש רענון דף. מנהל מוזילה אחדאמר לארס טכניקהש-TraceMonkey מייצג "שיפורי ביצועים הנעים בין פי 20 ל-40 מהר יותר במקרים מסוימים." אוקיי, לחנון באמת שביניכם: TraceMonkey משתמשת ב"אסטרטגיית קומפילציה חלופית שבה אף פעם לא נבנה גרף זרימת שליטה, אלא שבה מתגלים זרימות בקרה רלוונטיות (כלומר, מבוצעות לעתים קרובות) בעצלתיים במהלך הביצוע." לחלופין, במקום לבזבז זמן מעבד בניסיון לקבוע את כל הדרכים שבהן ניתן לבצע פקודה מסוימת אם/מתי, TraceMonkey פשוט מפעילה אותה בהתחלה, ומייצרת את הקוד שהיא צריכה כדי להפעיל. ברגע שהפקודה מתבררת כתוצאה אחרת, או שנתיב אחר הופך ל"חם", המהדר קובע מחדש את הקוד עבור כל הנתיבים השונים. אז TraceMonkey נע במהירות כדי להבין לפחות נתיב אחד דרך מבוך קוד, או "עץ עקבות", ומציע אותו למשתמש בהקדם האפשרי. תחשוב על זה כשחקן שחמט אימפולסיבי, לעומת הבחור שלוקח את כל אחר הצהריים כדי להיגמר כל תרחיש תחת השמש. צריך הסבר טוב יותר ממה שהנשירה הזו מ-CSE יכולה לספק? לְנַסוֹתפוסט השאלות הנפוצות של TraceMonkey של אנדראס גל, אונייר לבן PDF זהמאוניברסיטת קליפורניה, אירווין, המתאר מתודולוגיה של עצי עקבות. או בדוק את הסרטון למטה, בתור לחלק הרלוונטי של TraceMonkey של מצגת BarCamp מאת Gen Kanai:

כמה מילי-שניות באמת חשובות?

בקיצור, הרבה. JavaScript הפכה לטכנולוגיה דומיננטית בקרב מפתחי האינטרנט של ימינו, ומוזילה - יחד עם כמעט כל יצרנית דפדפני אינטרנט שם בחוץ - שואפת להפוך אותה למהירה בדיוק כמו קוד שפועל על שולחן העבודה שלך. ככל שכולם מתקרבים למהירות כזו, כך הרעיון של האינטרנט כשולחן העבודה מתקרב למציאות. זה מודגם בצורה נוחה ב-aהדגמת וידאו של עריכת תמונות מקוונתבאתר של מוזילה. עם קומפילציה בדיוק בזמן, הפעולות שהמשתמש מבצע בתוכנת אינטרנט נעות כאילו הן מותאמות באפליקציית שולחן העבודה, לעומת הצורך לטעון מחדש אפליקציית JavaScript שלמה ולהבין באיזה מצב היא נמצאת. אה, אבל אתה טיפוס המספרים והגרפים, נכון? מוזילה פרסמהמדדי TraceMonkeyהפעל על בודק SunSpider של אפל באוגוסט. להלן גרף הסקירה הבסיסית:

והנה TraceMonkey מתמודדת מול מנוע ה-JavaScript V8 של גוגל כרום הנחשב הרבה, המנוהל על ידי מוזילה באותה חבילת בנצ'מרק של SunSpider:

כעת זהו, כפי שאפילו מוזילה מציינת, רק מבחן אחד של מהירות JavaScript, ואתה רואה רק את מה שהמפתחים של Firefox הציגו בפומבי. ניסיתי להריץ פיירפוקס 3.1 התומך ב-TraceMonkey דרך אותו הדברמבחן JavaScript של סלטיק קייןהשתמשתי אצלנומבחני מהירות דפדפן(כזה שיש לפחות למפתח פיירפוקס אחדהביע ספקות רציניים לגבי), אבל התוצאות חזרו בצורה די לא ברורה - זמן קצוב איטי פי 10 מאשר Chrome, או אפילו Firefox 3.0. מהתבוננות אנושית, אני יכול לומר ש-Gmail אכן נראה הרבה יותר מוצלח באמצעות TraceMonkey, ונראה היה שהמיני-פיד של פייסבוק בעמוד הראשי שלי התחיל לקפל את הדף ברגע שדף האינטרנט נקרא. כמובן, אני משתמש ב-Windows Vista המשתנים ביותר, והמבנה שלי ב-Firefox 3.1 לא פעל ללא הרחבות או תוספים חיצוניים. ובכל זאת, נראה שהטענות של מוזילה אינן רק תרברבות מפתחים בתוך הכדור - הקוף הזה הוא קוף מהיר.

אז אני צריך להתכונן לעבור ל-Firefox 3.1?

אנחנו אף פעם לא מתביישים להציע דפדפן קוד פתוח וניתן להרחבה מאוד, אז אל תהסס לנסות אותו כאשר הוא נופל (או חפש למטה עזרה בביצוע בדיקה מבלי להפריע ל-Firefox הרגיל שלך). אבל בהתחשב באופן שבו כל הקוד עבור Firefox זמין לכל אחד, מנוע SpiderMonkey של Firefox כבר נמצא בשימושיישומונים של יאהו, מצב לא מקווןאמולטור שרת Ultima Online, רכיבי JavaScript של Windows-in-Linuxפרויקט WINE, וכנראה מספר לא מבוטל של מקומות אחרים. אם המהירות של TraceMonkey משפיעה בצורה ניכרת, סביר להניח שתראה אותה הוקמה באותם מקומות ורבים נוספים, ודפדפנים אחרים עשויים פשוט לקלוט את זה כעמוד התווך או כאופציה, או לפחות לפתח גרסאות משלהם.

בסדר, נמכרתי. איך אני משיג את TraceMonkey בפיירפוקס שלי?

המתמחה חסר הפחד (ואוהב פיירפוקס) שלנואסיאת מלאךעשה את העבודה הטובה של פירוט כיצד לבדוק את TraceMonkey מבלי לגעת בפיירפוקס או בכל דפדפן אחר שהתקנת.בבלוג שלה. אתה בעצם מתקין עותק שלפיירפוקס נייד, ואז תופס את הגרסה האחרונהבניית בטא של Firefox 3.1 עם TraceMonkey מופעלולהתקין אותו בתוך הקרביים של התיקיה הניידת של Firefox. שים לב ש-3.1 מגיע עם TraceMonkey מופעל כברירת מחדל עבור תוכן אינטרנט, אבל אתה יכול גם להגדיר את TraceMonkey להיות המטפל עבור כרום הדפדפן (כלומר סרגלי כלים ותצוגה) ותוספות על ידיenabling it in about:config.

התפיסה שלך

בהחלט אמרנו (והצגנו) את הקטע שלנו ב-TraceMonkey, אבל אנחנו רק צוות אחד של בלוגרים, אם כי חנון מאוד. אנחנו רוצים לשמוע מהמעריצים המדהימים שלנו איך TraceMonkey פועלת בטבע הפראי של האינטרנט, אז ספר לנו את דעתך בתגובות.