Hi Brad,

> That part has need been working for a very long time, and many of the parts 
> that it used have been removed from ITK. Do you know of people using that 
> part of Wrapping?

No, the code base would need to be cleaned up.

> Also the goal of that project was to instantiate everything, not just the 
> most frequently used components. Additionally having to build WrapITK, would 
> not make the compilation of SimpleITK any quicker.

The modules that are built are instantiated, and only with the types
specified. Eventually there should be a CastXML binary, so enabling
should not take any longer.

Matt

> Brad
>
> On Mar 17, 2015, at 11:00 AM, Matt McCormick <matt.mccorm...@kitware.com> 
> wrote:
>
>> Hi,
>>
>> Instead of maintaining a duplicate set of type instantiations, it may
>> be worth exploiting the ITK_WRAP_EXPLICIT option (see
>> Wrapping/Generators/Explicit).  This will re-use all the wrapping type
>> instantiation logic, which is also CMake configurable.
>>
>> 2 cents,
>> Matt
>>
>>
>>
>> On Tue, Mar 17, 2015 at 10:44 AM, Bradley Lowekamp
>> <blowek...@mail.nih.gov> wrote:
>>> Hans,
>>>
>>> Thanks for sharing this work.
>>>
>>> I was able to utilize your script and methodology for SimpleITK to
>>> explicitly instantiate about 16 classes with their commonly used arguments
>>> as by SimpleITK [1]. I created a separate library in SimpleITK which
>>> contains these explicitly instantiated classes [2].
>>>
>>> These instantiations reduced the size of the .o files for SimpleITK by ~30%
>>> (500MB), and enabled linking once again on Windows 64. Some systems seem to
>>> also gain significant performance in build time (over 2X), but there are
>>> many reasons for it including running into memory or IO limitations on the
>>> individual system.
>>>
>>> However I was not able to get it working with the explicitly instantiated
>>> library as shared. The mixtures of export specification of the initial ITK
>>> declaration and the explicit instantiation linking specification didn't
>>> appear to work. I think they need to be consistent? I followed the
>>> methodology that was done for the MetaDataObjects[3]. If I build ITK and
>>> SimpleITK as shared but with the Explicit library as static it appears to
>>> work.
>>>
>>> Any help on explicitly instantiation with shared libraries would be
>>> appreciated!
>>>
>>> Thanks,
>>> Brad
>>>
>>> [1]
>>> https://github.com/SimpleITK/SimpleITK/blob/a6e62785a9e8ebc41dfb3e15f72e1985a620bf22/Code/Explicit/include/sitkExplicitITK.h
>>> [2]
>>> https://github.com/SimpleITK/SimpleITK/blob/a6e62785a9e8ebc41dfb3e15f72e1985a620bf22/Code/Explicit/src/CMakeLists.txt
>>> [3]
>>> https://github.com/InsightSoftwareConsortium/ITK/blob/d195bfb21e8af086c67208c2b96d5fd5992c66ca/Modules/Core/Common/include/itkMetaDataObject.h#L191-L224
>>>
>>> On Jan 28, 2015, at 12:16 PM, Johnson, Hans J <hans-john...@uiowa.edu>
>>> wrote:
>>>
>>> Yes!  I’d love someone to investigate further:
>>>
>>>
>>> https://github.com/hjmjohnson/ITK/tree/TryExplicitInstantiationTesting
>>>
>>> https://github.com/hjmjohnson/ITK/commit/0576c75c8a760f1cafcde3125210134a39502304
>>>
>>>
>>> Hans
>>>
>>>
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://kitware.com/products/protraining.php
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://public.kitware.com/mailman/listinfo/insight-developers
>>>
>
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-developers

Reply via email to