רברס עם פלטפורמה
רברס עם פלטפורמה
Ran Tavory && Ori Lahav
415 Bumpers 75
1 seconds Posted Jul 28, 2021 at 6:26 pm.
0:00
0:01
Download MP3
Show notes
[קישור לקובץ mp3] פרק 415 [!Unsupported Media Type] של רברס עם פלטפורמה - באמפרס מספר 75.אז זהו באמפרס: התוכנית החודשית - שלפעמים הופכת לדו-חודשית - שבה אנחנו נפגשים ומדברים על דברים מעניינים שראינו ברחבי האינטרנט, שקשורים לפיתוח תוכנה או לדברים אחרים שמעניינים אותנו: Repos מעניינים של GitHub, פרוייקטים מעניינים ב-Open Source, בלוגים, אתרים או כל דבר אחר טכנולוגי שמעניין אותנו, ונקווה שגם אתכם. אז אני אתחיל . . .רן - אספר על כלי שנתקלתי בו - וקוראים לו tuplex. קצת כמו Duplex, רק מתחיל ב-T . . .אז tuplex זה בעצם Framework חדש שלמעשה נועד לעבד מה שנקרא “Big Data”מה שמיוחד ומעניין בו זה שהוא מבחינת API דומה ל-Spark, אז כל מי שעבד עם Spark, נגיד ב-Python, מכיר את ה-API שלו - אבל המימוש, מתחת לפני השטח, למעשה הולכת ומקמפל (Compile) את הקוד ה-Python-י לקוד ב-C או ב-++C, באמצעות LLVM, וככה מריץ אותו.אז זה החלק המעניין - יש לו בעצם “Dual Mode” - הוא פעם אחת יכול להריץ את זה ב-Python, פעם אחת יכול להריץ את הקוד המקומפלוזה, לטענת המחברים, מייצר, יכולת Performance מאוד מעניינת ומרשימה.אני לא יודע מה יכולות ה-Parallelization שלו - זאת אומרת, החלק הגדול והמעניין ב-Spark זה באמת היכולת לעשות את הכל ב-Concurrency מאוד גבוהאז אני לא יודע מה היכולות של tuplex עצמואבל מה שכן - מהחינת Raw Performance, לכאורה, יש להם פה רווחים, כי הם למעשה מקמפלים את הכל ל-Native, זאת אומרת - ל-++C, באמצעות ה-LLVM.(אלון) רגע, יש לי יותר מדי שאלות לקהל . . .(רן) שאל . . .(אלון) אתה כותב ב-Python, ובסוף יוצא לך ++C?(רן) כן . . . אני חושב שגם זה, בסופו של דבר, מתקמפל מן הסתם לשפת מכונה - אבל כן.(אלון) אז השאלה, קודם כל אם . . . (דותן) לא . . . זה בנוי ב-++C - אתה כותב ב-Python, וזה פולט החוצה LLVM . . .(רן) אה, אוקיי . . . סבבה, LLVM.(אלון) אז LLVM, אוקיי - אז עכשיו, השאלה הבאה היא למה לא לכתוב - אם זה עובד, נניח - אז למה לא לכתוב Python רק בזה? בלי קשר למקביליות, בלי קשר לכלום . . . אם בסוף יצא לי LLVM? כאילו, מה עשו פה - Complier מ-Python ל-LLVM בעצם?(רן) נכון . . . אני חושב שהשאלה היא במקום, והשאלה היא  . . . אני לא יודע, יכול להיות שהמרחק פה באמת מאוד קטן, אבל יכול להיות שהם התמקדו לא על כל מה ש-Python יודע לעשות, אלא על הדברים הספציפיים . . .על API שבין Python לבין Sparkאבל שאלה מעניינת . . .  יש לך עוד שאלות?(אלון)כן!(דותן) זה מה שאני רואה - אני מטייל להם בקוד, ואני רואה שהם עשו בדיוק את זה . . .(אלון) כי אם זה עושה Complier, אז בעצם זה פתרון גנרי - אם זה היה עובד טוב. יש לי יותר מדי . . . אני חושש מהפרויקט הזה, כי זה מסוג הדברים שעובד לך ב-Python ואז אתה מקמפל ולא עובד כלום, אין לך מושג מה קורה,  אתה מקבל LLVM, כי יש בעיה ב-Complier, אז אני חושש . . .ואם ה-Complier כן עובד - אז בעצם פתרנו את בעיות הביצועים של Python?! כאילו - משהו פה לא מסתדר . . . (דותן) יש פה . . .  זה לא נראה לי יהיה ככה אי-פעם - אם היו מקמפלים את Python מחדש באופן גנרי לכל דבר שאתה יכול לכתוב ב-Python, נראה לי שזו הייתה הכרזה מסוג אחר . . . (רן) כן . . .אני חושב שזה הרבה-הרבה יותר צר - לצורך העניין, הם לא מטפלים, אני מנחש, ב-Threading או ב-Multi-Process או בהרבה דברים אחרים, פיצ’רים אחרים שיש ב-Python.הם התמקדו ספציפית בפיצ’רים של ה-API שיש ל-Python מעל Sparkאז זו איזושהי זוית מאוד צרה - אבל יכול להיות שמפה, לקחת את זה הלאה ולעשות את זה Python גנרי, יכול להיות שזה יותר קל . . .אבל הם לא עשו את זה.(דותן) אני יכול לנחש שנגיד - אם אתה כותב Java, אז ה-JIT, עם הזמן, יהפוך את הקוד שלך לקוד הכי טוב בעולם . . .פה הם אמרו: “טוב, אתה כותב ב-Python, אין JIT, זה לא ‘JI-thon’ - בוא נעשה משהו דומה” . . נראה לי שזה מה שהם . . .לא קראתי לעומק, אבל נראה לי שזה מה שהם רצו לעשות.(אלון) טוב . . . מעניין. מפחיד אך מעניין . . . (רן) נסווג את זה תחת “מפחיד אך מעניין” [פיילוט לפינה חדשה?]אני, באופן אישי, לא ניסיתי, אני חייב להגיד . . . ראיתי את הפרויקט, קראתי, נראה לי מעניין - אז רציתי להביא את זה לפה, אבל לא השתמשתי בו עדיין.אני גם לא רואה את עצמי משתמש בו בקרוב, אני חייב להגיד . . .בכל אופן - חשבתי שזה יהיה מעניין.הנושא הבא - נתקלתי באתר שנקרא Gently Down The Streamאני מניח שרובינו זוכרים את השיר באנגלית מכיתה ג’…