1. function measureArrayPerformance(arraySize) {
  2. // Create arrays of the specified size
  3. const array1 = Array.from({ length: arraySize }, (_, i) => i); // Array of numbers
  4. const array2 = Array.from({ length: arraySize }, (_, i) => "test"); // Array of strings
  5. const array3 = Array.from({ length: arraySize }, (_, i) => ({ value: i })); // Array of objects
  6. // --- Measurement functions ---
  7. function sumArray(arr) {
  8. let sum = 0;
  9. for (let i = 0; i < arr.length; i++) {
  10. sum += arr[i];
  11. }
  12. return sum;
  13. }
  14. function stringConcatenate(arr) {
  15. let result = "";
  16. for (let i = 0; i < arr.length; i++) {
  17. result += arr[i];
  18. }
  19. return result;
  20. }
  21. function objectPropertyAccess(arr) {
  22. let result = [];
  23. for (let i = 0; i < arr.length; i++) {
  24. result.push(arr[i].value);
  25. }
  26. return result;
  27. }
  28. // --- Performance measurement ---
  29. console.time(`Array Size: ${arraySize}, Number Array - Sum`);
  30. sumArray(array1);
  31. console.timeEnd(`Array Size: ${arraySize}, Number Array - Sum`);
  32. console.time(`Array Size: ${arraySize}, String Array - Concatenate`);
  33. stringConcatenate(array2);
  34. console.timeEnd(`Array Size: ${arraySize}, String Array - Concatenate`);
  35. console.time(`Array Size: ${arraySize}, Object Array - Property Access`);
  36. objectPropertyAccess(array3);
  37. console.timeEnd(`Array Size: ${arraySize}, Object Array - Property Access`);
  38. }
  39. // Example usage with hard-coded limits
  40. measureArrayPerformance(10000);
  41. measureArrayPerformance(100000);
  42. measureArrayPerformance(1000000);

Add your comment