В соседнем треде один товарищ высказал следующую мысль:
Линукс здесь при том, что если компы подорожают (ещё раза в три-четыре), то линукс отыграет ещё пару процентов пользователей на десктопе. Ибо, в отличие от винды, его можно на всяких Raspberry Pi запускать, а они дёшевы.
И вот я что хочу по этому поводу сказать. Я скопировал из официального туториала GTK hello world с пустым окном:
$ cat example-1.c
#include <gtk/gtk.h>
static void
activate (GtkApplication *app, gpointer user_data)
{
GtkWidget *window;
window = gtk_application_window_new (app);
gtk_window_set_title (GTK_WINDOW (window), "My Window");
gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
gtk_widget_show (window);
}
int
main (int argc, char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
status = g_application_run (G_APPLICATION (app), argc, argv);
g_object_unref (app);
return status;
}
Поскольку код одинаковый для GTK 3 и 4, я скомпилировал его для обоих библиотек:
$ gcc $( pkg-config --cflags gtk4 ) -o example-1_gtk4 example-1.c $( pkg-config --libs gtk4 )
$ gcc $( pkg-config --cflags gtk+-3.0 ) -o example-1_gtk3 example-1.c $( pkg-config --libs gtk+-3.0 )
И запустил оба файла:
GTK3: запускается почти мгновенно, RAM – 36Mb (что тоже не мало).
GTK4: запускается у меня около 1.5 секунды, RAM – 147Mb.
Нет, это не ошибка, не 47, а именно 147Mb. Пустое окно. Вы можете проверить это сами. Я бы даже смирился с таким потреблением памяти, если бы оно запускалось мгновенно. Это не говоря уже о том, что GTK3 считается тормозным раможором по сравнению с GTK2.
Где там, говорите, вам Линукс запускается? На каком-каком железе?
UPD: Для GTK2
$ cat simple.c
#include <gtk/gtk.h>
int
main (int argc, char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_main ();
return 0;
}
$ gcc -o simple simple.c $(pkg-config --libs --cflags gtk+-2.0)
GTK2: запускается мгновенно, RAM – 14Mb.