000210236 001__ 210236
000210236 005__ 20190317000228.0
000210236 037__ $$aSTUDENT
000210236 245__ $$aInteroperation between Miniboxing and Other Generics Translations
000210236 269__ $$a2015
000210236 260__ $$c2015
000210236 336__ $$aStudent Projects
000210236 520__ $$aGenerics allow programmers to design algorithms and data structures that operate in the same way regardless of the data used by abstracting over data types. Generics are useful as they improve the programmer’s productivity by raising the level of abstraction, which in turn leads to reducing code duplication and uniform interfaces. However, as data on the low-level comes in different shapes and sizes, it is not a trivial job of compiler to bridge the gap between the uniform interface and the non-uniform low level implementation. Different approaches are used for generics translation and all of them can be categorized either into homogeneous or heterogeneous group. The characteristic of homogeneous translations is that all different data representations are transformed into an identical representation and use the same low-level code for this purpose. In the heterogeneous translations, code is duplicated and adapted for each incompatible data type. From a programmer’s point of view, there should be no difference between a generic method or class compiled using some homogeneous or heterogeneous translation. Therefore, the programmer can combine different types of translations together on different parts of the code and the program has to be correct. But, as different generics translations are implemented in different ways, interoperation between them introduces noticeable slowdowns as values need to be converted to the foreign object’s desired representation, incurring significant performance losses. In this thesis, it will be explored why slowdowns happen when different translations interact together and proposed the ways how they can interoperate more efficiently. Proposed approaches are implemented and their effectiveness is presented by benchmarking the implementation.
000210236 700__ $$aStojanovic, Milos
000210236 720_2 $$0245399$$aUreche, Vlad$$edir.$$g200717
000210236 8564_ $$uhttps://github.com/miniboxing/miniboxing-plugin$$zURL
000210236 8564_ $$s330071$$uhttps://infoscience.epfl.ch/record/210236/files/Thesis%20Report%20%28Milos%20Stojanovic%29_1.pdf$$yPostprint$$zPostprint
000210236 8564_ $$s245223$$uhttps://infoscience.epfl.ch/record/210236/files/mbox2-transp-good.small_1.png$$yn/a$$zn/a
000210236 909C0 $$0252187$$pLAMP$$xU10409
000210236 909CO $$ooai:infoscience.tind.io:210236$$pIC$$qGLOBAL_SET
000210236 917Z8 $$x200717
000210236 937__ $$aEPFL-STUDENT-210236
000210236 973__ $$aEPFL
000210236 980__ $$aSTUDENT$$bMASTERS