דף הבית  >>  אינטרנט ועסקים מקוונים  >>  פיתוח אתרים הרשם | התחבר

ביצועים בהרצת JavaScript, שעור ראשון - מחרוזות 

מאת    [ 28/10/2005 ] [ נצפה 1790 פעמים ]
articles.co.il
   

   
Loading


מאמר זה מטפל בביצועים של חיבור מחרוזות ב JavaScript, באופטימיזציה, שיפור נתוני ריצה ושיטות שיגרמו לאפליקציית ה Web שלכם לרוץ מהר יותר ולספק חווית משתמש חלקה ונעימה יותר.

הבעיה

מרבית מפתחי שפת JavaScript משתמשים בדרך הקלה לחיבור מחרוזות אשר מכילה את האופרטור +.


var str = "Hello" + " World";


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

אל דאגה, הפיתרון בהישג יד...

הפיתרון

פונקציית join של אובייקט המערך מאפשרת לנו להמיר את כל האלמנטים במערך למחרוזת בודדת כאשר האלמנטים מופרדים ע"י תו מוגדר מראש.
אם נציב בכל תא במערך מחרוזת ונחבר את כולן באמצעות שימוש בפונקציית join עם תו ריק הרי שנקבל מחרוזת אחת גדולה בדיוק כמו שנקבל אם נשתמש באופרטור +.
פונקציה זו דומה מאד למתרחש באובייקט StringBuffer בשפת Java.

var buffer = new Array();
buffer[buffer.length] = "Hello";
buffer[buffer.length] = " World";

buffer.join("");

היתרון
היתרון שבשימוש ב Array.join בכדי לאחד מחרוזות הוא עניין טהור של שיפור בביצועים.
בכדי לראות עד כמה העניין מהותי בואו נריץ 10,000 פעמים לולאה שמחברת מחרוזות בשתי השיטות:

תוצאות הניסוי:
חיבור בשיטה רגילה (+):


    • IE 6 - זמן ריצה ממוצע 646ms (הערך המקסימלי: 810ms, הערך המינימלי: 460ms)

    • FireFox 1.5B1 - זמן ריצה ממוצע 26ms (הערך המקסימלי: 47ms, הערך המינימלי: 15ms)

Array.join:


    • IE 6 - זמן ריצה ממוצע 26ms (הערך המקסימלי: 32ms, הערך המינימלי: 15ms)

    • FireFox 1.5B1 - זמן ריצה ממוצע 20ms (הערך המקסימלי: 31ms, הערך המינימלי: 15ms)


תוצאות הניסוי מרשימות. Array.join משפר את הביצועים ב 2484% (!!!) לעומת שימוש בחיבור מחרוזות רגיל ב IE.
לעומת זאת, דפדפן FF כמעט ולא מרגיש בהבדל, מה שאומר שהחבר'ה ב Mozilla עשו עבודה טובה :-)

מסקנות
השתמשו ב Array.join ביישומי ה JavaScript שלכם וספקו למשתמש שלכם חווית משתמש חלקה ונעימה יותר, תוך שמירה על ביצועים גבוהים.

פונקציות בדיקה

function test1(){
var cycles = 10000;
var tp1 = new Date().valueOf();
var buffer = "";

for (var i = 0; i < cycles; i++)
buffer += "0123456789";

var tp2 = new Date().valueOf();

alert(tp2 - tp1);
}

function test2(){
var tp1 = new Date().valueOf();
var buffer = new Array();

for (var i = 0; i < cycles; i++)
buffer[buffer.length] = "0123456789";

var str = buffer.join("");
var tp2 = new Date().valueOf();

alert(tp2 - tp1);
}
עוזי רפאלי משמש כסמנכ"ל טכנולוגיות בחברת קומט מערכות מידע המתמחה במתן פתרונות כוללים ליזמות טכנולוגית בתחום האינטרנט.

מקור המאמר: www.Articles.co.il - מאמרים לשימוש חופשי

כלים שימושיים למאמר:
 פרסם את המאמר   הדפס את המאמר   שלח לחבר   קישור ישיר למאמר   פניה לכותב המאמר   דווח מאמר בעייתי 

תגיות של המאמר: javascript, performance, ביצועים, מחרוזות, חווית משתמש, מהירות

תגובות למאמר:

  • ציטוט אקדמי של המאמר לפי כללי APA:
    רפאלי, עוזי. (28/10/2005).  ביצועים בהרצת JavaScript, שעור ראשון - מחרוזות. [גרסה אלקטרונית]. אתר מאמרים.
    נדלה בתאריך:26/05/12 מ:http://www.articles.co.il/article.php?id=1367

  • ציטוט אקדמי של המאמר לפי כללי MLA:
    רפאלי, עוזי. "ביצועים בהרצת JavaScript, שעור ראשון - מחרוזות" . [גרסה אלקטרונית]. אתר מאמרים. 28/10/2005
    נדלה בתאריך:26/05/12 מ:http://www.articles.co.il/article.php?id=1367

  • הרשם כעת לרשימת התפוצה!
    קבל דיוור אוטומטי של מאמרים חדשים
    בנושאי אינטרנט ועסקים מקוונים
    דואר אלקטרוני:


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


     מאמרים נצפים ביותר בקטגוריה פיתוח אתרים
       בניית אתרים לעסקים קטנים
       בניית אתרים בחינם - איפה הכי מומלץ ומה כדאי לבדוק ?
       מדריך הכיס ל - HTML
       המצאות ופטנטים- על המצאת מוצרי צריכה,יוזמות אינטרנט
       עושים עסקים און-ליין
       עולם אינטרנט - ברוכים הבאים לעולם מופלא
       בקרת איכות QA לאתר אינטרנט
       XHTML - לכתוב לפי הספר
       בניית אתר אינטרנט למשרד עורכי דין
       כמה עולה לנו פיתוח אפליקציות לאייפון?
       Hashtable עבור JavaScript - מבנה נתונים יעיל לשליפה בסיבוכיות נמוכה
       בניית אתרים חינם
       בביתנו: על מוזיאונים וירטואליים
       טעויות נפוצות בבניית אתר אינטרנט
       מערכת השיקולים בהקמת אתר אינטרנט חדש

    מאמרים

    ©2012 כל הזכויות שמורות

    מורנו'ס - שיווק באינטרנט

    אודותינו
    שאלות נפוצות
    יצירת קשר
    יתרונות לכותבי מאמרים
    מדיניות פרטיות
    רשימת כותבים
    כותבים מומחים
    עלינו בעיתונות
    מאמרים חדשים
    פרסם אצלנו
    לכותבי מאמרים: פתיחת חשבון חינם
    כניסה למערכת
    יתרונות לכותבי מאמרים
    תנאי השירות
    הנחיות עריכה
    לבעלי אתרים:



    מדיה חברתית:
    חלון מאמרים לאתרך
    תנאי שימוש במאמרים
    ערוצי מאמרים ב-RSS Recent articles RSS

    מאמרים בפייסבוק מאמרים בטוויטר מאמרים ביוטיוב
    טיולים בארץ | רג'ינה - מסעדה כשרה בתל אביב | ספא בצפון | עורך דין פלילי | מדים, בגדי עבודה