10-04-2005, 01:09
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,777
|
|
אני מקווה שאני לא הולך לשבור לך מיתוס גדול מדי כאן...
בין מספר הפונקציות שיש בתוכנה מסויימת, לבין רמת היעילות שבה היא מבצעת את הפונקציות האלה - אין שום קשר (ואם תלמד תכנות, תסכים איתי).
העובדה ש DC לא יודעת לעשות שום דבר חוץ מפורום בסיסי והודעות פרטיות, לא אומרת שצריכת המשאבים שלה קטנה בהתאם.
יעילות איננה נמדדת (בפעם האחרונה שבדקתי) במקום שנצרך על הכונן הקשיח (אבל אם אתה כבר מעלה את זה, DC צורכת גם יותר מקום) - אלא בכמה פעולות מעבד נדרשות כדי להפעיל פונקציה מסויימת (אם תלמד אסמבלי - הכוונה ל MOV/CMP/JZ/JNZ וכו'). ככל שכדי לבצע את אותה הפונקציה על אותו המידע יש לבצע יותר פעולות מעבד, אזי המערכת פחות יעילה.
המתכנת של DC הוא מתכנת קטן. קטן מאוד. עברתי על הקוד שלו די הרבה, ודי ברור ש... לתכנת... הוא לא יודע. גם אם איכשהוא נקבל את השיטות שלו בתכנות - חוסר ההקפדה שלו שנוגע לפרטים באבטחת מידע, זעזע אותי. או שהוא Clueless לחלוטין - או שהוא טמבל. הקוד שלו בנוי בצורה כל כך נוראית, שאני לא מבין איך הוא מבין מה כתוב שם (השערה שלי - הוא כנראה לא...).
באיזשהוא שלב, הבחור הבין, שעוד מעט כמות האנשים שקונה ממנו את הפורום תעלם (ד"א - כמעט כולם ישראלים - משום מה?), משום שכל העולם ואשתו כבר זנח את Perl זה מכבר, ועבר לעבוד עם PHP ומסדי נתונים. אז האדון הנכבד ישב והתחיל ללמוד PHP. זה לא קשה במיוחד - מי שיודע Perl או C יבין את PHP בחמש דקות. אבל מה... הוא צריך לקחת מערכת קיימת, ולהעתיק אותה, איך שהיא, למערכת חדשה. הוא לא רוצה לשנות שום דבר. יש במערכת שלו שתי פונקציות, שהיא המערכת היחידה בעולם שמכילה אותן, ויש לה קהל מצומצם מאוד שהתלהב ממנה (ישראלים כבר אמרנו?), כמו למשל תצוגה פרושה של שרשור כל ההודעות בפורום.
אז הוא תרגם את קוד ה Perl לקוד PHP. במקום להשתמש בפונקציות המיוחדות והיעילות של PHP, הוא השתמש בבסיס של הבסיס של Perl. כמובן שכיוון שזה רץ על PHP, הביצוע עצמו מהיר יותר, כי PHP מהירה יותר. אבל מה - הוא גם עבר למסד נתונים - בדיוק כמו שאר הפורומים על הגלובוס שעשו את זה מאז ומעולם...
וכאן הוא היה צריך ללמוד על מסדי נתונים. אני לא בטוח אם העובדה שהוא לא למד, או שהוא רצה להעתיק את מבנה הנתונים הקיים של DC ה-Perl-ים גרמו לזה, אך התוצאה היא, שהמידע ב DCF+ מאוחסן בצורה שהיא כנראה הכי לא יעילה שנתקלתי בה אי פעם במסד נתונים לאחסון מידע.
כשמידע מאוחסן במסד נתונים באופן לא יעיל - השליפה שלו לוקחת זמן. הרבה זמן. ככל שמסד הנתונים גדל - זה לוקח אף יותר זמן.
ב - VB לעומת זאת - ישנם הרבה מתכנתים, הרבה QA, הרבה יותר התקנות של אנשים בעולם, והרבה יותר מחשבה בכיוון של אבטחה. המתכנתים יודעים מה הם עושים, ורואים את זה בקוד המקור. מסד הנתונים מנורמל לחלוטין. למעשה, בניתוח שעשיתי ל VB, למעט מקום בודד, לא מצאתי שום מקום שבו אפשר לשפר את יעילות מסד הנתונים יותר ממה שהוא עכשיו. והמקום הבודד הזה נעשה כך בכוונה, כך אני משער, כי הניחו שבאתרים בסדר כמו שלנו, תהיה חומרה מספיק חזקה כדי לעשות את זה בצורה שזה נעשה. בכל אופן, המצב ב DCF+ היה הרבה יותר גרוע, ואולי היית יכול לגלוש כאן מ 1 בבוקר עד 5 בבוקר...
לגבי האתרים האחרים שציינת לעיל, תראה לי אתר בסדר גודל של פרש שרץ על DCF+ והוכחה לכך שהוא עושה את זה על חומרה כמו של פרש, ואז נדבר.
|