Loose-Info.com
Last Update 2026/08/10
TOP - 各種テスト - LLM - ローカルLLMの実測値比較 - コーディング(設定用パラメータ比較) - North Mini Code 1.0

低スペック寄りのPCでローカルLLMを動作させた際の記録です。
LLM以外の仮想マシンなどが起動され、多少負荷がかかった状態で実行しています。
ベンチマークなどでLLMの性能を評価する内容ではありません。

検証用PC

OS

Debian GNU/Linux 12 (bookworm)

CPU

Intel(R) Core(TM) i5-14400F

GPU

GeForce RTX 3060 12GB

メモリ

DDR4 PC4-25600 32GB × 4

SSD

crucial P310 CT1000P310SSD8-JP


構築環境 : Docker + Ollama (特別な設定などは無い状態)

検証用プロンプト

``` ### 依頼内容 - コード生成 ### 指示 - C言語 - コード以外の出力は不要 - 中括弧スタイルはオールマン - テストコードも生成 - テストコードは別ファイル - 実行用ソースファイル名 : sample_code.c - テスト用ソースファイル名 : sample_test.c - 標準ヘッダ以外は使用しない - 戻り値はEXIT_SUCCESSを使用 - 関数はmain()の前で定義 ### コード仕様(sample_code.c) - コマンドラインから整数2つを取得 - [引数1]から[引数2]までをインクリメントして空白区切りで標準出力に出力 - 出力する文字列はmain()ではなく関数で生成 ### コード仕様(sample_test.c) - unity.hを使用しない ```

モデル詳細

Model architecture cohere2moe parameters 30.5B context length 500000 embedding length 2048 quantization Q4_K_M requires 0.30.10 Capabilities completion tools thinking Parameters temperature 1 top_p 0.95

North Mini Code 1.0 [実測結果一覧へ]

(1) temperature=---; top_p=---; top_k=--
(2) temperature=0.70; top_p=0.7; top_k=--
(3) temperature=0.50; top_p=0.7; top_k=--
(4) temperature=0.30; top_p=0.7; top_k=--
(5) temperature=0.15; top_p=---; top_k=--
(6) temperature=0.15; top_p=0.7; top_k=--
(7) temperature=0.15; top_p=0.5; top_k=--
(8) temperature=0.15; top_p=0.4; top_k=--
(9) temperature=0.15; top_p=0.7; top_k=32
(10) temperature=0.15; top_p=0.7; top_k=16
(11) temperature=0.10; top_p=0.7; top_k=--

(1) temperature=---; top_p=---; top_k=--

2026-07-30 total duration: 27m37.175898078s load duration: 10.394237158s prompt eval count: 204 token(s) prompt eval duration: 2.741055s prompt eval rate: 74.42 tokens/s eval count: 11553 token(s) eval duration: 27m24.03508s eval rate: 7.03 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルをオールマンで生成 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 start > end の場合はステップは-1 文字列長に応じたメモリの確保(エラー処理有) - reallocによりループで拡張 インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 不正引数のチェック(エラー処理有) 文字列生成関数の呼び出し 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を4種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 > 整数2 (3) 整数1 < 整数2 ただし、整数1が負数 (4) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 5 4 3 2 1 $ ./sample_test All 4 tests passed.

(2) temperature=0.70; top_p=0.7; top_k=--

2026-07-30 total duration: 17m42.484467265s load duration: 9.346509721s prompt eval count: 204 token(s) prompt eval duration: 2.644626s prompt eval rate: 77.14 tokens/s eval count: 8329 token(s) eval duration: 17m30.488283s eval rate: 7.93 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルをオールマンで生成 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 start > end の場合はステップは-1 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 不正引数のチェック(エラー処理有) 文字列生成関数の呼び出し 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 テスト対象関数の宣言 main()を伴うテストコード 文字列生成関数を5種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1が負数 (3) 整数1 == 整数2 ただし、整数1、整数2が共に2桁 (4) 整数1 > 整数2 (5) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_code.c sample_test.c /bin/ld: /tmp/ccKEi7Hi.o: in function `main': sample_test.c:(.text+0x1f0): multiple definition of `main'; /tmp/ccKxFT7g.o:sample_code.c:(.text+0x1fa): first defined here collect2: error: ld returned 1 exit status $ vi sample_code.c ← main()関数重複エラー解消のため条件付きコンパイル用の#ifndefマクロを追加 $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 6\n$ ./sample_code -3 3 -3 -2 -1 0\n$ ./sample_code 1 1 1 2\n$ ./sample_code 5 1 5 6\n$ ./sample_test All tests passed.\n$ vi sample_code.c ← 改行のエンコード、main()の「終了値」引数に関する修正 $ gcc -Wall -o sample_code sample_code.c $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 5 4 3 2 1 $ ./sample_test All tests passed.

(3) temperature=0.50; top_p=0.7; top_k=--

2026-07-30 total duration: 14m29.59752778s load duration: 9.888145039s prompt eval count: 204 token(s) prompt eval duration: 2.736242s prompt eval rate: 74.55 tokens/s eval count: 7176 token(s) eval duration: 14m16.967873s eval rate: 8.37 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルが関数のみオールマンスタイル ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 start > end の場合はNULL文字のみのメモリへのポインタを返す 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 > 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test $

(4) temperature=0.30; top_p=0.7; top_k=--

2026-07-30 total duration: 8m11.664953805s load duration: 10.379759041s prompt eval count: 204 token(s) prompt eval duration: 2.711471s prompt eval rate: 75.24 tokens/s eval count: 4894 token(s) eval duration: 7m58.566252s eval rate: 10.23 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルが関数のみオールマンスタイル ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 start > end の場合はNULL文字のみのメモリへのポインタを返す 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を4種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1、整数2が共に負数 (3) 整数1 == 整数2 (4) 整数1 > 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test All tests passed.

(5) temperature=0.15; top_p=---; top_k=--

2026-07-30 total duration: 4m1.044305559s load duration: 9.646997343s prompt eval count: 204 token(s) prompt eval duration: 2.754216s prompt eval rate: 74.07 tokens/s eval count: 2850 token(s) eval duration: 3m48.637901s eval rate: 12.47 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルをオールマンで生成 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列生成ではなく出力 ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 > 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 1: printing 3 to 7 3 4 5 6 7 Test 2: printing 5 to 5 5 Test 3: printing 10 to 8 (no output expected) All tests completed.

(6) temperature=0.15; top_p=0.7; top_k=--

2026-07-30 total duration: 25m40.15949361s load duration: 230.205527ms prompt eval count: 204 token(s) prompt eval duration: 166.94ms prompt eval rate: 1222.00 tokens/s eval count: 11145 token(s) eval duration: 25m39.696404s eval rate: 7.24 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルが関数のみオールマンスタイル ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列生成ではなく出力 ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1が負数 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 1: printing 1 to 3 1 2 3 Test 2: printing 5 to 5 5 Test 3: printing -2 to 0 -2 -1 0 All tests executed (manual verification recommended).

(7) temperature=0.15; top_p=0.5; top_k=--

2026-07-30 total duration: 10m6.385036986s load duration: 192.989084ms prompt eval count: 204 token(s) prompt eval duration: 167.04ms prompt eval rate: 1221.26 tokens/s eval count: 5705 token(s) eval duration: 10m5.910829s eval rate: 9.42 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルをオールマンで生成 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列生成ではなく出力 ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1が負数 (3) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Running tests... 1 2 3 4 5 -3 -2 -1 0 42 All tests completed.

(8) temperature=0.15; top_p=0.4; top_k=--

2026-07-30 total duration: 8m20.640558375s load duration: 9.86115824s prompt eval count: 204 token(s) prompt eval duration: 2.725924s prompt eval rate: 74.84 tokens/s eval count: 4922 token(s) eval duration: 8m8.048347s eval rate: 10.09 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルが関数のみオールマンスタイル ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す start > end の場合はNULL文字のみのメモリへのポインタが戻り値となる ・文字列出力関数 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・main() 引数個数のチェック(エラー処理有) 不正引数のチェック(エラー処理有) 文字列出力関数の呼び出し ・テストコードを別途生成 テスト対象関数の宣言 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1が負数 (3) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_code.c sample_test.c /bin/ld: /tmp/ccNVPxxB.o: in function `main': sample_test.c:(.text+0x0): multiple definition of `main'; /tmp/cchcQNDN.o:sample_code.c:(.text+0x1ed): first defined here collect2: error: ld returned 1 exit status $ vi sample_code.c ← main()関数重複エラー解消のため条件付きコンパイル用の#ifndefマクロを追加 $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test All tests passed

(9) temperature=0.15; top_p=0.7; top_k=32

2026-07-30 total duration: 4m5.609886067s load duration: 9.867725901s prompt eval count: 204 token(s) prompt eval duration: 2.737178s prompt eval rate: 74.53 tokens/s eval count: 2785 token(s) eval duration: 3m52.999028s eval rate: 11.95 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 不正引数のチェック(エラー処理有) 文字列生成関数の呼び出し 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 テスト対象関数の宣言 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1が負数 (3) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_code.c sample_test.c /bin/ld: /tmp/cc3TfxJC.o: in function `main': sample_test.c:(.text+0x12e): multiple definition of `main'; /tmp/ccgS4tPc.o:sample_code.c:(.text+0x0): first defined here collect2: error: ld returned 1 exit status $ vi sample_code.c ← main()関数重複エラー解消のため条件付きコンパイル用の#ifndefマクロを追加 $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 malloc: Cannot allocate memory $ ./sample_test All tests passed.

(10) temperature=0.15; top_p=0.7; top_k=16

2026-07-30 total duration: 24m58.464585492s load duration: 223.725518ms prompt eval count: 204 token(s) prompt eval duration: 167.051ms prompt eval rate: 1221.18 tokens/s eval count: 10491 token(s) eval duration: 24m58.008753s eval rate: 7.00 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルをオールマンで生成 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 start > end の場合はNULL文字のみのメモリへのポインタを返す 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を5種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1が負数 (3) 整数1 > 整数2 (4) 整数1 == 整数2 ただし、整数1、整数2が共に0 (5) 整数1 == 整数2 ただし、整数1、整数2が共に負数 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test All tests passed

(11) temperature=0.10; top_p=0.7; top_k=--

2026-07-30 total duration: 19m34.378407557s load duration: 9.880286962s prompt eval count: 204 token(s) prompt eval duration: 2.726478s prompt eval rate: 74.82 tokens/s eval count: 8966 token(s) eval duration: 19m21.766276s eval rate: 7.72 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルが関数のみオールマンスタイル ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列生成ではなく出力 ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し ・テストコードを別途生成 main()を伴うテストコード popen()を使用し外部コマンドとしてsample_codeを実行し出力結果を取得 文字列生成関数を2種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1が負数 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test All tests passed.