In statically typed object-oriented languages, message sending, or late binding, is implemented with tables often called virtual functions tables (VFT). Those tables reduce method calls to function calls, with a small fixed number of extra indirections. The overhead is more or less important, whether inheritance and subtyping are single or multiple.In this paper, we survey the various implementation schemes available in separate compilation, in the three cases of single inheritance, multiple inheritance, and single inheritance but multiple subtyping, e.g. Java. Many works have been done recently in the framework of global compilation, mostly for dynamically typed languages but also applied to the Eiffel language in the Small Eiffel compiler. We examine how global compilation can improve the implementation and propose to use global techniques-coloring and type analysis-in a separate compilation framework.