[Splashy-devel] Splashy time. when time resurrects

Vincenzo Ampolo vincenzo.ampolo@gmail.com
Sat, 28 May 2005 17:24:47 +0200


On Fri, 2005-05-27 at 01:03 -0400, Luis M wrote:
> splashy (c version) works perfectly fine in my system. no errors. no
> anything. i believe it works the same way for otavio and others in
> #splashy. does this mean that the program is perfect? i'm sure it
> isn't and i'm sure bugs will be found as we go along. eventually
> splashy will be complete. we will just keep releasing versions fast
> until we reach a steady level of stability.

One thing is a bug (a problem that is not well know or is not visible)
and another thing is a miss feature (checking errors, etc.)

> 
> > Look to our programs:
> > C version have about 2*number_of_the_lines_of_c++_code and it does not
> > recognize errors (that as you know could be found only by looking on
> > vcs1 because we cannot and don't want to modify /etc/rc) and it have a
> > problem in the shutdown: more people say that see one seconds the boot
> > messages before X is running.
> 
> you know that doesn't make any sense. take libdirectfb ++dfb and all
> the other libraries you use for the c++ version, count the number of
> lines, then add the number of lines to the source code of splashy c++.
> now for the C version all you need to do is add libdirectfb source
> code, plus glib, plus splashy itself. in the end, i'm sure splashy (c)
> has a lot less lines of code. lines of code doesn't mean anything
> anyway. for the C++ version to work you needed to pass strings from
> the initrc and then read them in memory to set the progressbar. the C
> version does the same using a fifo (named pipe) which is a lot more
> efficient. the c version also forks properly to handle keyboard
> events, fifo events and as of today, it handles errors from the vcs1
> buffer as well. read below...

If you do this math (that have no sense for me) we should add to the C
version all the glib and as you know C and C++ will differ for only
about 100 kb.
A fifo is not efficient, because we still need to read from vcs1 and it
has no sense for me.
As my test confirm Splashy in C lose a lot of time managing fifo
messages and reading the vcs1. read above


> i look through the code and read the man pages for usleep(). there
> were no more sleep() calls anywhere and the init rc's don't have any
> sleep calls either. i noticed the usleep() is a deprecated function as
> it doesn't handle posix schedules correctly. so, i switch it to
> nanosleep(). i'll experiment with SCHED_FIFO calls (at least on Linux)
> which causes FIFO events to preempt the kernel and give priority to
> the process running under this special scheduling.
> 
> for now, run your tests again against the version of splashy in
> http://splashy.alioth.debian.org/debian and let us know what happened.
> 

Good to know. Splashy is executed as a child of init and it's not
related (in time sense) with initrc scripts, if you say that there are
no any sleep() calls in rc files it's enought. SPlashy loses time
executing the line of its code. I pointed to your link and find out
splashy-0.1.3+svn... (there is going to be an official version of
splashy almost everyday... loosing credibility) and i made my tests
and... here are the results

Splashy-0.1.3+svn (c code)
54.48
54.92
55.32
53.05
54.67
and the mediate number is 54.488

Splashy-0.1-5 (c++ code)
49.59
49.74
51.56
52.08
50.47
and the mediate number is 50.688

Yes... 3.8 second more and splashy-0.1-5 shows 2 images (i add an rc
script that simulates an error) while splashy-0.1.1 shows only one.
And i remember the result of the splashy-0.1.1+12 that was 53.482. Yes,
splashy-0.1.3 is even more slow.


> As we discussed in IRC, i talked to the alioth people to have your
> account fixed. I'm not sure if they have done that yet, but at least
> we now know who to talk with. (confirmed. your account $HOME has been
> created in alitoh/haydn/costa).

My account is now fixed on alioth, but I lose my faith in its system.

> 
> You seem not convince by the splashy C version, even though you know
> that the number of dependencies needed to run the C++ version doesn't
> make sense for what the program should be doing. Look at blotch and
> you will see what I mean. If i could drop the XML parser and switch
> the config file to .ini, we could probably get rid of glib as a
> dependencie to splashy. But, glib is so elegant and makes life so much
> simpler, I don't see a need. Note that the C++ version also depends on
> glib (c++ wrapper) (glib::ustring is needed by ++dfb). which means
> that in order to run the C++ version you need:
>  
> * glib and glib C++ bindings
> * libdirectfb and ++dfb (which is the C++ bindings for libdirectfb)
> * xmlpp ? (don't recall the correct name)
> * etc...
> 
> The C version of splashy needs:
> 
> * glib
> * libdirectfb
> 
> and that's it.
> 

Yes, right, but what's more important? dependecies? time?
When you use computer (laptops or desktop pc since it's the target of
splashy) is the dependecies a real problem?
You install package just one time, when you install the program, than
you can forget them, but time, you reboot your computer more than one
time per day (i reebot my computer more than 10 times per day) and 4
seconds more to the boot time is too...

I'm not blaming to you, i failed.

I couldn't be the admin of this project because i don't believe that the
way of it operates is the best, but you know splashy better than me, so
i wanna leave from my position on this project and give to you the
administrator privilegies.

I'll start another project, starting from the splashy-0.1-5 code and
called with another name and in C++ code.

I wanna say thanks to all the person that have believed in my capacities
and helped me to this project... thanks again...
-- 
Vincenzo Ampolo <vincenzo.ampolo@gmail.com>