ladybird/Tests/AK
Tim Ledbetter 2a1fc96650 AK: Avoid unnecessary String allocations for URL username and password
Previously, `URLParser` was constructing a new String for every
character of the URL's username and password. This change improves
performance by eliminating those unnecessary String allocations.

A URL with a 100,000 character password can now be parsed in ~30ms vs
~8 seconds previously on my machine.
2023-11-06 09:19:12 +01:00
..
CMakeLists.txt AK: Implement slugify function for URL slug generation 2023-10-30 10:39:59 +00:00
TestAllOf.cpp AK+Everywhere: Stop including Vector.h from StringView.h 2021-11-10 21:58:58 +01:00
TestAnyOf.cpp AK+Everywhere: Stop including Vector.h from StringView.h 2021-11-10 21:58:58 +01:00
TestArbitrarySizedEnum.cpp AK: Add an ArbitrarySizedEnum template 2022-03-27 18:54:56 +02:00
TestArray.cpp AK: Add Array::contains_slow() and ::first_index_of(), with tests :^) 2023-04-21 20:44:47 +01:00
TestAtomic.cpp Tests: Move AK tests to Tests/AK 2021-05-06 17:54:28 +02:00
TestBadge.cpp Tests: Move AK tests to Tests/AK 2021-05-06 17:54:28 +02:00
TestBase64.cpp Tests: Prefer TRY_OR_FAIL() and MUST() over EXPECT(!.is_error()) 2023-05-14 15:39:38 -06:00
TestBinaryHeap.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TestBinarySearch.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TestBitCast.cpp Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
TestBitmap.cpp AK: Fix one-off error in BitmapView::find_first and find_one_anywhere 2023-10-11 15:58:16 +02:00
TestBitStream.cpp AK: Increase LittleEndianOutputBitStream's buffer size and remove loops 2023-04-02 10:54:37 +02:00
TestBuiltinWrappers.cpp AK: Add count_required_bits 2023-05-17 09:08:53 +02:00
TestByteBuffer.cpp AK: Allow Vector<ByteBuffer>::contains_slow to accept (Readonly)Bytes 2023-02-10 22:18:19 +00:00
TestCharacterTypes.cpp Tests: Reduce runtime of TestCharacterTypes 2021-06-24 09:16:28 +02:00
TestChecked.cpp Tests: Add tests for Checked<> decrement operator 2022-12-08 07:20:14 -05:00
TestCircularBuffer.cpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
TestCircularDeque.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
TestCircularQueue.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TestComplex.cpp Tests: Move AK tests to Tests/AK 2021-05-06 17:54:28 +02:00
TestDeprecatedString.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
TestDisjointChunks.cpp AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
TestDistinctNumeric.cpp AK: Fix typo in -= operator of DistinctNumeric 2023-01-06 12:01:46 +01:00
TestDoublyLinkedList.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TestDuration.cpp Tests: Fix TestDuration build with 32-bit time_t 2023-09-06 07:21:07 -06:00
TestEndian.cpp AK: Add tests for LittleEndian<enum class> 2022-12-28 22:27:19 -05:00
TestEnumBits.cpp AK/Tests: Add test for EnumBits has_any_flag() 2021-07-16 11:49:50 +02:00
TestFind.cpp Tests: Remove unused header includes 2021-08-01 08:10:16 +02:00
TestFixedArray.cpp AK+Tests: Don't double-destroy NoAllocationGuard in TestFixedArray 2022-09-15 23:04:46 +00:00
TestFixedPoint.cpp AK: Add binary and octal mode formatting for FixedPoint 2023-08-29 11:10:45 +02:00
TestFloatingPoint.cpp AK: Add FloatingPoint.h 2022-08-27 12:28:05 +02:00
TestFloatingPointParsing.cpp AK: Add benchmarks for floating point parsing 2023-04-30 06:05:54 +02:00
TestFlyString.cpp AK: Make "foo"_fly_string infallible 2023-08-07 16:03:27 +02:00
TestFormat.cpp AK+LibPDF: Make Format print floats in a roundtrip-safe way by default 2023-10-31 09:12:35 +03:30
TestFuzzyMatch.cpp Tests/AK: Add FuzzyMatch tests 2023-10-06 22:09:18 +02:00
TestGenericLexer.cpp AK: Add GenericLexer::{consume_decimal_integer,peek_string} 2023-11-04 18:06:30 +01:00
TestHashFunctions.cpp AK: Implement SipHash as the default hash algorithm for most use cases 2023-10-01 11:06:36 +03:30
TestHashMap.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
TestHashTable.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
TestHex.cpp Tests: Move AK tests to Tests/AK 2021-05-06 17:54:28 +02:00
TestIndexSequence.cpp AK+Everywhere: Stop including Vector.h from StringView.h 2021-11-10 21:58:58 +01:00
TestInsertionSort.cpp AK: Introduce cutoff to insertion sort for Quicksort 2022-12-12 15:03:57 +00:00
TestIntegerMath.cpp AK: Use correct type when calculating integral exp2() 2023-10-27 21:59:44 -04:00
TestIntrusiveList.cpp AK: Fix crash during teardown of self-owning objects 2023-04-21 18:15:00 +02:00
TestIntrusiveRedBlackTree.cpp Everywhere: Remove NonnullOwnPtr.h includes 2023-03-06 23:46:35 +01:00
TestIPv4Address.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
TestIPv6Address.cpp AK: Migrate IPv6Address::to_deprecated_string() to ::to_string() 2023-06-09 19:38:14 +01:00
TestJSON.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
TestLEB128.cpp AK: Remove the fallible constructor from FixedMemoryStream 2023-02-08 17:44:32 +00:00
TestLexicalPath.cpp AK: Create relative path even if prefix is not an ancestor of the path 2022-12-14 15:11:03 +00:00
TestMACAddress.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
TestMemory.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TestMemoryStream.cpp AK: Add FixedMemoryStream methods for reading values "in place" 2023-10-10 14:36:25 +02:00
TestNeverDestroyed.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TestNonnullOwnPtr.cpp AK: Make Formatter for NonnullOwnPtr<T> format the T 2023-08-25 20:10:47 +02:00
TestNonnullRefPtr.cpp AK: Fix crash during teardown of self-owning objects 2023-04-21 18:15:00 +02:00
TestNumberFormat.cpp AK+Tests: Add a test for formatting numbers in base 10 units 2023-01-02 20:11:18 +00:00
TestOptional.cpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
TestOwnPtr.cpp AK: Fix crash during teardown of self-owning objects 2023-04-21 18:15:00 +02:00
TestPrint.cpp AK: Allow printing wide characters using %ls modifier 2022-03-30 11:30:43 +04:30
TestQueue.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TestQuickSelect.cpp AK: Testing for AK::quickselect_inline 2023-02-03 19:04:15 +01:00
TestQuickSort.cpp Tests: Use AK_MAKE_DEFAULT_MOVABLE to avoid mistakes in default impls 2023-06-18 08:47:51 +01:00
TestRedBlackTree.cpp AK: Clear minimum when removing last node of RedBlackTree 2022-02-10 14:09:39 +00:00
TestRefPtr.cpp Everywhere: Make Lagom build with GCC 13 2023-05-02 07:03:57 -04:00
TestSIMD.cpp Tests: Fix building TestSIMD on non-SSE ABIs 2023-09-06 07:21:07 -06:00
TestSinglyLinkedList.cpp AK: Combine SinglyLinkedList and SinglyLinkedListWithCount 2023-01-02 20:13:24 +00:00
TestSlugify.cpp AK: Implement slugify function for URL slug generation 2023-10-30 10:39:59 +00:00
TestSourceGenerator.cpp AK: Make SourceGenerator::fork() infallible 2023-08-22 13:08:24 +02:00
TestSourceLocation.cpp Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
TestSpan.cpp Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
TestStack.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TestStatistics.cpp AK: Add thresholds to quickselect_inline and Statistics::Median 2023-02-03 19:04:15 +01:00
TestStdLibExtras.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
TestString.cpp AK: Remove the API to explicitly construct short strings 2023-08-08 07:37:21 +02:00
TestStringFloatingPointConversions.cpp AK: Add framework for a unified floating point to string conversion 2022-11-03 20:17:09 -06:00
TestStringUtils.cpp AK: Pass correct length to StringUtils::convert_to_floating_point() 2023-10-22 00:22:29 +02:00
TestStringView.cpp AK: Rename CaseInsensitiveStringViewTraits to reflect intent 2023-03-14 21:34:32 +00:00
TestTrie.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TestTuple.cpp Tests: Use AK_MAKE_DEFAULT_MOVABLE to avoid mistakes in default impls 2023-06-18 08:47:51 +01:00
TestTypedTransfer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TestTypeTraits.cpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
TestUFixedBigInt.cpp AK: Add support for Little/BigEndian<UFixedBigInteger<M>> 2023-08-21 13:39:32 +03:30
TestURL.cpp AK: Avoid unnecessary String allocations for URL username and password 2023-11-06 09:19:12 +01:00
TestUtf8.cpp AK: Invalidate overlong UTF-8 code point encodings 2023-03-03 11:46:42 -05:00
TestUtf16.cpp AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
TestVariant.cpp AK: Allow testing Empty instances for equality 2023-07-28 20:47:48 +03:30
TestVector.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
TestWeakPtr.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00