25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
tdelibs/tdeinit
Michele Calgaro 03aa7238b3
Replace Q_WS_* defines with TQ_WS_* equivalents
2 ay önce
..
tests Additional k => tde renaming and fixes 11 yıl önce
CMakeLists.txt Use private linking for exported CMake targets. 4 yıl önce
LICENSE.setproctitle Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
Mainpage.dox Removed code formatting modelines. 4 yıl önce
Makefile.am LIB_QT -> LIB_TQT conversion to align to updated admin module 6 yıl önce
README qt -> tqt conversion: 6 yıl önce
README.DCOP Replace QObject, QWidget, QImage, QPair, QRgb, QColor, QChar, QString, QIODevice with TQ* version 7 ay önce
README.autostart Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
README.wrapper Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
autostart.cpp Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
autostart.h Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
configure.in.in Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
kwrapper.c Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
lnusertemp.c tdeinit: make lnusertemp respect HOME for root 7 yıl önce
setproctitle.cpp Removed explicit usage of the 'register' keyword. 4 yıl önce
setproctitle.h Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
shell.c Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
start_tdeinit.c Added missing headers for tdeinit/start_tdeinit.c 4 yıl önce
start_tdeinit_wrapper.c Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
tdedostartupconfig.cpp QT_NO_* -> TQT_NO_* renaming. 6 yıl önce
tdeinit.cpp Replace Q_WS_* defines with TQ_WS_* equivalents 2 ay önce
tdeioslave.cpp Additional k => tde renaming and fixes 11 yıl önce
tdelauncher.cpp Replace Q_WS_* defines with TQ_WS_* equivalents 2 ay önce
tdelauncher.h Replace Q_WS_* defines with TQ_WS_* equivalents 2 ay önce
tdelauncher_cmds.h Additional k => tde renaming and fixes 11 yıl önce
tdelauncher_main.cpp Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
tdestartupconfig.cpp Rename remnant files and references from kinit -> tdeinit. 11 yıl önce
wrapper.c Replace Q_WS_* defines with TQ_WS_* equivalents 2 ay önce

README

README

tdeinit is a process launcher somewhat similar to the 
famous init used for booting UNIX.

It launches processes by forking and then loading a
dynamic library which should contain a 'main(...)'
function. 

Executive summary
=================

Using tdeinit to launch KDE applications makes starting
a typical KDE applications 2.5 times faster (100ms 
instead of 250ms on a P-III 500) It reduces memory 
consumption by approx. 350Kb per application.


How it works
============

tdeinit is linked against all libraries a standard KDE
application needs. With this technique starting an
application becomes much faster because now only
the application itself needs to be linked whereas 
otherwise both the application as well as all the libaries
it uses need to be linked.

Startup Speed
=============

Starting an application linked against libtqt, libtdecore and libtdeui
in the conventional way takes approx. 150ms on a Pentium III - 500Mhz. 
Starting the same application via tdeinit takes less than 10ms.

(application without TDEApplication constructor, the TDEApplication 
constructor requires an extra 100ms in both cases)

Memory Usage
============

An application linked against libtqt, libtdecore and libtdeui started
in the conventional way requires about 498Kb memory. 
(average of 10 instances) If the same application is started via
tdeinit it requires about 142Kb. A difference of 356Kb (application 
without TDEApplication constructor) 

If we take the TDEApplication constructor into account, an application
started in the conventional way takes about 679Kb memory while the same
application started via tdeinit requires about 380Kb. Here the difference
is somewhat less, 299Kb. This seems to be caused by the fact that the
dynamic linker does "lazy linking". We can force the linker to link
everything at startup by specifying "LD_BIND_NOW=true". When tdeinit is
started with this option on, tdeinit is back to its full efficiency, an
application with a TDEApplication constructor now uses 338Kb of memory.
A difference of 341Kb with the normal case.

Adapting programs to use tdeinit.
===============================

The sourcecode of a program does not require any change to take advantage
of tdeinit. Only the makefile requires an adaption, if the Makefile.am of 
a normal program looks like this:

bin_PROGRAMS = kicker   
kicker_LDADD = $(top_builddir)/libkonq/libkonq.la
kicker_LDFLAGS = $(all_libraries) $(KDE_RPATH)

The following lines need to be added to make a library version useable 
by tdeinit:

lib_LTLIBRARIES = kicker.la
libkicker_la_LIBADD = $(top_builddir)/libkonq/libkonq.la
libkicker_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) -module                    

Disadvantages
=============

The process name of applications started via tdeinit is "tdeinit". This problem
can be corrected to a degree by changing the application name as shown
by 'ps'. However, applications like "killall" will only see "tdeinit" as 
process name. To workaround this, use "tdekillall", from tdesdk/scripts,
for applications started via tdeinit.