Skip to content

Node.JS optimizations#6

Open
tusharmath wants to merge 1 commit intojohnrjenson:masterfrom
tusharmath:master
Open

Node.JS optimizations#6
tusharmath wants to merge 1 commit intojohnrjenson:masterfrom
tusharmath:master

Conversation

@tusharmath
Copy link

@tusharmath tusharmath commented Mar 24, 2020

I was going through your blog here — https://www.tandemseven.com/blog/performance-java-vs-node

I still have some more optimizations, but the simple ones that I have added in this PR will give a more realistic picture of node vs java.

PS: I was able to get around 100% improvement in terms of performance across all benchmarks.

Results

Before 470.5882352941176

node ./RequestLoadSimulator.js
12 CPUs detected. Creating 12 workers
42 requests were created for worker 1
42 requests were created for worker 3
42 requests were created for worker 2
42 requests were created for worker 4
42 requests were created for worker 5
42 requests were created for worker 6
42 requests were created for worker 7
42 requests were created for worker 9
42 requests were created for worker 12
42 requests were created for worker 8
42 requests were created for worker 11
42 requests were created for worker 10
Request 0 took 219 millis to complete
Request 3 took 231 millis to complete
Request 1 took 242 millis to complete
Request 2 took 243 millis to complete
Request 4 took 249 millis to complete
Request 5 took 250 millis to complete
Request 6 took 251 millis to complete
Request 7 took 252 millis to complete
Request 8 took 254 millis to complete
Request 9 took 255 millis to complete
Request 10 took 256 millis to complete
Request 12 took 257 millis to complete
Request 13 took 260 millis to complete
Request 14 took 261 millis to complete
Request 15 took 262 millis to complete
Request 16 took 263 millis to complete
Request 11 took 263 millis to complete
Request 18 took 264 millis to complete
Request 17 took 266 millis to complete
Request 19 took 267 millis to complete
Request 20 took 269 millis to complete
Request 21 took 271 millis to complete
Request 22 took 272 millis to complete
Request 42 took 267 millis to complete
Request 23 took 273 millis to complete
Request 25 took 274 millis to complete
Request 43 took 267 millis to complete
Request 26 took 275 millis to complete
Request 24 took 275 millis to complete
Request 27 took 276 millis to complete
Request 29 took 277 millis to complete
Request 44 took 270 millis to complete
Request 45 took 272 millis to complete
Request 28 took 279 millis to complete
Request 30 took 281 millis to complete
Request 33 took 282 millis to complete
Request 46 took 276 millis to complete
Request 32 took 283 millis to complete
Request 34 took 284 millis to complete
Request 47 took 277 millis to complete
Request 35 took 285 millis to complete
Request 50 took 278 millis to complete
Request 31 took 286 millis to complete
Request 49 took 279 millis to complete
Request 36 took 287 millis to complete
Request 51 took 280 millis to complete
Request 52 took 281 millis to complete
Request 53 took 282 millis to complete
Request 55 took 284 millis to complete
Request 38 took 292 millis to complete
Request 37 took 293 millis to complete
Request 39 took 294 millis to complete
Request 40 took 295 millis to complete
Request 54 took 288 millis to complete
Request 41 took 296 millis to complete
Request 48 took 290 millis to complete
Request 56 took 290 millis to complete
Request 58 took 291 millis to complete
Request 57 took 292 millis to complete
Request 59 took 293 millis to complete
Request 60 took 294 millis to complete
Request 62 took 295 millis to complete
Request 63 took 296 millis to complete
Request 64 took 298 millis to complete
Request 65 took 299 millis to complete
Request 61 took 300 millis to complete
Request 66 took 301 millis to complete
Request 68 took 302 millis to complete
Request 69 took 303 millis to complete
Request 67 took 304 millis to complete
Request 71 took 305 millis to complete
Request 70 took 307 millis to complete
Request 74 took 309 millis to complete
Request 73 took 310 millis to complete
Request 72 took 311 millis to complete
Request 75 took 313 millis to complete
Request 77 took 314 millis to complete
Request 78 took 315 millis to complete
Request 76 took 316 millis to complete
Request 79 took 318 millis to complete
Request 80 took 319 millis to complete
Request 84 took 328 millis to complete
Request 85 took 328 millis to complete
Request 86 took 330 millis to complete
Request 87 took 332 millis to complete
Request 88 took 334 millis to complete
Request 89 took 335 millis to complete
Request 90 took 336 millis to complete
Request 91 took 337 millis to complete
Request 93 took 340 millis to complete
Request 95 took 341 millis to complete
Request 92 took 342 millis to complete
Request 96 took 343 millis to complete
Request 94 took 344 millis to complete
Request 98 took 345 millis to complete
Request 99 took 346 millis to complete
Request 97 took 346 millis to complete
Request 100 took 347 millis to complete
Request 126 took 369 millis to complete
Request 127 took 370 millis to complete
Request 128 took 374 millis to complete
Request 130 took 375 millis to complete
Request 131 took 381 millis to complete
Request 129 took 383 millis to complete
Request 132 took 386 millis to complete
Request 133 took 388 millis to complete
Request 134 took 389 millis to complete
Request 136 took 391 millis to complete
Request 135 took 392 millis to complete
Request 137 took 394 millis to complete
Request 138 took 395 millis to complete
Request 139 took 395 millis to complete
Request 102 took 407 millis to complete
Request 140 took 397 millis to complete
Request 141 took 398 millis to complete
Request 81 took 403 millis to complete
Request 142 took 400 millis to complete
Request 103 took 412 millis to complete
Request 143 took 401 millis to complete
Request 101 took 413 millis to complete
Request 145 took 403 millis to complete
Request 146 took 404 millis to complete
Request 105 took 416 millis to complete
Request 144 took 406 millis to complete
Request 147 took 407 millis to complete
Request 104 took 418 millis to complete
Request 149 took 407 millis to complete
Request 148 took 409 millis to complete
Request 107 took 420 millis to complete
Request 150 took 409 millis to complete
Request 106 took 421 millis to complete
Request 151 took 411 millis to complete
Request 108 took 422 millis to complete
Request 152 took 411 millis to complete
Request 153 took 414 millis to complete
Request 154 took 415 millis to complete
Request 155 took 416 millis to complete
Request 156 took 417 millis to complete
Request 157 took 418 millis to complete
Request 159 took 420 millis to complete
Request 109 took 431 millis to complete
Request 160 took 421 millis to complete
Request 110 took 432 millis to complete
Request 158 took 422 millis to complete
Request 161 took 424 millis to complete
Request 162 took 425 millis to complete
Request 163 took 427 millis to complete
Request 164 took 428 millis to complete
Request 165 took 430 millis to complete
Request 112 took 441 millis to complete
Request 166 took 433 millis to complete
Request 167 took 434 millis to complete
Request 111 took 448 millis to complete
Request 114 took 449 millis to complete
Request 117 took 451 millis to complete
Request 113 took 453 millis to complete
Request 82 took 447 millis to complete
Request 115 took 455 millis to complete
Request 116 took 456 millis to complete
Request 83 took 450 millis to complete
Request 119 took 457 millis to complete
Request 121 took 459 millis to complete
Request 118 took 460 millis to complete
Request 120 took 462 millis to complete
Request 122 took 473 millis to complete
Request 123 took 474 millis to complete
Request 124 took 475 millis to complete
Request 125 took 475 millis to complete
Request 168 took 475 millis to complete
Request 170 took 475 millis to complete
Request 173 took 477 millis to complete
Request 174 took 478 millis to complete
Request 175 took 483 millis to complete
Request 171 took 484 millis to complete
Request 176 took 485 millis to complete
Request 172 took 486 millis to complete
Request 177 took 487 millis to complete
Request 178 took 489 millis to complete
Request 179 took 490 millis to complete
Request 180 took 491 millis to complete
Request 181 took 491 millis to complete
Request 182 took 492 millis to complete
Request 183 took 492 millis to complete
Request 184 took 493 millis to complete
Request 185 took 494 millis to complete
Request 186 took 495 millis to complete
Request 187 took 496 millis to complete
Request 169 took 498 millis to complete
Request 189 took 498 millis to complete
Request 188 took 498 millis to complete
Request 191 took 499 millis to complete
Request 190 took 500 millis to complete
Request 193 took 502 millis to complete
Request 194 took 502 millis to complete
Request 195 took 505 millis to complete
Request 192 took 506 millis to complete
Request 196 took 507 millis to complete
Request 197 took 508 millis to complete
Request 199 took 509 millis to complete
Request 200 took 509 millis to complete
Request 201 took 510 millis to complete
Request 202 took 511 millis to complete
Request 198 took 512 millis to complete
Request 203 took 513 millis to complete
Request 210 took 532 millis to complete
Request 211 took 532 millis to complete
Request 213 took 535 millis to complete
Request 212 took 537 millis to complete
Request 214 took 539 millis to complete
Request 215 took 540 millis to complete
Request 217 took 541 millis to complete
Request 218 took 542 millis to complete
Request 219 took 545 millis to complete
Request 216 took 546 millis to complete
Request 206 took 551 millis to complete
Request 220 took 547 millis to complete
Request 222 took 548 millis to complete
Request 205 took 552 millis to complete
Request 221 took 550 millis to complete
Request 207 took 554 millis to complete
Request 223 took 551 millis to complete
Request 204 took 555 millis to complete
Request 224 took 551 millis to complete
Request 225 took 552 millis to complete
Request 208 took 559 millis to complete
Request 209 took 560 millis to complete
Request 226 took 576 millis to complete
Request 227 took 581 millis to complete
Request 228 took 583 millis to complete
Request 229 took 584 millis to complete
Request 230 took 586 millis to complete
Request 231 took 593 millis to complete
Request 232 took 603 millis to complete
Request 233 took 605 millis to complete
Request 234 took 606 millis to complete
Request 252 took 612 millis to complete
Request 253 took 612 millis to complete
Request 235 took 613 millis to complete
Request 236 took 614 millis to complete
Request 254 took 613 millis to complete
Request 238 took 615 millis to complete
Request 255 took 614 millis to complete
Request 237 took 616 millis to complete
Request 239 took 617 millis to complete
Request 240 took 618 millis to complete
Request 256 took 616 millis to complete
Request 257 took 618 millis to complete
Request 241 took 620 millis to complete
Request 259 took 619 millis to complete
Request 242 took 621 millis to complete
Request 258 took 620 millis to complete
Request 243 took 622 millis to complete
Request 244 took 623 millis to complete
Request 260 took 623 millis to complete
Request 263 took 624 millis to complete
Request 261 took 625 millis to complete
Request 262 took 626 millis to complete
Request 264 took 627 millis to complete
Request 265 took 627 millis to complete
Request 266 took 628 millis to complete
Request 267 took 629 millis to complete
Request 268 took 630 millis to complete
Request 245 took 634 millis to complete
Request 269 took 632 millis to complete
Request 246 took 635 millis to complete
Request 271 took 633 millis to complete
Request 272 took 634 millis to complete
Request 270 took 635 millis to complete
Request 273 took 636 millis to complete
Request 247 took 638 millis to complete
Request 274 took 637 millis to complete
Request 275 took 638 millis to complete
Request 248 took 640 millis to complete
Request 277 took 640 millis to complete
Request 249 took 644 millis to complete
Request 276 took 643 millis to complete
Request 250 took 646 millis to complete
Request 279 took 643 millis to complete
Request 278 took 644 millis to complete
Request 280 took 646 millis to complete
Request 283 took 647 millis to complete
Request 284 took 648 millis to complete
Request 285 took 649 millis to complete
Request 286 took 650 millis to complete
Request 251 took 654 millis to complete
Request 287 took 666 millis to complete
Request 294 took 566 millis to complete
Request 295 took 567 millis to complete
Request 296 took 569 millis to complete
Request 297 took 570 millis to complete
Request 299 took 573 millis to complete
Request 289 took 688 millis to complete
Request 298 took 576 millis to complete
Request 300 took 577 millis to complete
Request 288 took 692 millis to complete
Request 302 took 578 millis to complete
Request 301 took 579 millis to complete
Request 290 took 694 millis to complete
Request 303 took 580 millis to complete
Request 282 took 695 millis to complete
Request 304 took 582 millis to complete
Request 281 took 697 millis to complete
Request 305 took 583 millis to complete
Request 291 took 698 millis to complete
Request 306 took 585 millis to complete
Request 292 took 699 millis to complete
Request 293 took 699 millis to complete
Request 307 took 588 millis to complete
Request 308 took 590 millis to complete
Request 309 took 592 millis to complete
Request 310 took 593 millis to complete
Request 311 took 594 millis to complete
Request 312 took 595 millis to complete
Request 313 took 596 millis to complete
Request 314 took 597 millis to complete
Request 315 took 604 millis to complete
Request 316 took 605 millis to complete
Request 317 took 606 millis to complete
Request 318 took 607 millis to complete
Request 319 took 608 millis to complete
Request 336 took 640 millis to complete
Request 338 took 640 millis to complete
Request 320 took 627 millis to complete
Request 337 took 642 millis to complete
Request 339 took 643 millis to complete
Request 340 took 646 millis to complete
Request 342 took 648 millis to complete
Request 341 took 649 millis to complete
Request 343 took 651 millis to complete
Request 321 took 638 millis to complete
Request 344 took 655 millis to complete
Request 322 took 642 millis to complete
Request 345 took 656 millis to complete
Request 349 took 658 millis to complete
Request 323 took 646 millis to complete
Request 347 took 660 millis to complete
Request 346 took 661 millis to complete
Request 324 took 648 millis to complete
Request 348 took 662 millis to complete
Request 325 took 650 millis to complete
Request 351 took 663 millis to complete
Request 352 took 664 millis to complete
Request 350 took 665 millis to complete
Request 326 took 652 millis to complete
Request 353 took 666 millis to complete
Request 354 took 667 millis to complete
Request 328 took 654 millis to complete
Request 355 took 668 millis to complete
Request 329 took 656 millis to complete
Request 356 took 669 millis to complete
Request 357 took 670 millis to complete
Request 330 took 657 millis to complete
Request 358 took 671 millis to complete
Request 327 took 659 millis to complete
Request 359 took 672 millis to complete
Request 331 took 660 millis to complete
Request 360 took 673 millis to complete
Request 332 took 660 millis to complete
Request 361 took 675 millis to complete
Request 362 took 676 millis to complete
Request 363 took 677 millis to complete
Request 333 took 664 millis to complete
Request 364 took 678 millis to complete
Request 365 took 679 millis to complete
Request 367 took 680 millis to complete
Request 368 took 681 millis to complete
Request 369 took 682 millis to complete
Request 334 took 670 millis to complete
Request 378 took 664 millis to complete
Request 370 took 683 millis to complete
Request 379 took 663 millis to complete
Request 335 took 672 millis to complete
Request 371 took 684 millis to complete
Request 372 took 685 millis to complete
Request 381 took 665 millis to complete
Request 366 took 687 millis to complete
Request 380 took 666 millis to complete
Request 374 took 689 millis to complete
Request 373 took 691 millis to complete
Request 382 took 672 millis to complete
Request 383 took 674 millis to complete
Request 375 took 694 millis to complete
Request 384 took 675 millis to complete
Request 376 took 696 millis to complete
Request 387 took 677 millis to complete
Request 385 took 679 millis to complete
Request 377 took 699 millis to complete
Request 389 took 681 millis to complete
Request 388 took 682 millis to complete
Request 390 took 686 millis to complete
Request 386 took 687 millis to complete
Request 391 took 688 millis to complete
Request 392 took 689 millis to complete
Request 394 took 690 millis to complete
Request 395 took 691 millis to complete
Request 393 took 692 millis to complete
Request 397 took 693 millis to complete
Request 396 took 694 millis to complete
Request 398 took 696 millis to complete
Request 400 took 698 millis to complete
Request 399 took 699 millis to complete
Request 401 took 701 millis to complete
Request 420 took 710 millis to complete
Request 402 took 702 millis to complete
Request 421 took 710 millis to complete
Request 403 took 703 millis to complete
Request 404 took 703 millis to complete
Request 422 took 712 millis to complete
Request 406 took 704 millis to complete
Request 423 took 713 millis to complete
Request 408 took 707 millis to complete
Request 405 took 708 millis to complete
Request 424 took 716 millis to complete
Request 410 took 709 millis to complete
Request 425 took 717 millis to complete
Request 407 took 710 millis to complete
Request 409 took 710 millis to complete
Request 426 took 719 millis to complete
Request 411 took 711 millis to complete
Request 427 took 720 millis to complete
Request 413 took 712 millis to complete
Request 415 took 713 millis to complete
Request 414 took 714 millis to complete
Request 428 took 723 millis to complete
Request 412 took 716 millis to complete
Request 429 took 724 millis to complete
Request 416 took 717 millis to complete
Request 430 took 725 millis to complete
Request 431 took 726 millis to complete
Request 417 took 718 millis to complete
Request 432 took 727 millis to complete
Request 433 took 727 millis to complete
Request 418 took 720 millis to complete
Request 434 took 728 millis to complete
Request 419 took 722 millis to complete
Request 435 took 729 millis to complete
Request 437 took 731 millis to complete
Request 436 took 733 millis to complete
Request 439 took 734 millis to complete
Request 438 took 736 millis to complete
Request 440 took 737 millis to complete
Request 441 took 738 millis to complete
Request 442 took 739 millis to complete
Request 443 took 740 millis to complete
Request 444 took 742 millis to complete
Request 445 took 744 millis to complete
Request 447 took 745 millis to complete
Request 446 took 746 millis to complete
Request 448 took 747 millis to complete
Request 449 took 748 millis to complete
Request 450 took 750 millis to complete
Request 451 took 751 millis to complete
Request 452 took 753 millis to complete
Request 453 took 757 millis to complete
Request 454 took 758 millis to complete
Request 458 took 760 millis to complete
Request 456 took 767 millis to complete
Request 455 took 768 millis to complete
Request 457 took 770 millis to complete
Request 461 took 771 millis to complete
Request 460 took 774 millis to complete
Request 459 took 777 millis to complete
Request 463 took 816 millis to complete
Request 462 took 819 millis to complete
Request 465 took 819 millis to complete
Request 464 took 820 millis to complete
Request 466 took 823 millis to complete
Request 467 took 825 millis to complete
Request 468 took 826 millis to complete
Request 469 took 828 millis to complete
Request 470 took 832 millis to complete
Request 471 took 833 millis to complete
Request 472 took 835 millis to complete
Request 473 took 836 millis to complete
Request 474 took 837 millis to complete
Request 475 took 839 millis to complete
Request 476 took 840 millis to complete
Request 478 took 841 millis to complete
Request 477 took 842 millis to complete
Request 479 took 844 millis to complete
Request 480 took 846 millis to complete
Request 481 took 847 millis to complete
Request 482 took 849 millis to complete
Request 483 took 850 millis to complete
Request 484 took 851 millis to complete
Request 485 took 852 millis to complete
Request 486 took 853 millis to complete
Request 487 took 856 millis to complete
Request 488 took 857 millis to complete
Request 489 took 858 millis to complete
Request 490 took 859 millis to complete
Request 491 took 860 millis to complete
Request 492 took 861 millis to complete
Request 493 took 862 millis to complete
Request 494 took 864 millis to complete
Request 495 took 865 millis to complete
Request 496 took 866 millis to complete
Request 497 took 867 millis to complete
Request 498 took 868 millis to complete
Request 499 took 869 millis to complete
Request 500 took 870 millis to complete
Request 502 took 873 millis to complete
Request 501 took 874 millis to complete
Request 503 took 876 millis to complete

NUMBER_OF_REQUESTS: 512
NUMBER_OF_PROCESSES: 12
AVG_QUERIES_PER_REQUEST: 6
AVG_QUERY_TIME_MILLIS: 60
NTH_PRIME_TO_FIND: 250
PATH_TO_TEST_FILE: 1mb.txt

The program took 1088 millis to process 512 requests which is 470.5882352941176 requests per second

After 766.4670658682635

node ./RequestLoadSimulator.js
12 CPUs detected. Creating 12 workers

NUMBER_OF_REQUESTS: 512
NUMBER_OF_PROCESSES: 12
AVG_QUERIES_PER_REQUEST: 6
AVG_QUERY_TIME_MILLIS: 60
NTH_PRIME_TO_FIND: 250
PATH_TO_TEST_FILE: 1mb.txt

The program took 668 millis to process 512 requests which is 766.4670658682635 requests per second

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant