Bonjour,
Je suis en train d'impl�menter une fonction de hashage sous Java. La particularit� de cette fonction est qu'elle n�cessite l'utilisation d'une tr�s grosse matrice (21760 lignes pour 400 colonnes, les valeurs �tant binaires 0 ou 1, ce qui repr�sente environ 1 Moctet). Pour pouvoir travailler avec cette matrice, je comptais la d�finir dans une classe contenant uniquement un tableau 2D statique avec cette matrice. Le probl�me est que lors de la compilation, j'obtiens l'erreur "code too large". Il semblerait en effet que le fichier java d'environ 3Mo ainsi cr�� d�passe une limitation fix�e � 64 Ko par classe (ou m�thode, ou je ne sais quoi) par java (lorsque je r�duis consid�rablement la taille de la matrice, la compilation est accept�e). Etant donn� que je ne peux pas compiler, l'utilisation d'options comme -Xmx -Xms me semble par ailleurs superflue.
Je voudrais donc savoir si quelqu'un avait une id�e pour travailler avec ce genre de tr�s grands tableaux. Ce dont j'ai besoin au niveau des op�rations, c'est de pouvoir ensuite effectuer des XOR sur plusieurs lignes de fa�on efficace.
Voici une partie de la classe en question pour vous donner une id�e. J'utilise un tableau de int sous forme hexa pour repr�senter des blocs de 32 bits. Seul le nombre de ligne est beaucoup plus important en r�alit�, et conduit � l'erreur:"code too large". (Remarquez que dans le dernier bloc int de chaque ligne 16 bits sont superflus)
J'attends vos id�es
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public class MiniTableau { public static int t[][]= { {0xa4033027,0xec7d8368,0x0b4eb5eb,0xa1409450,0x31a02954,0x9f2ac0d1,0x342509c8 ,0x9668da91,0xf8ffb6ca,0xdfd4c606,0x670f3c83,0x9d66dd13,0xf88b54c6}, ..... ,{0xeecd2c33,0x0e9724a5,0x1473a5bf,0xe644d1de,0x5fdd98dc,0xe12ff0a2,0x5d58d603 ,0x824a517c,0xb1a10148,0x5cf3b072,0x032f32d2,0x6673818a,0x8ba3401c}, {0xc6b7645f,0xdeab6cef,0x0d9ff76a,0x8b31e145,0xa450a520,0x0538a96b,0xca59e829 ,0x6013481b,0xe4053927,0x55148e6c,0x5eefaff3,0xf60793c3,0x99ce2b37}, {0x7998d82f,0xc459dcc8,0xc848e5d4,0x239d3638,0xfb1aba4f,0x406ab06f,0x6776ef3c ,0x696c9a4e,0x85889146,0x421f4dab,0xfab3e764,0xe9ceaf27,0xfc72a834}, {0x13ba04ac,0xc8775192,0x0933c794,0x2ab416df,0x80d072c8,0xecfd348f,0x2e723a5b ,0x1bbcfbfa,0x39ef696a,0x897ea889,0x3385a44a,0x34cf97aa,0x6321d04a}, {0x42cadf3a,0x8337b78f,0x79960a45,0x25c6f6de,0x95a60a48,0x64b62c47,0x918ebb5c ,0xd3f8090f,0xbdc5c3ef,0xca3ea654,0xef29acfb,0xa3839b30,0xef98dddd}, {0xe142a473,0x36513f2f,0xeb81812b,0xdf82ba5c,0x5df2cc8c,0xc2bd27c8,0x40f064fd ,0xd11093b6,0x5b42294c,0x0f16a25f,0x9ff1d063,0x203155d4,0xd0672cf1} }; }
Merci d'avance
Partager