******************************************************************************** Run performance tests with java -cp lucene-core-3.1-dev.jar org.apache.lucene.util.packed.PackedIntsPerformance ******************************************************************************** ******************************************************************************** testSpeed result by Toke Eskildsen (te@statsbiblioteket.dk) 2010-02-26 Java 1.6.0_15-b03 64bit Server, default settings, Linux Dell Precision M6500: Intel i7 Q 820 @ 1.73GHz, 8 MB cache, dual-channel PC 1333 RAM ******************************************************************************** bitsPerValue valueCount getCount Direct8 Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 1 1000 10000000 129 131 230 223 154 245 225 154 1 1000000 10000000 215 218 246 221 229 242 219 326 1 10000000 10000000 344 459 264 263 500 265 260 536 3 1000 10000000 161 157 251 228 154 247 225 156 3 1000000 10000000 210 217 257 244 225 255 239 321 3 10000000 10000000 353 457 274 283 747 277 275 531 4 1000 10000000 160 157 252 227 154 248 225 156 4 1000000 10000000 211 216 263 258 225 260 246 293 4 10000000 10000000 351 460 283 290 495 283 283 533 7 1000 10000000 161 157 254 228 154 250 225 157 7 1000000 10000000 212 216 265 262 224 267 257 292 7 10000000 10000000 352 459 359 403 496 360 371 534 8 1000 10000000 160 157 252 227 154 248 225 155 8 1000000 10000000 210 215 266 261 243 265 259 288 8 10000000 10000000 351 456 390 400 596 389 394 532 Mean: 238 275 273 267 316 273 261 330 bitsPerValue valueCount getCount Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 9 1000 10000000 157 252 228 154 251 224 155 9 1000000 10000000 216 266 264 224 268 259 295 9 10000000 10000000 459 413 454 495 413 423 535 15 1000 10000000 157 251 228 154 250 224 155 15 1000000 10000000 215 266 266 225 269 263 304 15 10000000 10000000 457 484 499 495 488 499 533 16 1000 10000000 158 252 227 155 249 295 157 16 1000000 10000000 217 268 269 221 268 263 294 16 10000000 10000000 456 490 499 494 686 497 533 Mean: 276 326 326 290 349 327 329 bitsPerValue valueCount getCount Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 17 1000 10000000 255 227 154 247 225 155 17 1000000 10000000 267 275 228 267 267 294 17 10000000 10000000 500 550 500 504 526 533 28 1000 10000000 253 227 154 250 226 155 28 1000000 10000000 273 279 224 272 280 292 28 10000000 10000000 536 552 501 541 550 535 31 1000 10000000 255 230 154 250 226 162 31 1000000 10000000 283 277 228 273 279 309 31 10000000 10000000 544 549 498 544 550 534 Mean: 351 351 293 349 347 329 bitsPerValue valueCount getCount Direct32 Packed64 Aligned64 Direct64 32 1000 10000000 155 249 226 156 32 1000000 10000000 226 278 277 292 32 10000000 10000000 499 548 553 533 Mean: 293 358 352 327 bitsPerValue valueCount getCount Packed64 Aligned64 Direct64 33 1000 10000000 250 226 156 33 1000000 10000000 273 340 286 33 10000000 10000000 551 584 533 47 1000 10000000 250 226 157 47 1000000 10000000 294 340 286 47 10000000 10000000 564 582 535 49 1000 10000000 250 228 156 49 1000000 10000000 292 349 292 49 10000000 10000000 568 585 533 63 1000 10000000 249 227 156 63 1000000 10000000 331 355 319 63 10000000 10000000 581 584 535 Mean: 371 385 328 Total execution time: 271 seconds ******************************************************************************** testSpeed result by Toke Eskildsen (te@statsbiblioteket.dk) 2010-02-26 Java 1.6.0_15-b03 64bit Server, default settings, Linux Server ps3: Intel Xeon L5420 @ 2.50GHz, 6 MB cache ******************************************************************************** bitsPerValue valueCount getCount Direct8 Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 1 1000 10000000 288 309 398 425 365 421 421 392 1 1000000 10000000 364 371 419 440 389 417 440 636 1 10000000 10000000 749 1097 386 382 1259 385 378 1351 3 1000 10000000 305 300 357 340 298 369 338 298 3 1000000 10000000 308 325 376 372 331 375 367 578 3 10000000 10000000 757 1097 399 405 1261 396 398 1354 4 1000 10000000 305 300 357 340 298 369 338 298 4 1000000 10000000 309 325 376 373 329 385 367 579 4 10000000 10000000 758 1097 424 418 1259 413 422 1351 7 1000 10000000 305 300 370 340 298 369 337 298 7 1000000 10000000 309 325 379 376 329 379 371 583 7 10000000 10000000 758 1098 731 828 1259 747 738 1351 8 1000 10000000 305 300 357 340 298 369 337 298 8 1000000 10000000 308 325 378 376 326 384 373 579 8 10000000 10000000 758 1098 830 829 1260 847 828 1352 Mean: 459 577 435 438 637 441 430 753 bitsPerValue valueCount getCount Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 9 1000 10000000 300 357 340 298 368 337 298 9 1000000 10000000 325 381 383 329 379 375 581 9 10000000 10000000 1097 907 1001 1262 925 913 1354 15 1000 10000000 301 364 340 298 369 337 298 15 1000000 10000000 325 387 390 327 386 386 581 15 10000000 10000000 1097 1149 1174 1262 1172 1173 1354 16 1000 10000000 300 357 340 298 369 356 298 16 1000000 10000000 325 387 390 328 387 386 583 16 10000000 10000000 1096 1172 1173 1261 1193 1172 1354 Mean: 574 606 614 629 616 603 744 bitsPerValue valueCount getCount Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 17 1000 10000000 357 349 298 368 337 298 17 1000000 10000000 388 392 329 388 391 581 17 10000000 10000000 1192 1323 1261 1214 1261 1356 28 1000 10000000 364 349 298 379 337 298 28 1000000 10000000 395 377 328 395 398 578 28 10000000 10000000 1320 1323 1262 1344 1349 1354 31 1000 10000000 364 349 298 369 337 298 31 1000000 10000000 396 379 436 396 398 577 31 10000000 10000000 1339 1322 1262 1362 1348 1355 Mean: 679 684 641 690 684 743 bitsPerValue valueCount getCount Direct32 Packed64 Aligned64 Direct64 32 1000 10000000 298 369 337 298 32 1000000 10000000 327 401 401 579 32 10000000 10000000 1262 1367 1348 1354 Mean: 629 712 695 743 bitsPerValue valueCount getCount Packed64 Aligned64 Direct64 33 1000 10000000 369 342 298 33 1000000 10000000 403 637 579 33 10000000 10000000 1373 1416 1354 47 1000 10000000 369 342 298 47 1000000 10000000 472 636 576 47 10000000 10000000 1421 1415 1351 49 1000 10000000 369 342 298 49 1000000 10000000 490 635 578 49 10000000 10000000 1426 1414 1352 63 1000 10000000 369 342 298 63 1000000 10000000 662 642 580 63 10000000 10000000 1454 1415 1354 Mean: 764 798 743 Total execution time: 530 seconds ******************************************************************************** testSpeed result by Toke Eskildsen (te@statsbiblioteket.dk) 2010-02-26 Java 1.6.0_15-b03 64bit Server, default settings, Linux Workstation pc286: Intel Core 2 E6550 @ 2.33GHz, 4 MB cache ******************************************************************************** bitsPerValue valueCount getCount Direct8 Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 1 1000 10000000 361 374 483 529 437 490 521 436 1 1000000 10000000 411 420 473 549 519 471 545 924 1 10000000 10000000 934 1136 403 453 1245 405 447 1337 3 1000 10000000 333 328 396 394 336 395 391 336 3 1000000 10000000 333 354 395 441 446 396 432 848 3 10000000 10000000 949 1156 487 570 1267 514 560 1336 4 1000 10000000 333 328 394 392 334 396 389 334 4 1000000 10000000 335 354 399 442 452 400 433 847 4 10000000 10000000 950 1156 664 704 1267 654 700 1334 7 1000 10000000 333 328 405 392 334 401 389 334 7 1000000 10000000 335 355 404 444 453 397 435 846 7 10000000 10000000 947 1156 963 1088 1268 976 1031 1335 8 1000 10000000 334 330 394 392 334 390 389 334 8 1000000 10000000 335 355 400 444 445 490 434 848 8 10000000 10000000 948 1155 1022 1089 1267 1035 1082 1335 Mean: 544 619 512 554 693 520 545 850 bitsPerValue valueCount getCount Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 9 1000 10000000 330 394 392 334 391 389 334 9 1000000 10000000 354 419 451 451 400 438 844 9 10000000 10000000 1155 1064 1192 1267 1079 1136 1335 15 1000 10000000 328 394 392 334 390 389 334 15 1000000 10000000 355 416 459 448 411 454 847 15 10000000 10000000 1156 1209 1299 1267 1221 1295 1335 16 1000 10000000 330 394 392 334 391 389 334 16 1000000 10000000 368 411 459 449 413 454 846 16 10000000 10000000 1156 1222 1356 1383 1235 1297 1336 Mean: 614 658 710 696 659 693 838 bitsPerValue valueCount getCount Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 17 1000 10000000 394 392 334 391 389 334 17 1000000 10000000 411 570 450 413 477 846 17 10000000 10000000 1233 1401 1267 1246 1351 1334 28 1000 10000000 394 392 334 390 389 334 28 1000000 10000000 477 587 448 468 563 847 28 10000000 10000000 1308 1400 1267 1319 1408 1335 31 1000 10000000 394 392 334 397 389 334 31 1000000 10000000 501 576 456 514 564 848 31 10000000 10000000 1320 1401 1268 1331 1407 1335 Mean: 714 790 684 718 770 838 bitsPerValue valueCount getCount Direct32 Packed64 Aligned64 Direct64 32 1000 10000000 334 391 389 334 32 1000000 10000000 456 572 565 849 32 10000000 10000000 1267 1334 1407 1335 Mean: 685 765 787 839 bitsPerValue valueCount getCount Packed64 Aligned64 Direct64 33 1000 10000000 391 389 334 33 1000000 10000000 533 976 845 33 10000000 10000000 1336 1467 1335 47 1000 10000000 391 389 334 47 1000000 10000000 759 975 846 47 10000000 10000000 1368 1473 1338 49 1000 10000000 390 389 334 49 1000000 10000000 781 974 848 49 10000000 10000000 1372 1475 1335 63 1000 10000000 391 389 334 63 1000000 10000000 925 975 846 63 10000000 10000000 1392 1475 1334 Mean: 835 945 838 Total execution time: 598 seconds ******************************************************************************** testSpeed result by Toke Eskildsen (te@statsbiblioteket.dk) 2010-02-26 Java 1.6.0_03-b05 64bit Server, default settings, Linux Server metis: Intel Xeon 5148 @ 2.33GHz, 4 MB cache ******************************************************************************** bitsPerValue valueCount getCount Direct8 Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 1 1000 10000000 404 410 527 574 480 539 573 480 1 1000000 10000000 451 468 520 596 563 520 592 989 1 10000000 10000000 1073 1326 530 610 1435 528 611 1523 3 1000 10000000 474 474 541 576 473 540 570 469 3 1000000 10000000 445 460 519 598 584 520 600 984 3 10000000 10000000 1098 1323 602 721 1439 626 697 1518 4 1000 10000000 473 473 540 575 474 541 571 470 4 1000000 10000000 445 461 518 600 554 522 601 985 4 10000000 10000000 1100 1327 785 839 1443 765 853 1525 7 1000 10000000 474 474 542 577 475 543 572 471 7 1000000 10000000 446 463 519 602 556 522 601 985 7 10000000 10000000 1104 1329 1123 1261 1442 1144 1206 1523 8 1000 10000000 474 474 541 575 473 540 570 469 8 1000000 10000000 444 460 522 603 546 522 603 981 8 10000000 10000000 1099 1326 1184 1260 1436 1203 1258 1517 Mean: 666 749 634 704 824 638 698 992 bitsPerValue valueCount getCount Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 9 1000 10000000 474 540 575 473 540 566 470 9 1000000 10000000 461 522 610 562 524 603 980 9 10000000 10000000 1323 1234 1374 1438 1249 1312 1523 15 1000 10000000 474 541 576 474 542 567 476 15 1000000 10000000 460 540 619 584 532 621 984 15 10000000 10000000 1330 1396 1494 1441 1411 1490 1525 16 1000 10000000 475 541 576 474 541 566 470 16 1000000 10000000 467 545 619 541 536 615 982 16 10000000 10000000 1324 1405 1490 1438 1420 1483 1519 Mean: 754 807 881 825 810 869 992 bitsPerValue valueCount getCount Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 17 1000 10000000 541 576 474 542 565 469 17 1000000 10000000 542 710 592 537 623 984 17 10000000 10000000 1423 1612 1444 1440 1546 1524 28 1000 10000000 542 577 475 542 567 470 28 1000000 10000000 581 715 573 588 739 985 28 10000000 10000000 1507 1607 1440 1520 1607 1518 31 1000 10000000 541 576 474 543 566 471 31 1000000 10000000 608 708 585 624 722 983 31 10000000 10000000 1516 1610 1443 1532 1603 1525 Mean: 866 965 833 874 948 992 bitsPerValue valueCount getCount Direct32 Packed64 Aligned64 Direct64 32 1000 10000000 475 542 568 471 32 1000000 10000000 540 640 740 982 32 10000000 10000000 1443 1538 1604 1522 Mean: 819 906 970 991 bitsPerValue valueCount getCount Packed64 Aligned64 Direct64 33 1000 10000000 541 566 471 33 1000000 10000000 635 1145 980 33 10000000 10000000 1536 1670 1516 47 1000 10000000 540 565 471 47 1000000 10000000 883 1142 987 47 10000000 10000000 1566 1664 1522 49 1000 10000000 541 567 470 49 1000000 10000000 915 1140 1067 49 10000000 10000000 1571 1666 1520 63 1000 10000000 542 568 471 63 1000000 10000000 1084 1143 983 63 10000000 10000000 1597 1671 1525 Mean: 995 1125 998 Total execution time: 726 seconds ******************************************************************************** testSpeed result by Toke Eskildsen (te@statsbiblioteket.dk) 2010-02-26 Java 1.6.0_07-b06 64bit Server, default settings, Linux Server debit: Intel Xeon MP CPU @ 3.16GHz, 1 MB cache ******************************************************************************** bitsPerValue valueCount getCount Direct8 Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 1 1000 10000000 428 426 496 752 475 546 748 475 1 1000000 10000000 932 1609 557 752 2090 579 747 2346 1 10000000 10000000 2384 2526 1205 1375 2545 1189 1286 2726 3 1000 10000000 469 469 529 736 480 535 726 486 3 1000000 10000000 842 1589 599 785 2017 624 774 2294 3 10000000 10000000 2417 2512 2222 2324 2548 2348 2307 2719 4 1000 10000000 469 469 528 734 484 534 725 487 4 1000000 10000000 853 1590 640 808 2022 647 795 2300 4 10000000 10000000 2410 2517 2365 2429 2551 2509 2441 2720 7 1000 10000000 469 469 528 734 483 534 724 488 7 1000000 10000000 865 1594 850 1171 2017 1024 1082 2294 7 10000000 10000000 2419 2513 2558 2666 2554 2723 2641 2713 8 1000 10000000 469 470 529 735 484 535 726 496 8 1000000 10000000 842 1572 1017 1095 2034 1032 1134 2302 8 10000000 10000000 2440 2512 2619 2661 2555 2755 2663 2734 Mean: 1247 1522 1149 1317 1689 1207 1301 1838 bitsPerValue valueCount getCount Direct16 Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 9 1000 10000000 470 528 735 485 537 727 491 9 1000000 10000000 1567 1052 1380 2024 1066 1204 2277 9 10000000 10000000 2509 2635 2715 2551 2798 2685 2734 15 1000 10000000 470 530 735 494 536 726 492 15 1000000 10000000 1570 1658 1840 2037 1745 1859 2290 15 10000000 10000000 2523 2715 2770 2545 2864 2769 2721 16 1000 10000000 470 529 735 483 534 726 495 16 1000000 10000000 1581 1730 1852 2044 1813 1857 2288 16 10000000 10000000 2515 2724 2771 2547 2886 2775 2723 Mean: 1519 1566 1725 1690 1642 1703 1834 bitsPerValue valueCount getCount Packed32 Aligned32 Direct32 Packed64 Aligned64 Direct64 17 1000 10000000 528 736 485 537 728 495 17 1000000 10000000 1770 2339 2017 1886 2107 2300 17 10000000 10000000 2731 2888 2549 2900 2799 2693 28 1000 10000000 528 734 481 535 726 487 28 1000000 10000000 2190 2353 2037 2310 2354 2297 28 10000000 10000000 2783 2848 2534 2956 2863 2723 31 1000 10000000 527 734 492 535 725 488 31 1000000 10000000 2230 2347 2020 2361 2340 2276 31 10000000 10000000 2813 2865 2547 2957 2858 2720 Mean: 1788 1982 1684 1886 1944 1831 bitsPerValue valueCount getCount Direct32 Packed64 Aligned64 Direct64 32 1000 10000000 482 536 727 487 32 1000000 10000000 2040 2406 2353 2297 32 10000000 10000000 2565 2972 2882 2722 Mean: 1695 1971 1987 1835 bitsPerValue valueCount getCount Packed64 Aligned64 Direct64 33 1000 10000000 535 726 494 33 1000000 10000000 2430 2608 2297 33 10000000 10000000 2990 3042 2714 47 1000 10000000 535 725 494 47 1000000 10000000 2573 2601 2284 47 10000000 10000000 3080 3032 2730 49 1000 10000000 536 726 493 49 1000000 10000000 2609 2620 2303 49 10000000 10000000 3067 3029 2706 63 1000 10000000 535 724 488 63 1000000 10000000 2687 2598 2294 63 10000000 10000000 3153 3048 2726 Mean: 2060 2123 1835 Total execution time: 1418 seconds