[personal profile] ticklish_frog
Поскольку у меня вот уже много лет крутится домашний сервер на Raspberry Pi 400 со всякими нужными, но мелкими вещами, я решил запустить на нем локальный LLM.

С точки зрения ресурсов, последний QWEN 3.5 с 2B параметрами запускается через llama.cpp превосходно из ящика в 4-битовой квантизации, в рабочем состоянии использует около 2 ГБ памяти (это и внутренние параметры, и 8-битовый KV-кэш, и история, ну и сама оболочка).

С точки зрения использования, позапрошлая модель QWEN меня уверяла разными историческими доводами, что Мадрид - столица Франции, так что я решил пробовать более технические вопросы, а именно, написать код на С, реверсирующий односвязанный список.

Процесс думания прошел отлично, когда дошли собственно до кода, то:

#include <stdio.h>

typedef
struct Node {
int data;
struct Node* next;
} Node;

Хорошо, конечно, но пока stdio не особо нужен.

Потом оно сгенерировало кучу функций "создать ноду", "добавить ноду в начало списка", "добавить ноду в конец списка", "напечатать список", ну и

// Reverse the linked list
void reverseList(Node* head) {
Node* prev =
NULL;
Node* current = head;
while (current != NULL) {
Node* temp = current;
// Store current pointer
current->next = prev; // Point current to previous
prev = current; // Move prev to current
current = temp->next; // Move temp to next
}
head = prev;
// Update head to the new first node
}


потом показало мне, как ситуация до и после на небольшом конкретном списке и пояснило сложность - ну в точности, как соискатель заученно следует по всем пунктам интервью.

Потом оно предложило переписать как

void reverseListIterative(Node* head) {
Node* prev =
NULL;
Node* current = head;
Node* nextNode =
NULL;
while (current != NULL) {
nextNode = current->next;
current->next = prev;
prev = current;
current = nextNode;
}
head = prev;
}




ну а напоследок начало заниматься улучшайзингом:

void reverseList(Node* head) {
Node* prev =
NULL;
Node* current = head;
Node* nextNode = NULL;
while (current != NULL) {
nextNode = current->next;
current->next =
NULL;
prev = current;
current = nextNode;
}
head = prev;
}


Спасибо, что хотя бы начало отдали обратно!
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

ticklish_frog

March 2026

S M T W T F S
1234567
89101112 1314
15161718192021
22232425262728
293031    

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 16th, 2026 03:01 am
Powered by Dreamwidth Studios