Results 1 to 14 of 14

Thread: Successfully made it run in my board.

  1. #1
    zhangzq71's Avatar
    zhangzq71 is offline Registered User
    Name: ZhangZQ
    Organization: WanYi
    Project: Test
    Join Date
    Mar 2005
    Location
    GuangZhou, GuangDong
    Posts
    43

    Very good! IceE is released

    Very good! IceE is released, I have been waitting for it for a long time. Let me try it.

  2. #2
    zhangzq71's Avatar
    zhangzq71 is offline Registered User
    Name: ZhangZQ
    Organization: WanYi
    Project: Test
    Join Date
    Mar 2005
    Location
    GuangZhou, GuangDong
    Posts
    43

    Successfully made it run in my board.

    Successfully made it run in my board. My board is the ARM920T CPU board running WinCE.net 4.2.

  3. #3
    marc's Avatar
    marc is offline ZeroC Staff
    Name: Marc Laukien
    Organization: ZeroC, Inc.
    Project: The Internet Communications Engine
    Join Date
    Feb 2003
    Location
    Florida
    Posts
    1,860
    Great! I'm glad to hear that you were able to get it to work so easily and quickly.

  4. #4
    zhangzq71's Avatar
    zhangzq71 is offline Registered User
    Name: ZhangZQ
    Organization: WanYi
    Project: Test
    Join Date
    Mar 2005
    Location
    GuangZhou, GuangDong
    Posts
    43

    It run very well in Emulator too.

    Yes, because you provided the full document to help us how to use it. thank you very much!


    The IceE image

  5. #5
    zhangzq71's Avatar
    zhangzq71 is offline Registered User
    Name: ZhangZQ
    Organization: WanYi
    Project: Test
    Join Date
    Mar 2005
    Location
    GuangZhou, GuangDong
    Posts
    43

    The size of the Linux library is very large.

    I compiled IceE with arm-linux-gcc 3.3.2, but the library is too large to fit in an embedded system.

    lrwxrwxrwx 1 zzq01 zzq01 14 Aug 30 15:07 libIceEC.so -> libIceEC.so.10
    lrwxrwxrwx 1 zzq01 zzq01 17 Aug 30 15:07 libIceEC.so.10 -> libIceEC.so.1.0.0
    -rwxrwxr-x 1 zzq01 zzq01 5827350 Aug 30 15:07 libIceEC.so.1.0.0
    lrwxrwxrwx 1 zzq01 zzq01 13 Aug 30 15:06 libIceE.so -> libIceE.so.10
    lrwxrwxrwx 1 zzq01 zzq01 16 Aug 30 15:06 libIceE.so.10 -> libIceE.so.1.0.0
    -rwxrwxr-x 1 zzq01 zzq01 6230350 Aug 30 15:06 libIceE.so.1.0.0
    lrwxrwxrwx 1 zzq01 zzq01 19 Aug 30 15:07 libTestCommon.so -> libTestCommon.so.10
    lrwxrwxrwx 1 zzq01 zzq01 22 Aug 30 15:07 libTestCommon.so.10 -> libTestCommon.so.1.0.0
    -rwxrwxr-x 1 zzq01 zzq01 4648198 Aug 30 15:07 libTestCommon.so.1.0.0

  6. #6
    aka50 is offline Registered User
    Join Date
    Jul 2005
    Location
    Russia
    Posts
    14
    May be this is debug version? Under gcc (GCC) 3.3.6 (Debian 1:3.3.6-7) with OPTIMIZED=yes in config/Make.rules
    Code:
    1001305 2005-08-30 13:46 libIceEC.so.1.0.0
    1266668 2005-08-30 13:45 libIceE.so.1.0.0
    But another question:
    As a result, statically-linked client and server executables can be as small as 150KB and 190KB in size, respectively.
    Which client will have such footprint? Any demo and tests are not less then 500k with strip -s? F.e. demo/hello
    Code:
    591596 2005-08-30 14:01 client
    766896 2005-08-30 14:01 server

  7. #7
    dwayne's Avatar
    dwayne is offline ZeroC Staff
    Name: Dwayne Boone
    Organization: ZeroC, Inc.
    Project: Internet Communications Engine
    Join Date
    Jan 2005
    Location
    St. John's, Newfoundland
    Posts
    397
    Hi,

    The 150K and 190K values for the minimal size of the client and server were obtained on Windows using VC++ 7.1 (ie .NET 2003). The sizes on other platforms with other compilers will vary.

    Here are the sizes that I obtained with various compilers building the minimal demo (demo/IceE/minimal). These are all optimized static library builds (for windows choose the "Release Static" build, for linux edit Make.rules and enable OPTIMIZE and STATICLIBS).

    Also all of the optional IceE code suppport (router, locator, batch) has been disabled by editting include/IceE/Config.h and commenting out the config lines as shown.
    Code:
    //
    // Comment this out if you want to build without Router support.
    //
    //#define ICEE_HAS_ROUTER
    
    //
    // Comment this out if you want to build without Locator support.
    //
    //#define ICEE_HAS_LOCATOR
    
    //
    // Comment this out if you want to build without batch mode on the
    // client side.
    //
    //#define ICEE_HAS_BATCH
    Windows /w VC 7.1
    Code:
    -rwxr-xr-x    1 dwayne   None       156672 Aug 30 10:06 client.exe*
    -rwxr-xr-x    1 dwayne   None       193024 Aug 30 10:06 server.exe*
    Windows /w VC 6.0
    Code:
    -rwxr-xr-x    1 dwayne   None       180736 Aug 30 10:09 client.exe*
    -rwxr-xr-x    1 dwayne   None       218624 Aug 30 10:09 server.exe*
    Windows CE /w EVC++ 4.0 (ARM)
    Code:
    -rwxr-xr-x    1 dwayne   None       302080 Aug 30 10:12 minimalClient.exe
    -rwxr-xr-x    1 dwayne   None       367104 Aug 30 10:13 minimalServer.exe
    Linux /w GCC 3.4.4
    Code:
    -rwxrwxr-x  1 dwayne dwayne 470744 Aug 30 10:07 client*
    -rwxrwxr-x  1 dwayne dwayne 646636 Aug 30 10:07 server*
    Linux /w GCC 4.0.1
    Code:
    -rwxrwxr-x  1 dwayne dwayne 437572 Aug 30 10:29 client*
    -rwxrwxr-x  1 dwayne dwayne 595740 Aug 30 10:29 server*
    As you can see from the sizes, GCC is the poorest at producing compact code.

    Of course we will continue to work towards making IceE smaller in future releases.

    Regards,
    Dwayne

  8. #8
    aka50 is offline Registered User
    Join Date
    Jul 2005
    Location
    Russia
    Posts
    14
    Hmm... it's really confusing.

    Seems to be that gcc wants -Os instead of -O3 (BTW O3 is not recommended, O2 is better).
    This is for -O2
    Code:
    435592 2005-08-30 18:35 client
    This is for -Os
    Code:
    377000 2005-08-30 19:09 client
    .text segment is around 250k

    But still far from 156672. BTW if client compiled totally static non ELF binary (-static) here it is:
    Code:
    -rwxrwxr-x  1 dusr3 dusr3 1011088 2005-08-30 18:54 client
    Still thinking that rtti and name mangling is a trouble here (don't know how it in VC7, but here was dragons in VC6 with exported classes and mangled names, but this allow to more compact mangled names).

    PS: little gcc warnings if no Batchmode enable. May be they must be ifdefed?:
    Code:
    ../../src/IceE/Outgoing.cpp: In constructor `
       IceInternal::Outgoing::Outgoing(Ice::Connection*, IceInternal::Reference*, 
       const std::string&, Ice::OperationMode, const Ice::Context&)':
    ../../src/IceE/Outgoing.cpp:67: warning: enumeration value `ModeBatchOneway' 
       not handled in switch
    ../../src/IceE/Outgoing.cpp: In constructor `
       IceInternal::Outgoing::Outgoing(Ice::Connection*, IceInternal::Reference*, 
       const std::string&, Ice::OperationMode, const Ice::Context&)':
    ../../src/IceE/Outgoing.cpp:67: warning: enumeration value `ModeBatchOneway' 
       not handled in switch
    ../../src/IceE/Outgoing.cpp: In member function `bool 
       IceInternal::Outgoing::invoke()':
    ../../src/IceE/Outgoing.cpp:258: warning: enumeration value `ModeBatchOneway' 
       not handled in switch

  9. #9
    dwayne's Avatar
    dwayne is offline ZeroC Staff
    Name: Dwayne Boone
    Organization: ZeroC, Inc.
    Project: Internet Communications Engine
    Join Date
    Jan 2005
    Location
    St. John's, Newfoundland
    Posts
    397
    Hi,

    Some updated size numbers...

    First using -Os on linux with gcc 4.0.1 I now get
    Code:
    -rwxrwxr-x  1 dwayne dwayne 327852 Aug 30 13:20 client*
    -rwxrwxr-x  1 dwayne dwayne 431004 Aug 30 13:20 server*
    We will change -Os to be the default optimization. (For those listening in, you can easily change this by replacing instances of -O3 with -Os in config/Make.rules.Linux)

    Also, I noticed that "Optimise Size" was not being set properly for the WindowsCE EVC++ build. New, slightly smaller, sizes for CE are
    Code:
    -rwxr-xr-x    1 dwayne   None       296960 Aug 30 13:28 minimalClient.exe
    -rwxr-xr-x    1 dwayne   None       357888 Aug 30 13:30 minimalServer.exe
    Btw, why do you say -O3 is not recommended and -O2 is better? Better in what way?

    Regards,
    Dwayne

    PS: Thanks for the note regarding the gcc warnings. These will be fixed in the next release.

  10. #10
    aka50 is offline Registered User
    Join Date
    Jul 2005
    Location
    Russia
    Posts
    14
    In any case this is a good work. Now Ice can live on typical embedded hardware such as DLink routers with linux onboard .

    Quote Originally Posted by dwayne
    Btw, why do you say -O3 is not recommended and -O2 is better? Better in what way?
    Better = stable. O2 sometimes faster then O3. But in most case smaller then O3.
    http://freshmeat.net/articles/view/730/

    And really this is conservative opinion... most linux systems (except Gentoo ) compiled on -O2.
    Most unpleased effect, IMO in:
    -finline-functions
    Integrate all simple functions into their callers. The compiler
    heuristically decides which functions are simple enough to be worth
    integrating in this way.

    If all calls to a given function are integrated, and the function
    is declared "static", then the function is normally not output as
    assembler code in its own right.

    Enabled at level -O3.
    "heuristically" => some times unpredictable .
    Last edited by aka50; 08-30-2005 at 03:01 PM.

  11. #11
    aka50 is offline Registered User
    Join Date
    Jul 2005
    Location
    Russia
    Posts
    14
    One more question. Are there any plans for Python mappings for IceE. (or it is not too difficult to port IcePy to IcePyE)?

  12. #12
    zhangzq71's Avatar
    zhangzq71 is offline Registered User
    Name: ZhangZQ
    Organization: WanYi
    Project: Test
    Join Date
    Mar 2005
    Location
    GuangZhou, GuangDong
    Posts
    43
    Here is my board that running IceE on WinCE.

    Here is my board that running IceE on WinCE

  13. #13
    mes's Avatar
    mes
    mes is offline ZeroC Staff
    Name: Mark Spruiell
    Organization: ZeroC, Inc.
    Project: Ice Developer
    Join Date
    Feb 2003
    Location
    California
    Posts
    1,441
    Quote Originally Posted by aka50
    One more question. Are there any plans for Python mappings for IceE. (or it is not too difficult to port IcePy to IcePyE)?
    We have no plans at present to port IcePy to Ice-E. This would require a significant effort, since IcePy uses features of Ice that are not supported by Ice-E. Furthermore, the commercial need for an IcePy-E is very questionable, since Python does not appear to be commonly used in embedded applications.

    Take care,
    - Mark

  14. #14
    aka50 is offline Registered User
    Join Date
    Jul 2005
    Location
    Russia
    Posts
    14
    Quote Originally Posted by mes
    Furthermore, the commercial need for an IcePy-E is very questionable, since Python does not appear to be commonly used in embedded applications.
    It's true. But IceE is small and simple. This allow to make compact IcePy subset with small footprint. But this is not a question with commercial or other target. Only a question .

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 2
    Last Post: 05-05-2008, 01:44 AM
  2. slice2cpp made cpp file bug
    By hyz1840 in forum Bug Reports
    Replies: 1
    Last Post: 05-27-2006, 11:24 AM
  3. IceE can run in my board for Linux and WinCE.
    By zhangzq71 in forum Comments
    Replies: 0
    Last Post: 10-10-2005, 10:48 AM
  4. Replies: 4
    Last Post: 02-27-2004, 04:48 PM
  5. Can't run make
    By svranyes in forum Bug Reports
    Replies: 4
    Last Post: 07-16-2003, 10:04 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •