Автор Тема: Javaplugin под ubuntu 64 bit  (Прочетена 6507 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #15 -: Sep 11, 2008, 12:31 »
Като му оправят софтуера, мене ми писна да ми крашват някакви неща и със зор да си подкарвам флаш плъгини и т.н. Освен това рам-та ми е по-важна отколкото някаква си там имагинерна подобрена производителност, която субективно така и не мога да оценя за момента '<img'>
Активен

"Knowledge is power" - France is Bacon

trip

  • Напреднали
  • *****
  • Публикации: 70
  • Distribution: FreeBSD
  • Window Manager: GNOME
    • Профил
Javaplugin под ubuntu 64 bit
« Отговор #16 -: Sep 11, 2008, 13:32 »
Да ама ако няма потребление няма и производство '<img'>
Активен

Lenovo ThinkPad R61i : Fedora 12 GNOME

triplek

  • Напреднали
  • *****
  • Публикации: 564
    • Профил
Javaplugin под ubuntu 64 bit
« Отговор #17 -: Sep 11, 2008, 19:38 »
Плугина работи чудесно. '<img'> 10х to trip.

/офф
Недейте да се карате. Разлика има голяма между 64 и 32 вата. Софта си работи перфектно, като изключим тоя плугин. Ако някой някъде има проблем с някой сорс да си провери/смени компилатора. Гейтуей като го кефи да си ползва ако иска и 8 битова ОС. ':p'
Активен

Debian Lenny/sid

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #18 -: Sep 11, 2008, 20:22 »
Мммм между 8 битовите архитектури и 16-битовите има фундаментални разлики - като изключим 64-те килобайта адресно пространство, което още тогава е било недостатъчно (BTW досовските .COM файлове са реликва от това време, те имат същия 64 килобайтов лимит '<img'> ). 8-битовите I/O операции водят до много огромни ограничения и всякаквото съществуване на примитивна мултимедия и мрежови насочености е живо чудо и благодарение на големи фокуси.

Разликата между 16-битовите и 32-битовите архитектури също е огромна - тогава се въвежда понятието "защитен режим" и дефакто истинска многозадачност с отделни виртуални адресни пространства за всеки процес, така че един процес по грешка да не може да съсипе цялата операционна система. 4-те гигабайта витуална памет, която може да се адресира е прекалено много, дори в днешно време. Главно защото вече имаш многозадачност, могат да се форк-ват други процеси и си има механизми за IPC. Дори сега обаче малко са приложенията, където един процес да ИМА нужда от повече от 4 гб памет. Това което аз се сещам са java приложения, например някакъв application server, където ти трябва повече heap memory и в рамките на java процеса си имаш собствен трединг и собствен мениджър на паметта, garbage collection механизми и т.н.

Обаче разликата между 32-битови и 64-битови архитектури в днешно време където средната десктоп система има не повече от 2-4 гигабайта рам просто е нищо на фона на това което е било допреди.

Когато приложенията почнат лакомо да тъпчат по няколкостотин гигабайта памет ще се замисля.

Но иначе най-доброто преимущество на 64-битовите архитектури е голямото адресно пространство (при съществуването на ALSR) и хардуерния NX бит, което прави старите buffer overflows ужасно сложни за експлойтване и ерго приложенията са по-сигурни от гледна точка на програмистки грешки.

Но аз примерно имам 2 гигабайта РАМ тук вкъщи. Айде сега си направете една елементарна сметка - една програма резервира памет за масив от pointer-и от 100.000 елемента. На 32-битова ОС това ще заеме 400 килобайта, на 64-битова - 800 килобайта. Това е прост пример. При всички положения, 64-битовата ОС ти използва повече памет, отколкото 32-битовата. Еее, аз някак си ще пожертвам сигурността за сметка на това, имам само 2 гигабайта памет, както казах '<img'>
Активен

"Knowledge is power" - France is Bacon

triplek

  • Напреднали
  • *****
  • Публикации: 564
    • Профил
Javaplugin под ubuntu 64 bit
« Отговор #19 -: Sep 12, 2008, 14:12 »
Доколкото знам проблема с паметта е само при пойнтърите. Aко масива е динамичен едва ли ще има особена разлика в ползваната памет. ':p'



Активен

Debian Lenny/sid

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #20 -: Sep 12, 2008, 14:44 »
Става примерно и с long типовете. Като оставим това, .text секцията винаги е по-голяма, нали искате кодът да ви е оптимизиран да ползва 64-битовия instruction set '<img'>

А това дали е динамично-заделен (демек е в heap-а) или не, няма никакво значение, пак си взема еднакво много памет.

И отделно имаш стек, в който се държат адресите на които програмата продължава след RET инструкция, той също ще е до 2 пъти по-голям.

*кхъм* хубавата страна е че математически погледнато няма как същите неща да отнемат повече от 2 пъти повече памет '<img'>



Активен

"Knowledge is power" - France is Bacon

Nikolavp

  • Напреднали
  • *****
  • Публикации: 408
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #21 -: Sep 12, 2008, 15:40 »
Цитат (triplek @ Сеп. 12 2008,15:12)
Доколкото знам проблема с паметта е само при пойнтърите. Aко масива е динамичен едва ли ще има особена разлика в ползваната памет. ':p'

Добави към pointer-ите long, int, char и сега се замисли колко код ползва тези типове(всички?). Това е при положение, че не ползват там stdint(C++ не гарантира, че този header ще го има - само C99) глупостите и прочие '<img'> и не в момента почти не се ползат  '<img'>



Активен

http://blog-nikolavp.rhcloud.com - простотиите, с които се занимавам в свободното време

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #22 -: Sep 12, 2008, 18:54 »
char принципно не е ли 8 битова стойност?

Нямам идея в c++ как стоят нещата де, много съм скаран с ООП езиците '<img'>  В C принципно sizeof(char) е 1, бях много учуден когато sizeof(int) ми излезе 4 на 64-битова платформа, нещо което не мога да си обясня много добре, има очевидно някаква конвенция по въпроса, но тъй като не съм програмист не задълбавам особено в тия неща. Но за long типа и за указателите със сигурност има разлика.

За C++ пак казвам, не знам. Ако е така както казваш, още по-зле за 64-битовите qt приложения например '<img'>


Неее, докато не измислят нещо революционно, което да осмисля 64-битовата архитектура и докато паметта не поевтинее доволно много, никаква x86_64 дистрибуция за десктопа, прогресът да си гледа работата '<img'>
Активен

"Knowledge is power" - France is Bacon

Nikolavp

  • Напреднали
  • *****
  • Публикации: 408
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #23 -: Sep 12, 2008, 22:49 »
Гарантира се от двата стандарта ако не се лъжа, че char е поне 8 бита, но това не значи, че не може да е по - голям на някои платформи(не на всички платформи един байт е 8бита). За int-a знам, че го има проблема даже четох тази статия по въпроса. Затова и sizeof(char) == 1, но ми е странно колко ти показва CHAR_BIT от <limit.h> - header-a май е от C99

Примерен код

#include <limits.h>
#include <stdio.h>
int main (int argc, char const* argv[])
{
    printf("%d", CHAR_BIT);
    return 0;
}


P.S. Честит ден на програмиста на всички. Аз не се приемам много, но все пак бира да се лее  '<img'>  '<img'>
Активен

http://blog-nikolavp.rhcloud.com - простотиите, с които се занимавам в свободното време

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #24 -: Sep 12, 2008, 23:08 »
Аз реших че в C++ са решили да правят char по някакъв начин обвързан с unicode и таман щях да излея малко помия по тоя въпрос '<img'> Може да звучи идиотски, но тъй като не му разбирам и наистина не бих се учудил,  не че не звучи глупаво де '<img'>

Иначе вади 8, както се очакваше '<img'>
Активен

"Knowledge is power" - France is Bacon

Nikolavp

  • Напреднали
  • *****
  • Публикации: 408
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #25 -: Sep 12, 2008, 23:42 »
Цитат (gat3way @ Сеп. 13 2008,00:08)
Аз реших че в C++ са решили да правят char по някакъв начин обвързан с unicode и таман щях да излея малко помия по тоя въпрос '<img'> Може да звучи идиотски, но тъй като не му разбирам и наистина не бих се учудил,  не че не звучи глупаво де '<img'>

Иначе вади 8, както се очакваше '<img'>

Ми то комитета не се слави с добрите си решения, но все пак няма как да променим историята и ще трябва да живеем с огромния код написан на езика '<img'>. Аз леко се обърках, понеже съм виждал char32_t и char64_t по код насам натам, а то това са били typedef-и на unsigned и signed char ':crazy:'
Активен

http://blog-nikolavp.rhcloud.com - простотиите, с които се занимавам в свободното време

triplek

  • Напреднали
  • *****
  • Публикации: 564
    • Профил
Javaplugin под ubuntu 64 bit
« Отговор #26 -: Sep 13, 2008, 00:17 »
Примерен код
#include <iostream>
using namespace std;

int main()
{
    int i;
    long long j;
    long long x [100000];
    cout << sizeof(i) << ' ' << sizeof(j) << ' ' << sizeof(x) << endl;

    return 0;
}


При "нормалния" масив грижи няма. Ето при мен изхода под 64 бита убунту:

4 8 800000

/Edit
Примерен код
#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    long long i;
    long long* j = &i;
    printf("%d",sizeof(j));

    return 0;
}


Аз не виждам проблем.  '<img'>



Активен

Debian Lenny/sid

Nikolavp

  • Напреднали
  • *****
  • Публикации: 408
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #27 -: Sep 13, 2008, 12:13 »
Просто си попаднал на такава архитектура и много зависи от компилатора'<img'>  '<img'> До колкото знам gcc ползва LP64 модела

http://en.wikipedia.org/wiki/64-bit#32_vs_64_bit
Цитат
However, in many programming environments on 64-bit machines, "int" variables are still 32 bits wide, but "long"s and pointers are 64 bits wide. These are described as having an LP64 data model. Another alternative is the ILP64 data model in which all three data types are 64 bits wide, and even SILP64 where "short" variables are also 64 bits wide[citation needed]. However, in most cases the modifications required are relatively minor and straightforward, and many well-written programs can simply be recompiled for the new environment without changes. Another alternative is the LLP64 model, which maintains compatibility with 32-bit code by leaving both int and long as 32-bit. "LL" refers to the "long long" type, which is at least 64 bits on all platforms, including 32-bit environments.


Цитат
Many 64-bit compilers today use the LP64 model (including Solaris, AIX, HP, Linux, Mac OS X, FreeBSD, and IBM z/OS native compilers). Microsoft's VC++ compiler uses the LLP64 model. The disadvantage of the LP64 model is that storing a long into an int may overflow. On the other hand, casting a pointer to a long will work. In the LLP model, the reverse is true. These are not problems which affect fully standard-compliant code but code is often written with implicit assumptions about the widths of integer types.

Note that a programming model is a choice made on a per-compiler basis, and several can coexist on the same OS. However typically the programming model chosen by the OS API as primary model dominates.




Активен

http://blog-nikolavp.rhcloud.com - простотиите, с които се занимавам в свободното време

Gaara

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian
  • Window Manager: E17
    • Профил
Javaplugin под ubuntu 64 bit
« Отговор #28 -: Sep 13, 2008, 13:50 »
Много повърхностни сравнения с тези c++ bulshits. Изкривяването на темата с тези LLP64, LP64 и всякакви други гадости е безсмилсено. Факт е, че:
- 64 битова архитектура е препоръчително да ползваш, ако имаш над 4Г рам и искаш наистина да я имаш. В Windows на 32 битова архитектура, ако не се лъжа се засичаше около 3.2Г от 4г.
- 64 архитектура има два пъти повече CPU регистри => два пъти повече информация се обработва, преди да достигне кеша на рамта
- в 64 б.а. SSE и SSE2 са включение в core instruction сета
- затворени приложения е трудно да подкараш на 64 битова машина, но не е невъзможно... все още няма 64 битова версия на така респектиращият Flash плъгин... говори се, че 10-та щяла вече да поддържа 64, но знае ли човек'<img'>... дугият основен проблем е джавата, която има версия за Windows и Соларис, но няма за Linux '<img'>

В общи линии е това... човек трябва сам да избира '<img'>
Активен

Last night, Darth Vader came down from planet Vulcan and told me that if you don't install Debian, he'd melt your brain.

Nikolavp

  • Напреднали
  • *****
  • Публикации: 408
    • Профил
    • WWW
Javaplugin под ubuntu 64 bit
« Отговор #29 -: Sep 13, 2008, 14:23 »
java-та си работи. Просто аплетите не работят '<img'>. Има разлика между двете, иначе за другото си прав, но тия точки поне на мен не ми докараха особена производителност, а проблемите са на лице.
Активен

http://blog-nikolavp.rhcloud.com - простотиите, с които се занимавам в свободното време

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
apt-get на Ubuntu?
Настройка на програми
Lamer 8 13162 Последна публикация May 29, 2009, 22:35
от go_fire
Раздавам Дискове на UBUNTU
Живота, вселената и някакви други глупости
IvanST 31 20559 Последна публикация Jan 25, 2005, 16:16
от Joro
apt-get на UBUNTU
Настройка на програми
Lamer 1 6929 Последна публикация Dec 02, 2004, 10:25
от IvanST
Ubuntu
Настройка на програми
Decoy 5 7948 Последна публикация May 02, 2009, 22:11
от Koki_ml
Ubuntu live to ubuntu alternate?
Настройка на програми
Whisper 3 14097 Последна публикация Aug 30, 2007, 12:56
от bnight