Re: [E-devel] Epsilon [PATCHES]

2008-05-09 Thread Kenneth Christiansen
The patches are very small and their names are pretty self-explanatory :-)

0001-Fixed-w-h-unnoticed-miss-exchange.patch:
Fixed w - h unnoticed miss-exchange, when calculating thumbnail geometry

0002-Fix-alignment.patch:
Fix alignment

0003-segfault_check_epsilon_cb_server_data.patch:
Added IF in epsilon_thumb.c's epsilon_cb_server_data to avoid segfault

If you have time, please take a look and if you have questions I'm
sure that Leo will answer them.

Would be nice to get these patches upstream.

Cheers,
Kenneth

On Thu, May 8, 2008 at 5:53 PM, Christopher Michael
[EMAIL PROTECTED] wrote:
 Leo Sobral Cunha wrote:
 hi guys,

 attached are some patches for epsilon, mostly small bugfixes.

 any comments?

 BR,

 Just FYI, but in the future please add a short description somewhere in
 your email about what your patches address. mostly small bugfixes is
 just a bit too generic :) What bugs? It saves the developers some time.

 Thanks
 dh

 -
 This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
 Don't miss this year's exciting event. There's still time to save $100.
 Use priority code J8TL2D2.
 http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Nightly build log for E17 on 2008-05-09 07:09:10 -0700

2008-05-09 Thread Nightly build system
Build log for Enlightenment DR 0.17 on 2008-05-09 07:09:10 -0700
Build logs are available at http://download.enlightenment.org/tests/logs

Packages that failed to build:
enna  http://download.enlightenment.org/tests/logs/enna.log
epdf  http://download.enlightenment.org/tests/logs/epdf.log
evolve  http://download.enlightenment.org/tests/logs/evolve.log

Packages with no supported build system:
entice, esmart_rsvg, exorcist, python-efl, 

Packages skipped:
camE, ecore_dbus, engage, enotes, enscribe, epbb, eplay, erss, etk_server, 
etox, e_utils, Evas_Perl, evoak, gfx_routines, lvs-gui, med, nexus, notgame, 
ruby-efl, webcam, 

Packages that build OK:
alarm, bling, calendar, cpu, deskshow, echo, eclair, ecore_li, ecore, edata, 
edb, e_dbus, edje_editor, edje, edje_viewer, edvi, eet, eflame, eflpp, efm_nav, 
efm_path, efreet, elapse, elation, elicit, elitaire, e, embrace, embryo, 
emotion, emphasis, empower, emprint, emu, enesim, engrave, engycad, enhance, 
enity, enterminus, enthrall, entrance_edit_gui, entrance, entropy, envision, 
epeg, ephoto, e_phys, epsilon, epx, equate, esmart, estickies, etk_extra, 
etk, etk-perl, evas, evfs, ewl, examine, execwatch, exhibit, exml, expedite, 
express, exquisite, extrackt, feh, flame, forecasts, gevas2, iconbar, iiirk, 
imlib2_loaders, imlib2, Imlib2_Perl, imlib2_tools, language, mail, mem, 
mixer, moon, mpdule, net, news, notification, penguins, pesh, photo, rage, 
rain, screenshot, scrot, slideshow, snow, taskbar, tclock, uptime, weather, 
winselector, wlan, 

Debian GNU/Linux 4.0 \n \l

Linux enlightenment2 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 
GNU/Linux


See http://download.enlightenment.org/tests/ for details.


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Shared Strings

2008-05-09 Thread Peter Wehrfritz
Carsten Haitzler (The Rasterman) schrieb:
 after. i've run the tests myself now.

 i'll add some stats. e17 maintains about 3000-4000 unique strings in
 evas_stringshare. in my tests. i also checked on number of adds, dels and
 lookups in evas_stringshare usage. about 6.48% of calls are for adds of a
 unique string. 5.12% are for deletes of a string. 88.41% are accesses (an add
 or a del of an existing string where the operation does not free or allocate
 any memory but just refcounts up or down).

 now based on this, the existing stringshare vs. string_instance means, that if
 you account for the relative usage of add, del and access paths,
 string_instance gets overall faster once you have about 3200 or so strings. so
 e17 is about at the cusp point. it's also one of the heavier users i imagine.

 i simply changed hash bucket size to be 1024 items instead of 256 and that
 makes the crossover point at about 7200 strings items - well beyond normal
 usage of e17 anyway. adds and delets are still significantly faster (string
 instance takes 1.8 and 1.4 times the time respectively compared to 
 stringshare)
 even at 10,000 strings. with the 1024 buckets for stringshare of course. but
 string_instance takes 0.8 times the time for lookups.

 overall it's a close race. i'll try improve stringshare a little and see what 
 i
 get, but beyond making it have dynamic bucket sizes (like ecore_hash) it isn't
 likely to go far. a dynamic bucket size will mean it will scale very high
 (question: do we need it to go that high?) but the idea of having to re-do the
 bucket array at certain points is a little uncomfortable (so u go from 3000 to
 3001 and the system has to spend extra cycles re-packing all hash items in a 
 new
 bucket set thats bigger). yes - this is nicer in terms of base mem usage of
 course. so the thing here is to figure out how to get the best thing we can 
 for
 the least cost. i do know stringshare has a 1 alloc per unique string 
 overhead.
 thats about as small as it gets (also either 8 or 12 bytes (32 or 64bit) per
 unique string for refcount and pointer).
   

The (only) one alloc is most probably the reason why has better results 
for adds and removes then the ecore counter-parts. It's probably 
possible somehow to improve the situation for ecore_hash, but it'd make 
the code more of ecore_hash to alloc only one piece of memory per item. 
I think it isn't worth it, because i don't see a general usage for such 
a feature.

 now... more interestingly - i now started looking at the test. it is very
 artificial. 

Yes, i know. I start to read the two implementations and saw the 
difference. And i wondered if how they affect the performance. How much 
is the overhead of the two allocations? Where will evas start to suck, 
because of the static bucket count. So i've written the test case to get 
a feeling for it. I know it is artificial, but I think it is still 
interesting, even if it doesn't represent a normal usage.

 at most 2 copies of a string, so n repeated adds, and all short
 strings. not very representative of common usage. in common usage i have
 seen some strings with refcounts of  200. in fact the del wont work with
 stringshare. on del u need to supply the actual string pointer - not the
 snprintf'd buffer. so nothing gets found and deleted. ie its meant to work 
 with:

 char *s;

 s = evas_stringshare_add(string);
 ...
 evas_stringshare_del(s);

 ie - the same return from stringshare.
 evas_stringshare_del(string) will not work.

 ... so as such you need a test that is more representative of actual usage.

 so that's just what i did. i literally logged all stringshare add's, dels etc.
 in such a way it'd produce correct code from a session of e17 i fiddled with
 for about 5 minutes doing stuff. you'll forgive me for not including the code
 as the .c file generated is 11m (239,000 lines of c) that i included into the
 compare.c infra to test both ecore and evas code and just time it doing 
 exactly
 what e does. i also included nops where functions are called, but do nothing
 so we can remove the simple test harness and function call overhead and 
 compare
 just core. as it was a little too fast i make it run 1000 loops of what e
 actually does one after the other (yes it'll be bad as it doesn't start with a
 clean slate but better than nothing). result for 1000 iterations one after the
 other:

 evas: 20.691495
 ecore: 30.510302
 nops: 3.444793

 real factor: 1.57

 so really 20.69 - 3.44 vs 30.51 - 3.44 - i.e 17.25 vs 27.07 (evas being the
 lower). yes - this means a lot of things will get high refcounts as things get
 re-added a lot and then not removed, so the raw results of only 1 iteration:

 evas: 0.031672
 ecore: 0.045482
 nops: 0.004831

 real factor: 1.51

 not as accurate as the times are so small, but the same order of magnitude as
 above.

 so as such... if we are doing benchmarks to know which implementation to use 
 to
 find the one with best results - at least for the 

Re: [E-devel] Epsilon [PATCHES]

2008-05-09 Thread Gustavo Sverzut Barbieri
On Thu, May 8, 2008 at 2:46 PM, Leo Sobral Cunha
[EMAIL PROTECTED] wrote:
 hi guys,

 attached are some patches for epsilon, mostly small bugfixes.

 any comments?

The first patch had some indentation problems, I fixed and committed them all.

Thanks!


-- 
Gustavo Sverzut Barbieri
http://profusion.mobi
Embedded Systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel